Skip to content

Releases: argoproj-labs/argocd-image-updater

v0.13.0

15 May 15:19
Compare
Choose a tag to compare

What's Changed

  • chore: Correctly upload release assets by @jannfis in #403
  • docs: Add security policy by @jannfis in #408
  • chore: Fix mkdocs requirements by @jannfis in #409
  • feat: Rename confusing update strategies by @jaideepr97 in #456
  • docs: Fix the wrong flag for the argocd-image-updater by @LinuxSuRen in #448
  • fix: Doc error --docker-server by @hawkesn in #442
  • chore: update golangci-lint version in CI by @jaideepr97 in #457
  • Fix: update application config sample & replace the deprecated ioutil pkg by @CaiYueTing in #492
  • fix: Remove erroneous binary by @jannfis in #498
  • docs: Added warning about existing tag in semver by @kostis-codefresh in #471
  • docs: Fix dead links by @claudex in #434
  • build: preview docs locally by @kostis-codefresh in #470
  • fix: add ca-certificates to the docker image by @aborilov in #497
  • docs: Add missing word by @sondrelg in #472
  • chore: Add words to dictionary by @jannfis in #499
  • chore: Fix building readthedocs by @jannfis in #509
  • chore: Upgrade Go version to 1.18 and update dependencies by @jannfis in #523
  • fix: Also request OCI media type image index by @jannfis in #524
  • docs(readme): add link for proposal to integrate with argo-cd by @morey-tech in #520
  • bump go version to 1.20 by @deferraz in #564
  • ensure deterministic results for SortBySemVer() by @krancour in #559
  • docs(registries): add env example by @vsychov in #555
  • chore(deps): bump golang.org/x/crypto from 0.0.0-20211215153901-e495a2d5b3d3 to 0.1.0 by @dependabot in #539
  • Name strategy regexp in example need to be correctd by @iamraj007 in #534
  • bump golang.org/x/net from 0.4.0 to 0.7.0 by @dependabot in #535
  • chore(deps): bump github.com/emicklei/go-restful from 2.9.5+incompatible to 2.16.0+incompatible by @dependabot in #532
  • Examples for semver and digest update strategy by @dmouse in #507
  • Fix: kustomize write target starts failing after indeterminate period at time by @dmavis in #583
  • Fix: git zombie processes left behind after periodic image updater runs by @dmavis in #584
  • Documentation Error: Incorrect Usage of <image_name> in Annotations by @geekloper in #581
  • chore: Fix spell checking config by @suzaku in #577
  • docs: Fixed typo by @yukinakanaka in #589
  • chore: Preallocate space for slices with known size by @suzaku in #575
  • ci: Fix codegen and update kustomize to post-2.0 by @jannfis in #590
  • feat: Respect original parameter overrides with git write-back by @ks-yim in #573
  • chore: Update to newer argocd version for better API compatibility by @jessebye in #594
  • Upgrade dependencies for fix vulnerabilities by @vsychov in #599
  • fix: tighten securityContext to comply with restricted PSS by @tsawada in #600
  • feat: Add possibility to specify write-back GIT repository as annotation by @flozzone in #424
  • fix: Add support for ocischema.DeserializedImageIndex manifest type by @jessebye in #618
  • chore(deps): Upgrade the version of semver package from v1 to v3 by @umi0410 in #625
  • feat: multisource support by @askhari in #636
  • chore(deps): bump github.com/go-jose/go-jose/v3 from 3.0.0 to 3.0.1 by @dependabot in #648
  • chore(deps): bump golang.org/x/net from 0.12.0 to 0.17.0 by @dependabot in #629
  • feat: add support for separate GitHub app credentials by @dlactin in #649
  • Fix: golangci lint by @0luwaj0x1 in #707
  • Docs: fix redirection path by @Fluder-Paradyne in #708
  • fix dockerfile to pass builds by @aburan28 in #700
  • fix: typo by @testwill in #624

New Contributors

Full Changelog: v0.12.2...v0.13.0

v0.12.2

21 Jan 18:34
1aa317c
Compare
Choose a tag to compare

Release description

Minor bug fix release for the 0.12 release branch to support additional OCI media type in registries and updates Golang and some dependencies.

Upgrade notes (no really, you MUST read this)

N/A

Bug fixes

  • fix: Also request OCI media type image index (#524)

New features

N/A

Other changes

  • chore: Upgrade Go version to 1.18 and update dependencies (#523)

v0.12.1

06 Dec 23:50
16cff2e
Compare
Choose a tag to compare

Release description

Minor bug fix release for the 0.12 release branch, which missing ca-certs in docker image

Upgrade notes (no really, you MUST read this)

N/A

Bug fixes

  • add ca-certificates to the docker image (#497)

New features

N/A

Other changes

  • chore: update golangci-lint version in CI (#457)
  • fix: update application config sample & replace the deprecated ioutil pkg (#492)

v0.12.0

14 Mar 13:20
aee153d
Compare
Choose a tag to compare

Release description

The version v0.12.0 is a feature release, bringing some new features as well as bug fixes to Argo CD Image Updater. This release also has potentially breaking changes, please read the upgrade notes below.

We are very sorry for the delay with this release! Behind the scenes. we also worked on improving the documentation and gave it some refactoring. We hope you like it!

Major new features

  • Multi-arch deliverables are finally here! We now provide container images for linux/amd64 and linux/arm64, as well as release binaries for linux/amd64, linux/arm64, linux/ppc64le, darwin/amd64, darwin/arm64 as well as windows/amd64!

  • Multi-arch support for container images: Argo CD Image Updater now also considers the architecture of container images and provides full support for multi-arch images by being able to inspect manifest lists. By default, when using an update strategy that supports meta data inspection (latest and digest), Argo CD Image Updater will now only consider manifests for the same architecture it is running on. This can be fine tuned on a per image basis, so if you have clusters with nodes spanning multiple architectures (e.g. mix of amd64 and arm64 nodes), and you know that certain workloads are bound to run on a given architecture, you can use the new <alias>.platforms annotation to allow only updates to images that match a certain architecture.

  • Less configuration need for registries: Argo CD Image Updater now requires even less configuration, even if used with custom registries, and supports more registries out of the box. Argo CD Image Updater will infer the registry API to use from an image's registry prefix. Now custom registries need only be configured in special cases, e.g. when the registry uses a self-signed certificate or when you want to configure global credentials, or fine tune other access parameters such as rate limiting.

Other notable enhancements and fixes

  • Improved support for the digest update strategy: For multi-arch images, the digest update strategy will set the image SHA to the SHA of the manifest list, so the node can pick the right architecture to deploy. Also, Argo CD Image Updater will now perform less requests to the registry when using the digest update strategy, resulting in happier rate limiters.

  • Improved documentation: We heard the community that our docs are complicated and hard to understand or follow. There has been a major refactoring of the docs to provide a better user experience, and we'll continuously work to improve them going forward.

  • Support for HTTP proxies: When accessing container registries, Argo CD Image Updater now honors the HTTP proxy configuration from the environment (i.e. http_proxy, https_proxy and no_proxy variables) and performs any HTTP requests through the configured proxies.

  • Application selection using labels: Now you can restrict Argo CD Image Updater to not only match on the names of applications, but also using a label matcher.

Thank you

The Argo Project would like to thank the following people for their awesome contributions that made this release possible:

@agorgl
@atarax
@derdanne
@iamnoah
@jaideepr97
@jannfis
@janpieper
@janpieper-gcx
@joebowbeer
@joyrex2001
@katainaka0503
@manivannan-g
@martin-marko
@nick-homex
@NickLarsenNZ
@pacoguzman
@patrykwozinski
@zimbres
@zoonoo

And also thanks to everyone who took the time to open and discuss issues.

Upgrade notes (no really, you MUST read this)

This release has a few potentially breaking changes. Please review the below descriptions

  • Configuration details for the default registry have changed:

    If you had previously configured a custom default registry (e.g. by setting prefix to the empty string in the registries configuration), it will not be assumed the default registry automatically anymore. You need to explicitly set the configuration property default to true in order for Argo CD Image Updater to pick this registry as the default one. Also, you should set the prefix property from the empty string to the true prefix of the registry.

  • Registry configuration property tagsortmode has been deprecated:

    The tagsortmode configuration has been more confusing than helpful in the past, and is a relict from old times when Argo CD Image Updater wasn't able to inspect an image's meta data properly. This setting has now been deprecated and should not be used anymore. A warning will be printed when this is set for a registry, and the setting will be removed completely in a future version of Argo CD Image Updater.

  • Tagging of images using the digest update strategy has changed slightly: Argo CD Image Updater now uses a tag in the format <tagname>@sha256:<sha_of_digest> when setting image tag parameters. Previously, it had a slightly different format that often required workarounds when being used with Helm. If you are using such a workaround when rendering image specification in Helm, you should revisit your template and adapt it to the new format.

  • test command uses host platform by default: If you are running the argocd-image-updater test command from a system which is based on a different platform than your cluster, you will have to specify the cluster's platform using the --platforms option, otherwise results may not be the same as on the cluster.

Bug fixes

  • fix: hardcode buildDate so it can be updated by ld at build time (#366) (#367)
  • fix: Use existing registry requests failed metric (#362)
  • fix: Use endpoint's transport also for token handler (#349)
  • fix: Fetch metadata for multi-arch images with latest strategy (#342)
  • fix: Fix docker environment variable (#340)
  • fix: Do not retrieve metadata for all tags with digest strategy (#337)
  • fix: Request correct mediatype for v1 manifests (#333)
  • fix: Fix registry authentication when URL has slash suffix (#331)
  • fix: assume kustomize application type if write back target is configured (#309)
  • fix: Invalid image reference format when using digest strategy with helm charts (#317)
  • fix: Rename flag to specify registries config path (#290) (#295)
  • fix: Allow use of in-cluster kube-client for test-command (#288) (#293)
  • fix: typo in warning message (#291)
  • fix: Use correct registry URL for parsing pull secrets (#285)

New features

  • feat: Support multiple platforms for test command (#396)
  • feat: Add configMap to allow define parameters for SSH client (#373)
  • feat: Support app-wide update-strategy annotations (#338)
  • feat: Automatic inferring of registry from image prefix (#369)
  • feat: support filtering apps by label in CLI (#368)
  • feat: Improve visibility for skipped apps (#344)
  • feat: Support manifestlist and multi-arch images (#341)
  • feat: use HTTP_PROXY in transport object for registry endpoint if defined in environment (#300)
  • feat: add ability to specify a different write and base branch (#304)
  • feat: Enable auth plugins for Kubernetes client (#307)

Other changes

  • chore: Log warning in test command on unsupported container platform #397
  • chore: Bump docker distribution v2 (#395)
  • chore: Bump Kubernetes dependencies to version 1.22.4 (#394)
  • chore: Bump docker distribution (#393)
  • docs: Add digest update strategy (#389)
  • docs: Expect some more things in spelling (#385)
  • chore(deps): bump github.com/argoproj/argo-cd/v2 from 2.2.2 to 2.2.4 (#379)
  • refactor(WBC): Target field in the WriteBackConfig (#380)
  • test: Add e2e test for multiple images (#383)
  • Checkout after creating a new branch (#384)
  • fix(manifests): set deployment strategy to recreate to prevent concurrent replicas (#364)
  • chore: Log out warning about tagsortmode (#363)
  • chore: Add initial e2e test infrastructure (#358)
  • refactor: Refactor logging to provide more context information (#357)
  • docs: Fix inconsistency in the documentation on git write-back credentials (#356)
  • chore(deps): Update Argo CD dependencies to 2.2.2 (#351)
  • chore: Upgrade golang to 1.16.13 (#350)
  • chore(deps): bump mkdocs from 1.1.2 to 1.2.3 in /docs (#347)
  • chore: Create codeql-analysis.yml (#348)
  • refactor: rename VersionSortMode to UpdateStrategy (#343)
  • chore: Multi-arch distribution (#339)
  • chore: Move container images to quay.io (#336)
  • chore: Small fix to the release script (#334)
  • docs: The docs for update-strategies were missing one word (#332)
  • docs: Fixed ConfigMap name (#325)
  • docs: Fixed typo (#324)
  • docs: Update quoted true, false in configmap (#298)

v0.11.3

14 Jan 12:37
f62b7d7
Compare
Choose a tag to compare

Release description

Minor bug fix release for the 0.11 release branch, which fixes a small bug with TLS when fetching registry auth tokens.

Upgrade notes (no really, you MUST read this)

N/A

Bug fixes

  • fix: Use endpoint's transport also for token handler (#349)

New features

N/A

Other changes

  • chore: Upgrade golang to 1.16.13 (#350)

v0.11.2

10 Jan 18:14
aa04620
Compare
Choose a tag to compare

Release description

Minor bug fix release for the 0.11 release branch, which fixes an annoyance with the digest update strategy and updates the base images used in the distribution container image.

Upgrade notes (no really, you MUST read this)

N/A

Bug fixes

  • fix: Do not retrieve metadata for all tags with digest strategy (#337)

New features

N/A

Other changes

  • chore: Always pull base images when building release image
  • chore: Small fix to the release script (#334)

v0.11.1

07 Jan 11:52
1622814
Compare
Choose a tag to compare

Release description

Bug fix release for the 0.11 release branch, which fixes an authentication bug and issues with JFrog Artifactory registries.

Upgrade notes (no really, you MUST read this)

N/A

Bug fixes

  • fix: Fix registry authentication when URL has slash suffix (#331)
  • fix: Request correct mediatype for v1 manifests (#333)

New features

N/A

Other changes

N/A

v0.11.0

27 Oct 20:29
1ca634e
Compare
Choose a tag to compare

Release description

The version v0.11.0 is a minor feature release, bringing some new features as well as bug fixes to Argo CD Image Updater.

Major new features

  • Support for OCI images and registries! We have replaced the pretty old docker-registry-client by Docker's more modern distribution/v3 API.
  • Update to latest Argo CD v2.1.5 dependencies. This allows Image Updater to leverage new Argo CD Git credentials using Secrets. Also, support for GitHub application authentication to authenticate Git repositories should be supported now.
  • Improved Kustomize compatibility Argo CD Image Updater won't mutate other parts of Kustomization files besides the image specification anymore

Thank you

The Argo Project would like to thank the following people for their awesome contributions that made this release possible:

And also thanks to everyone who took the time to open and discuss issues.

Upgrade notes (no really, you MUST read this)

No special instructions this time.

Bug fixes

  • fix: add basic authentication handler (#281)
  • fix: use kyaml to preserve kustomization (#274)
  • fix: use distribution to parse references (#275)
  • fix: Correct client ping endpoint (#278)
  • fix: Allow insecure registry access (#272)
  • fix: multiple image with alias (#266)
  • fix: Get tags from correct registry/image with a different kustomize image (#253)
  • fix: modify SetKustomizeImage logic when use alias-image (#251)

New features

  • feat: Support OCI repositories by using distribution/v3 (#249)
  • feat: allow overriding registry rate limit in test command (#256)

Other changes

  • docs: kustomize.image_name -> kustomize.image-name (#241)
  • chore: bump argocd version to 2.1.2 (#255)
  • docs: Correct metrics port in docs (#262)
  • chore: Test successful update two images (#264)
  • chore: Fix unit test (#269)
  • chore: Update and refactor Git client (#283)

v0.10.3

12 Sep 19:14
22ea65e
Compare
Choose a tag to compare

Release description

Bug fix release for the 0.10 release branch, which fixes some annoying issues with Kustomize applications.

Upgrade notes (no really, you MUST read this)

N/A

Bug fixes

  • fix: Get tags from correct registry/image with a different kustomize image (#253)
  • fix: modify SetKustomizeImage logic when use alias-image (#251)

New features

N/A

Other changes

N/A

v0.10.2

16 Aug 11:29
544feb7
Compare
Choose a tag to compare

Release description

The version v0.10.2 is a patch release, and brings the aws CLI into the container image due to popular demand.

Upgrade notes (no really, you MUST read this)

No special instructions this time.

Bug fixes

None

New features

  • feat: Provide aws-cli in container image (#238)

Other changes

None