Skip to content

Releases: pulumi/pulumi-docker

v4.2.2

22 May 20:51
5517f9c
Compare
Choose a tag to compare

Changelog

v4.2.1

18 May 22:34
1b3d7c3
Compare
Choose a tag to compare

Changelog

  • 1b3d7c3 Fix accept secrets=false to configure provider with nested secrets (#641)
  • 4c64c91 Fix not using the ConnectionHelper Host for SSH connections (#637)
  • 80e3af9 Update GitHub Actions workflows. (#621)
  • 9aebf8e Update README.md (#616)
  • 6272532 Upgrade pulumi-terraform-bridge to v3.47.2 (#636)

v4.2.0

25 Apr 17:24
1079638
Compare
Choose a tag to compare

Changelog

  • bd645eb Bump golang.org/x/net in /examples/digitalocean-container-registry/go (#584)
  • aa9a4c3 Bump golang.org/x/net in /examples/docker-container-registry/go (#583)
  • 9e32234 Bump golang.org/x/net in /examples/gcp-container-registry/go (#585)
  • 0a63aa0 Do not skip ignored folders in hash function (#595)
  • 1966f08 Image: Unwrap Secrets at RPC function level (#589)
  • 1079638 Improve docs and enable reliable multi-stage caching (#601)
  • 8490413 Refactor context hash to avoid computing relative Dockerfile path (#596)

v4.1.2

04 Apr 20:24
e6c6872
Compare
Choose a tag to compare

Changelog

  • e6c6872 Support additional .dockerignore formats (#579)
  • b2e386a fix: return reasonable errors for cache marshaling and allow for unknowns to pass through (#577)

v4.1.1

30 Mar 21:55
b038b1a
Compare
Choose a tag to compare

Changelog

  • 8ff68a2 Read docker host from config (#574)
  • 1ade8ae Refactor client to accept TLS connections (#570)
  • b038b1a Skip unknowns in Check to avoid panic when marshalling Build object (#575)

v4.1.0

23 Mar 19:35
238e4f4
Compare
Choose a tag to compare

Changelog

Breaking Changes:

  • Resource docker:index/registryImage:RegistryImage missing input build
  • Resource docker:index/registryImage:RegistryImage missing output build
  • Resource docker:index/remoteImage:RemoteImage missing input pullTrigger
  • Resource docker:index/remoteImage:RemoteImage missing output pullTrigger
  • Resource docker:index/remoteImage:RemoteImage missing output latest
  • Resource docker:index/remoteImage:RemoteImage missing output output
  • Resource docker:index/container:Container missing input networkAliases
  • Resource docker:index/container:Container missing input links
  • Resource docker:index/container:Container missing input networks
  • Resource docker:index/container:Container missing output networks
  • Resource docker:index/container:Container missing output ipPrefixLength
  • Resource docker:index/container:Container missing output networkAliases
  • Resource docker:index/container:Container missing output gateway
  • Resource docker:index/container:Container missing output links
  • Resource docker:index/container:Container missing output ipAddress
  • Type docker:index/RegistryImageBuildUlimit:RegistryImageBuildUlimit missing
  • Type docker:index/RegistryImageBuildAuthConfig:RegistryImageBuildAuthConfig missing
  • Type docker:index/RemoteImageBuild:RemoteImageBuild missing property path
  • Type docker:index/RegistryImageBuild:RegistryImageBuild missing
  • Type docker:index/ServiceTaskSpec:ServiceTaskSpec missing property networks

v4.0.1

20 Mar 22:06
fde2cb9
Compare
Choose a tag to compare

Breaking Changes

If a user provides a Dockerfile, the path specified must be absolute, or relative to the Pulumi context, not the Docker build context.
The dockerfile field remains optional, and if left blank, we assume traditional location of Dockerfile within the Docker build context.
Read specific details on the pull request

Changelog

  • 993e8a3 Add Dockerfile to build context if passed from outside the build context (#542)
  • d4c24c6 Add token mapping strategy
  • c6847aa Always assume Linux for host OS (#543)
  • 930d965 Docs target should not depend on provider target (#546)
  • aff750b Makefile: fix checks failing due to upstream uninit
  • 2bc208c Makefile: generate docs using latest provider schema
  • 1e0e8ac Restore Image.repoDigest output (#530)
  • 0b1df21 add token mapping
  • 75281ca add token mapping
  • fde2cb9 check for images property if cacheFrom is present (#555)
  • 1c5a64d examples: Add multi stage build caching test
  • 91b79ab image: Fix Windows usage of Image resource
  • e8d2547 image: Fix context hash of symlinks in subdirs
  • 0829eef image: Fix failing to pull from other registries
  • f396f03 image: Fix multi-stage build caching
  • 783a801 image: add tests, ensure path hashes are os-agnostic
  • 84618d7 image: fix outputs defined as optional (#552)
  • 0b2969f provider: Fix conn issues on Windows
  • 1d5ddc2 provider: fork upstream, patch to docker v23.0.1
  • 86b7486 upgrade to tfbridge v3.42.1 & fix lint (#525)

v4.0.0

08 Mar 19:44
9da6e61
Compare
Choose a tag to compare

What's Changed

The Docker Image resource is now a full Pulumi Custom Resource.
It uses the docker-go client library instead of invoking the Docker CLI.

As a result there are updates to the behavior of the Image resource and supporting types, as well as some minor name changes.

docker.Image: New Features and Bug Fixes

  • Support for Java and YAML
  • Default support for Buildkit
  • Build and push logs are streamed to the Pulumi build output
  • Images no longer are built during preview, reducing preview time significantly
  • Image will not be rebuilt if build context has not changed
  • Image has access to local cache layers, improving build time
  • Improved error handling for build failures
  • Working examples for major cloud registries

Migrating to v4

Because the Image resource does not contain any backend state, migrating to this version does not need any resource imports or stack updates. For most use cases, it should be as straightforward as updating your pulumi-docker version and adjusting your code to reflect the updated types.

UPDATE via #563

Because the new Image resource represents a change in how it is associated with a provider, a one-time manual stack update using pulumi state delete may be required.

The steps are as follows:

  1. pulumi stack --show-urns
  2. pulumi state delete <any Image URN> <--- this is safe to do, as Images have no cloud state
  3. upgrade to 4.x.x
  4. pulumi up

This version of the provider defaults to building images with Buildkit. If you would like to keep the classic Docker builder, set new field Build.BuilderVersion to BuilderV1 to continue using the classic Docker builder.

Inputs

  • LocalImageName: Deprecated. Use ImageName in conjunction with SkipPush:true.
  • Build: Updated. No longer a required input; defaults to using current directory as build context. No longer accepts a string for a custom build context. Use Build.Context instead.
    • Build.Platform: New. Specify a target platform for the image build. Note that this field supports a single value currently, not a list of target platforms.
    • Build.CacheFrom: Updated. No longer accepts a boolean. Specify images in Build.CacheFrom.Images. To fully leverage using a registry cache, images must be built with a cache manifest by passing "BUILDKIT_INLINE_CACHE": "1" to `Build.Args
      },
      • Build.CacheFrom.Images: New. Replaces Build.CacheFrom.Stages. Defines a list of images to use as build cache.
      • Build.CacheFrom.Stages: Deprecated. Replaced by Build.CacheFrom.Images.
      • Build.BuilderVersion: New. Defaults to BuilderBuildKit. Set to BuilderV1 to continue using the classic Docker builder.
  • ExtraOptions: Deprecated. This was a way to pass arbitrary CLI flags to the Docker CLI.
    These are being implemented as top-level fields; currently available are:
    • Build.Platform
    • Build.Target
    • Build.CacheFrom
  • Env: Deprecated. This field’s use case was mainly for passing DOCKER_BUILDKIT=1 to the CLI invocation of docker build. Use Build.BuilderVersion instead. You do not need to specify Build.BuilderVersion if you are running in Buildkit mode, which is the default.
  • ImageName: Updated. Must be of fully qualified repository format, i.e. registry.domain.abc/repositoryname/image. The tag will be inferred as :latest unless otherwise specified. Docker.io will no longer be automatically inferred.

Outputs

  • Id: Deprecated. Use ImageName for a unique identifier.
  • Digest: Deprecated as of an older version of pulumi-docker v3; this version removes it entirely.

Language specific type name changes

C Sharp
Docker.ImageRegistry → Docker.Inputs.RegistryArgs
Docker.DockerBuild → Docker.Inputs.DockerBuildArgs

Go
docker.ImageRegistry → docker.Registry

Python
DockerBuild → DockerBuildArgs
ImageRegistry → RegistryArgs

Changelog

New Contributors

Full Changelog: v3.6.1...v4.0.0

v4.0.0-alpha.4

07 Mar 22:06
1bd61e4
Compare
Choose a tag to compare
v4.0.0-alpha.4 Pre-release
Pre-release

What's Changed

Full Changelog: v4.0.0-alpha.3...v4.0.0-alpha.4

v4.0.0-alpha.3

09 Feb 01:22
e5f913e
Compare
Choose a tag to compare
v4.0.0-alpha.3 Pre-release
Pre-release

What's Changed

New Contributors

  • @aq17 made their first contribution in #476

Full Changelog: v4.0.0-alpha.2...v4.0.0-alpha.3