Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency fluxcd/flux2 to v0.33.0 #1451

Merged
merged 1 commit into from
Sep 2, 2022

Conversation

renovate-self-hosted[bot]
Copy link
Contributor

This PR contains the following updates:

Package Update Change
fluxcd/flux2 minor v0.28.5 -> v0.33.0

Release Notes

fluxcd/flux2

v0.33.0

Compare Source

Highlights

Flux v0.33.0 comes with new features and improvements. Users are encouraged to upgrade for the best experience.

Features and improvements
  • HelmRepository.spec.provider Enable contextual login to container registries when pulling Helm charts from Amazon Elastic Container Registry, Azure Container Registry and Google Artifact Registry.
  • OCIRepository.spec.layerSelector Select which layer contains the Kubernetes configs by specifying a matching OCI media type.
  • Bucket.spec.secretRef Authenticate to Azure Blob storage using SAS tokens.
  • Allow filtering OCI artifacts by semver and regex when listing artifact with flux list artifacts.
  • Allow excluding local files and directories when building and publishing artifacts with flux push artifact.
  • Mitigate denial-of-service on multi-tenant clusters by automatically recovering from panics encountered during reconciliation.
  • Update controllers to Kubernetes v1.25.0, Kustomize v4.5.7 and Helm v3.9.4.
New documentation

Components changelog

CLI Changelog

v0.32.0

Compare Source

Highlights

Flux v0.32.0 comes with support for distributing Kubernetes manifests, Kustomize overlays and Terraform code as OCI artifacts.
For more information please see the Flux OCI documentation.

New features
  • New Flux CLI commands flux push|pull|tag artifact for publishing OCI Artifacts to container registries.
  • New source type OCIRepository for fetching OCI artifacts from container registries.
  • Resolve Helm dependencies from OCI for charts defined in Git.

Components changelog

CLI Changelog

v0.31.5

Compare Source

Highlights

Flux v0.31.5 is a patch release that comes with fixes. Users are encouraged to upgrade for the best experience.

Fixes

  • Fix ImageRepository public repository scan for unconfigured provider registries

Improvements

  • Improve Helm OCI Chart to work with registries that don't support listing tags

Component changelog

CLI Changelog

v0.31.4

Compare Source

Highlights

Flux v0.31.4 is a patch release that comes with fixes. Users are encouraged to upgrade for the best experience.

Fixes
  • Fix SIGSEGV when resolving charts dependencies.
  • Fix Panic when no artifact in source.
  • decryptor: recover from SOPS store panic.
  • Fix spelling mistake in azure/exchanger.go.
Improvements
  • Retry downloading artifacts on not found errors.

Components changelog

CLI Changelog

v0.31.3

Compare Source

Highlights

Flux v0.31.3 is a patch release that comes with fixes. Users are encouraged to upgrade for the best experience.

Fixes
  • Fix for Helm OCI authentication where the credentials were cached instead of being reloaded at each reconciliation
  • Fix for health checking Kubernetes Jobs when impersonating a service account

Components changelog

CLI Changelog

v0.31.2

Compare Source

Highlights

Flux v0.31.2 is a patch release that comes with fixes and small improvements. Users are encouraged to upgrade for the best experience.

Fixes and improvements
  • Fix SSH connection leaks when using libgit2 managed transport
  • Improve the libgit2 error messages when the known hosts check fails
  • Fix authentication for BitBucket server when using libgit2 managed transport
  • Fix flux logs when running Flux inside a service mesh
  • Fix flux reconcile source helm when using Helm OCI
  • Accept multiple values for flux create hr --values-from
  • List the Flux CRDs and assert their statuses when running flux check
  • Add finalizers to ImageRepository, ImagePolicy and ImageUpdateAutomation resources to properly record the metrics for deleted resources

Components changelog

CLI Changelog

v0.31.1

Compare Source

Highlights

Flux v0.31.1 is a patch release that comes with important fixes and documentation improvements. Users are encouraged to upgrade for the best experience.

Fixes
  • Fix semver sorting for Helm OCI charts (source-controller)
  • Fix service account impersonation when using target namespace (helm-controller)
  • Validate that the image name does not contain tags (image-reflector-controller)
  • Fix libgit2 SSH host key verification (source-controller & image-automation-controller)
  • Fix authentication when using Gitlab via HTTP/S (source-controller & image-automation-controller)
Documentation improvements

Components changelog

CLI Changelog

v0.31.0

Compare Source

Highlights

Flux v0.31.0 comes with new features and improvements. Users are encouraged to upgrade for the best experience.

Breaking changes

Flux is no longer compatible with kubeconfigs using client.authentication.k8s.io/v1alpha1, this version was deprecated and removed in Kubernetes 1.24. Please follow these instructions on how to update kubeconfig to client.authentication.k8s.io/v1beta1.

New features
  • Pull Helm charts from container registries by configuring Helm repositories with type: oci.
    For more information please see the Helm OCI documentation.
  • Trigger GitHub Actions workflows from Flux by configuring alerting providers with type: githubdispatch.
    For more information please see the GitHub dispatch provider documentation.
New guides
New improvements and fixes
  • Starting with this version, all Flux controllers conform to the Kubernetes API Priority and Fairness.
  • Add support for configuring the authentication to AWS KMS, Azure Key Vault and Google Cloud KMS on multi-tenant clusters.
  • The Git reconciliation has been made more efficient by adding support for no-op clones that should reduce the outbound traffic substantially.
  • The libgit2 managed transport feature has been enabled by default to improve the Azure DevOps and AWS CodeCommit Git operations.
  • Fix an issue where the token used for Helm operations would go stale if it was provided using a Bound Service Account Token Volume.
  • Update the controllers and CLI dependencies to Kubernetes v1.24, Kustomize v4.5.5 and Helm v3.9.0.

Components changelog

CLI Changelog

v0.30.2

Compare Source

Flux v0.30.2 is a patch release with further patches around working with the macOS file-system.

Note that v0.29.0 included breaking changes, and v0.30.0 new features.

CLI Changelog

v0.30.1

Compare Source

Flux v0.30.1 is a patch release fixing a regression bug introduced in v0.30.0, which prevented macOS users from upgrading Flux using bootstrap due to FS security constraints.

Note that v0.29.0 included breaking changes, and v0.30.0 new features.

CLI Changelog

v0.30.0

Compare Source

Flux v0.30.0 comes with new features and improvements. Users are encouraged to upgrade for the best experience.

Note that v0.29.0 included breaking changes.

Features and improvements
Support for disabling remote bases in Kustomize overlays

This release adds support to the kustomize-controller for disallowing remote bases in Kustomize overlays using --no-remote-bases=true (default: false). When this flag is enabled on the controller, all resources must refer to local files included in the Source Artifact, meaning only the Flux Sources can affect the cluster-state. Users are advised to enable it on production systems for security and performance reasons.

Support for defining a KubeConfig Secret data key

Both Kustomization and HelmRelease resources do now accept a .spec.kubeConfig.SecretRef.key definition. When the value is specified, the KubeConfig JSON is retrieved from this data key in the referred Secret, instead of the defaults (value or value.yaml).

Support for defining a ServiceAccountName in ImageRepository objects

The ImageRepository object does now accept a .spec.serviceAccountName definition. When specified, the image pull secrets attached to the ServiceAccount are used to authenticate towards the registry.

Components Changelog

CLI Changelog

v0.29.5

Compare Source

Flux v0.29.5 is patch release which improves the Condition handling of HelmRepository resources, and handling of file formats while decrypting Secret generator entries with SOPS to ensure encrypted files in format A can be decrypted to target format B.

In addition, we now recover from Kustomize build panics to guarantee continuity of operations when running into invalid object data.

Note that v0.29.0 includes breaking changes.

Components Changelog

CLI Changelog

v0.29.4

Compare Source

Flux v0.29.4 is patch release with memory consumption improvements for the reconciliation of HelmRepository resources.

Note that v0.29.0 includes breaking changes.

Components Changelog

CLI Changelog

v0.29.3

Compare Source

Flux v0.29.3 is patch release which fixes a regression bug where the source-controller would panic in further to be identified edge-case scenarios in which a HelmRepository Artifact would not have a Size.

In addition, the flags for configuring the exponential back-off retry have been made available in the kustomize-controller.

Note that v0.29.0 includes breaking changes.

Components Changelog

CLI Changelog

v0.29.2

Compare Source

Flux v0.29.2 is patch release that comes with dependency updates to please static security analyzers.

Note that v0.29.0 includes breaking changes.

Components Changelog

CLI Changelog

v0.29.1

Compare Source

Flux v0.29.1 is patch release that comes with a regression bug fix for Kustomizations files that contain remote references.

Note that v0.29.0 includes breaking changes.

Components Changelog

CLI Changelog

v0.29.0

Compare Source

Flux v0.29.0 comes with new features and improvements. Users are encouraged to upgrade for the best experience.

Breaking changes
source-controller
  • From this release on, the RUNTIME_NAMESPACE environment variable is no longer taken into account to configure the advertised HTTP/S
    address of the storage. Instead, variable substitution must be used, as described in the changelog entry for v0.5.2.
  • Use of file-based KubeConfig options are now permanently disabled (e.g. TLSClientConfig.CAFile, TLSClientConfig.KeyFile, TLSClientConfig.CertFile and BearerTokenFile). The drive behind the change was to discourage insecure practices of mounting Kubernetes tokens inside the controller's container file system.
  • Use of TLSClientConfig.Insecure in KubeConfig file is disabled by default, but can be enabled at controller level with the flag --insecure-kubeconfig-tls.
  • Use of ExecProvider in KubeConfig file is now disabled by default, but can be enabled at controller level with the flag --insecure-kubeconfig-exec.
Features and improvements
Notification Improvements

A new notification is now emitted to identify recovery from failures. It is triggered when a failed reconciliation is followed by a successful one, and the notification message is the same that's sent in usual successful source reconciliation message about the stored artifact.

In-memory cache for HelmRepository

The opt-in in-memory cache for HelmRepository addresses issues where the index file is loaded and unmarshalled in concurrent reconciliation resulting in a heavy memory footprint. It can be configured using the flags: --helm-cache-max-size, --helm-cache-ttl, --helm-cache-purge-interval.

Configurable retention of Source Artifacts

Garbage Collection is enabled by default, and now its retention options are configurable with the flags: --artifact-retention-ttl (default: 60s) and --artifact-retention-records (default: 2). They define the minimum time to live and the maximum amount of artifacts to survive a collection.

Configurable Key Exchange Algorithms for SSH connections

The Key Exchange Algorithms used when establishing SSH connections are based on the defaults configured upstream in go-git and golang.org/x/crypto. Now this can be overriden with the flag --ssh-kex-algos. Note this applies to the go-git gitImplementation or the libgit2 gitImplementation but only when Managed Transport is being used.

Configurable Exponential Back-off retry settings

The exponential back-off retry can be configured with the new flags: --min-retry-delay (default: 750ms) and --max-retry-delay (default: 15min). Previously the defaults were set to 5ms and 1000s, which in some cases impaired the controller's ability to self-heal (e.g. retrying failing SSH connections).

Experimental managed transport for libgit2 Git implementation

Managed Transport for libgit2 now introduces self-healing capabilities, to recover from failure when long-running connections become stale.

SOPS refactored and optimized

SOPS implementation was refactored to include various improvements and extended code coverage. Age identities are now imported once and reused multiple times, optimizing CPU and memory usage between decryption operations.

Helm chart directory loader improvements

Introduction of a secure directory loader which improves the handling of Helm charts paths.

Components Changelog

Other changes since last minor release:

CLI Changelog


Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

@xunholy xunholy merged commit 5f35daa into main Sep 2, 2022
@xunholy xunholy deleted the self-hosted/fluxcd-flux2-0.x branch September 2, 2022 08:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants