Posts for: #continuous-deployment

Flux Version 2.2.0 Released

Flux Version 2.2.0 Released

Flux CD has released version 2.2.0, a tool for keeping Kubernetes clusters in sync with sources of configuration and automating updates to configuration when there is new code to deploy. This feature release brings several updates and improvements to provide users with the best experience.

The Flux CLI and controllers have been updated to support Kustomize v5.3.0 and Kubernetes v1.28.4. This ensures compatibility with the latest versions and improves performance and stability.

One of the major updates in this release is the significant overhaul of the Flux helm-controller’s reconciliation model. This addresses persistent issues such as the automatic recovery of releases stuck in a pending state. It also improves the observability of the release status and introduces the ability to enable drift detection on a per-object basis. More details on the helm-controller improvements can be found in the Announcing Flux 2.2 GA blog post.

The Flux CLI now allows users to force or reset the reconciliation state of a HelmRelease v2beta2 object using the flux reconcile hr --force and flux reconcile hr --reset commands. This gives users more control over the deployment process.

The Flux CLI also comes with support for bootstrapping Gitea repositories, providing users with more options for managing their configuration sources. It also adds guardrails to flux install and flux bootstrap to protect users from destructive operations. Additionally, the flux version and flux check commands now print the Flux distribution version deployed on the cluster, making it easier for users to keep track of their Flux installation.

The alerting capabilities of Flux have been extended with support for NATS and Bitbucket Server & Data Center. This allows users to use these additional notification providers for alerting and monitoring purposes.

Starting with this release, Flux minor versions are benchmarked to measure the Mean Time To Production (MTTP), providing users with valuable insights into the performance of Flux.

The release is compatible with Kubernetes versions 1.26, 1.27, and 1.28.

The API changes in this release include the promotion of the HelmRelease kind from v2beta1 to v2beta2. The v2beta2 API is backwards compatible with v2beta1, and the v2beta1 API is deprecated and will be removed in a future release. Several new fields have been added, including drift detection and correction on a per-release basis, selective running of Helm tests, and a history of metadata from Helm releases. The Alert and Provider kinds have also been promoted from v1beta2 to v1beta3, with the removal of the .status field. The Bucket API now has a new field for server-side filtering of files, and the OCIRepository and HelmChart APIs have new fields for verifying OIDC identity. The HelmRepository and ImageRepository APIs have a new boolean field for connecting to non-TLS HTTP container registries.

To upgrade to Flux v2.2.0, users can either rerun the bootstrap process or use the Flux GitHub Action. The APIs can be upgraded by deploying the new CRDs and controllers and changing the manifests in Git. It is advised not to delay this procedure as the deprecated versions will be removed after 6 months.

The release also includes new documentation for the HelmRelease v2beta2 specification and a guide on enabling in-memory Kustomize builds.

Overall, Flux v2.2.0 brings several updates and improvements to provide users with a better experience in managing their Kubernetes clusters and configuration sources. Users are encouraged to upgrade to this version for the best experience.

Argo CD Releases Version v2.9.0 - Streamlined Continuous Delivery for Kubernetes

Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes, has announced the release of version v2.9.0. This release includes a total of 368 contributions from 144 contributors, with 73 new features and 59 bug fixes.

Features

  • Retry logic for Kubernetes client
  • Grace period for repository errors
  • Examples added to help output for admin.go file
  • Examples added to help output for argocd_server.go file
  • ‘Both’ option added for uibannerposition
  • PKCE authentication flow for web logins
  • Example added for generate-allow-list command
  • Examples added to help output for get KEYID command
  • Examples added to help output for “gpg_list” command
  • Examples added to help output for remaining “create PROJECT ROLE-NAME” commands
  • Examples added to argocd proj role cli family
  • Admin-app-example added to cli
  • Project flag added to avoid permission denied errors on 404
  • Notification secrets exposed for request payload templating
  • Git requests made configurable
  • Write back added to application informer
  • Print stderr output from command even on success
  • Examples added to help output for “list PROJECT” command
  • Examples added to help output for “gpg add” command
  • Recursive Helm Values files detection in UI
  • Rate limited queue implemented
  • Examples added to help output for remaining “get APPNAME” commands
  • Repocred-list-example added to cli
  • Cluster-list-example added to cli
  • Examples added to help output for “delete PROJECT ROLE-NAME” command
  • Examples added to projectwindows.go
  • Iammanager.keikoproj.io/Iamrole health check added
  • Examples added to help output for “generate-spec PROJECT” command
  • Repo-example added to cli
  • Examples added to help output for “set APPNAME” command
  • Examples added to help output for “logs APPNAME” command
  • Example added to argocd relogin command
  • Examples added to help output for all “argocd proj” commands
  • Example added to help output for bcrypt command
  • fromYaml and fromYamlArray toYaml functions added to appset
  • Example added to help output for app actions command
  • Examples added to help output for remaining “argocd account” commands
  • Examples added to help output for remaining “argocd repocreds” commands
  • Example added to help output for context command
  • Individual e2e tests retried in CI
  • ignoreApplicationDifferences added to appset
  • PushSecret health status and force-sync action implemented
  • AnsibleJob CRD health checks implemented
  • Patches field added to Kustomize
  • Support for AzureDevops Webhooks added to appset
  • Dynamic rebalancing of clusters across shards implemented
  • Tree option added to output flag for app sync, app wait, and app rollback commands
  • Automatically apply extension configs without restarting API-Server
  • Patch_ms and setop_ms timings added to reconciliation logs
  • Button added for wrapping lines in pod logs viewer
  • Option added to output flag for app get and app resources commands for tree view
  • Appset preserve labels and global preserve fields added
  • Haproxy metrics enabled through helm Chart
  • Shorthand flags added for follow and container in app logs command
  • ARGOCD_CLUSTER_CACHE_LIST_PAGE_BUFFER_SIZE environment variable added
  • RBAC validation command now takes either namespace or policy-file
  • Timezone added to projectwindows list
  • Dark theme improvements in UI
  • Auto-sync now handles ‘another operation is already in progress’ error
  • ApplicationSet now deletes Application status
  • Various bug fixes and improvements implemented

For the full changelog and more information, please visit the release-2.8…v2.9.0 comparison.

Flux v2.1.2: The Latest Release of Flux v2

Flux CD, a tool for keeping Kubernetes clusters in sync with sources of configuration like Git, has released version 2.1.2. This patch release comes with various fixes and improvements to provide users with the best experience.

One of the key fixes in this release is the faster recovery of resources such as Kustomization and HelmRelease when the source-controller has restarted and is working on restoring storage. Additionally, the source-controller now prevents failing to reconcile OCIRepositories when artifacts contain symlinks.

Another important fix addresses an issue with the helm-controller miss-labeling Custom Resource Definitions. Flux now also detects immutable field errors in Google Cloud resources managed by Kustomizations, improving the overall stability and reliability of the system.

The CLI has also seen some updates. The error reporting for flux bootstrap has been enhanced when the owner doesn’t match the identity associated with the given token. Furthermore, the flux pull artifact command now allows fetching OCI artifacts produced by other tools.

Here are the components and CLI changes in Flux CD v2.1.2:

Components Changelog

CLI Changelog

Flux CD users are highly encouraged to upgrade to version 2.1.2 to benefit from these fixes and improvements.

Argo CD Releases Version v2.9.0-rc2: Declarative Continuous Delivery for Kubernetes

Argo CD, a declarative continuous delivery tool for Kubernetes, has announced the release of release candidate version v2.9.0-rc2. Argo CD enables users to manage their Kubernetes applications through GitOps, providing a streamlined and efficient approach to continuous delivery of infrastructure.

The new v2.9.0 is set to introduce several new features and improvements to Argo CD. Some of the notable additions in the release candidates include:

  • Support for ignoring application differences in appset
  • Health status and force-sync action for PushSecret
  • AnsibleJob CRD health checks
  • Kustomize patches field
  • Support for AzureDevops Webhooks in appset
  • Dynamic rebalancing of clusters across shards
  • Tree view option in output flag for app sync, app wait, and app rollback
  • Automatic application of extension configs without restarting API-Server
  • Addition of patch_ms and setop_ms timings to reconciliation logs
  • Button for wrapping lines in pod logs viewer in the UI
  • Tree view option in output flag for app get and app resources CLI commands
  • Support for preserving labels and global fields in appset
  • Enablement of haproxy metrics through Helm Chart
  • Shorthand flags for follow and container in app logs
  • Additional environment variable for cluster cache list page buffer size
  • Improved RBAC support for discovery/sync
  • Addition of Dott to users
  • Upgraded notification engine
  • Support for extra attributes for opentelemetry
  • Parallel execution of refresh from UI
  • Topic filter for Gitlab SCM in appset
  • Timeout option for update cluster info
  • Support for apply out of sync flag only in CLI
  • Support for AzureDevops Webhooks
  • SCM Provider option for Gitlab generator to filter shared projects from subgroups projects
  • Short revision in ARGOCD_APP_REVISION_SHORT env variable
  • Integration of kubelogin capability to argocd-k8s-auth
  • Alias application as apps for consistency with notifications engine
  • Restriction of SCM provider URLs
  • Autosync_enabled field in the argocd_app_info gauge
  • Support for self-signed TLS/Certificates for Gitlab SCM Provider
  • Respect RBAC for resource exclusions/inclusions

In addition to these new features, the rc2 release candidate includes various bug fixes and improvements.

For a complete list of changes and enhancements being introduced in v2.9.0, users can refer to the full changelogs of v2.9.0-rc1 and v2.9.0-rc2.