Skip to content

Latest commit

 

History

History
967 lines (576 loc) · 27.1 KB

File metadata and controls

967 lines (576 loc) · 27.1 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project's packages adheres to Semantic Versioning.

Changed

  • Bump the architect CircleCI orb from 6.15.0 to 9.6.0. The 6.x push-to-app-catalog job still authenticates to giantswarmpublic.azurecr.io, which no longer resolves (NXDOMAIN), so the chart push fails on every build. That step was deprecated in orb 6.8.0 when chart pushes moved to gsoci, and is absent from 9.x. 9.6.0 is the version already running in coredns-app, external-dns-app and kyverno-policies-dx.

7.5.2 - 2026-02-10

Changed

7.5.1 - 2025-11-07

Changed

  • Bump github.com/containerd/containerd from 1.7.27 to 1.7.29

7.5.0 - 2025-10-29

Changed

  • Do not try to remove Chart Operator on a workload cluster deletion.

7.4.1 - 2025-10-21

Changed

  • Add explicit catalogs/finalizers permissions to unique App Operator deployment.

7.4.0 - 2025-10-01

Removed

  • Remove support for Kyverno PolicyException versions older than v2. Only v2 is supported now.

Changed

  • Change default container registry to gsoci.azurecr.io

7.3.0 - 2025-08-12

Changed

  • Look at HelmRelease CRs .status.history entries when verifying HRCRs dependencies.

Removed

  • Stop pushing to gcp-app-collection as it is archived.

7.2.0 - 2025-04-01

Changed

  • Bump app library to v8.0.0.
  • Decrease default reconciliation interval from 5m to 3m.

Fixed

  • Properly report missing referenced config maps and secrets in the status of the App CR.

7.1.1 - 2025-03-11

Changed

  • Improve tcnamespace resource by checking for giantswarm namespace existence before creating it.

7.1.0 - 2025-02-27

Changed

  • Make cordon-until expire automatically.

7.0.1 - 2025-01-30

Fixed

  • Bump the github.com/giantswarm/app package to version v7.0.4 which prevents creation of empty Secrets for Chart CRs.

7.0.0 - 2024-11-19

Removed

  • Removed PSP support and thus support for pre v1.25 Kubernetes clusters.
    • Removed .global.podSecurityStandards.enforced Helm value.
  • Removed .project.branch and project.commit Helm values.

Changed

  • Bump architect-orb to v5.11.1.
  • Updated build pipeline to use app-build-suite.
    • Changed value for application.giantswarm.io/branch label to point to .Chart.AppVersion instead as ABS does not support mangling the templates anymore.
    • Changed value for application.giantswarm.io/commit label to point to .Chart.AppVersion instead as ABS does not support mangling the templates anymore.
  • Defaulted .image.tag to be an empty string and default that to .Chart.AppVersion in the deployment.
  • Bumped chart-operator version to v3.3.0 in integration tests.
  • Bumped test-app version to v1.0.0 in integration tests.

Added

  • Added ignore-check.kube-linter.io/no-read-only-root-fs annotation to the deployment to inform kubelinter and describe why the write access to the root FS is needed.

6.11.2 - 2024-10-22

6.11.1 - 2024-10-08

Fixed

  • Retain a list of finalizers of Chart CR when updating it.

Changed

  • Update PolicyExceptions to v2 and failover to v2beta1.

6.11.0 - 2024-04-23

Added

  • Add support for App resources having a dependency on HelmReleases.

6.10.3 - 2024-01-29

Fixed

  • Move pss values under the global property

6.10.2 - 2023-12-06

Changed

  • Set gsoci.azurecr.io as the default container registry for this app's image(s).

6.10.1 - 2023-11-22

Fixed

  • Add policy exception so that controller can be deployed in bootstrap mode (uses host network)

6.10.0 - 2023-11-15

Added

  • Add option to disable k8s client cache.

6.9.0 - 2023-11-10

Changed

  • Add a switch for PSP CR installation.

6.8.1 - 2023-09-14

Fixed

  • Use the right name for Chart CR to be deleted.

6.8.0 - 2023-07-06

Added

  • Add Service Monitor by default to make it complain with the latest monitoring improvements

6.7.0 - 2023-05-10

Changed

  • Only include PodSecurityPolicy on clusters with policy/v1beta1 api available.
  • Only include PodMonitor on clusters with monitoring.coreos.com/v1 api available.

Removed

  • Stop pushing to openstack-app-collection.

6.6.4 - 2023-04-05

Changed

  • Improved feedback when searching for an app in catalog.

6.6.3 - 2023-03-21

Changed

  • Lowered resource requests and limits
  • Changed VPA to consider unique and workload cluster operators as well and added support for min allowed fields of CPU and memory

6.6.2 - 2023-03-10

Changed

  • Bump giantswarm/app package to v6.15.5

6.6.1 - 2023-03-09

Changed

  • Bump giantswarm/app package to v6.15.2 to fix cluster and namespace singletons checks for CAPI.

6.6.0 - 2023-02-02

Added

  • Add support for dependencies between apps using app-operator.giantswarm.io/depends-on annotation.

6.5.1 - 2023-02-01

Changed

  • Bump giantswarm/app package to v6.15.2 to weaken the condition on userConfig names for default apps.

6.5.0 - 2022-12-02

Fixed

  • Fix building URLs for OCI Repositories assigned to non-internal Catalogs.

6.4.4 - 2022-11-29

Fixed

  • Fix workload cluster request template.

6.4.3 - 2022-11-23

Changed

  • Use port instead of deprecated targetPort field for PodMonitor

Fixed

  • Provide synchronization between goroutines operating on indices maps.

6.4.2 - 2022-11-21

Changed

  • Bump github.com/giantswarm/app to v6.15.1

6.4.1 - 2022-09-26

Fixed

  • Fix a bug that skips adding the chart-values or chart-secrets entries to the Chart CR when they are only created via extra configs of the App CR

6.4.0 - 2022-09-22

Added

  • Support timeouts fields in the App CR.

Changed

  • Add support for new control-plane label in k8s 1.24.

6.3.0 - 2022-07-11

Added

  • If no userconfig configmap or secret reference is specified but one is found following the default naming convention (*-user-values / *-user-secrets) then the App resource is updated to reference the found configmap/secret.

6.2.0 - 2022-07-11

Added

Changed

  • Bump github.com/giantswarm/app to v6.12.0

6.1.0 - 2022-07-05

Changed

  • Use downward API to set deployment env var KUBERNETES_SERVICE_HOST to status.hostIP.
  • Change initialBootstrapMode configuration value to bootstrapMode.
  • Tighten pod and container security contexts for PSS restricted policies.

Added

  • Allow to set api server pod port when enabling initialBootstrapMode.

6.0.1 - 2022-06-20

Added

  • Add support for Catalogs that define multiple repository mirrors to be used in case some of them are unreachable.

Changed

  • Only run PodMonitor outside of bootstrap mode.

6.0.0 - 2022-06-08

Added

  • Added PodMonitor to the Helm chart to collect metrics from the running operator pod (instead of via the Service)

Changed

  • This version requires prometheus-meta-operator of v3.6.0 or later to scrape the metrics from the PodMinitor
  • This version requires kyverno-policies-observability of v0.1.2 or later to have proper labels applied to metrics

Removed

  • Removed Service from the Helm chart

5.12.0 - 2022-06-06

Added

  • Add initialBootstrapMode flag to allow deploying CNI as managed apps.

5.11.0 - 2022-05-23

Changed

  • Only set resource limits on the deployment when the VPA is not available or disabled
  • Increase min / max resource limits on VPA

5.10.2 - 2022-05-18

Fixed

  • Add missing permissions for apps/deployments.

5.10.1 - 2022-05-18

Fixed

  • Limit *-chart ClusterRole and ClusterRoleBinding to giantswarm namespace deployment.

5.10.0 - 2022-05-16

Fixed

  • Fix app-operator RBAC to avoid granting excessive permissions to its ServiceAccount.

Removed

  • Remove authtokenmigration resource.

5.9.0 - 2022-04-07

Changed

  • Update helmclient to v4.10.0.
  • Update giantswarm/appcatalog to v0.7.0, adding support for internal OCI chart catalogs.

5.8.0 - 2022-03-11

Added

  • Add support for relative URLs in catalog indexes.

Fixed

  • Continue processing AppCatalogEntry CRs if an error occurs.
  • Only show AppCatalogEntry CRs that are compatible with the current provider.
  • For internal catalogs generate tarball URLs instead of checking index.yaml to prevent chicken egg problems in new clusters.

5.7.5 - 2022-03-01

Fixed

  • Fix label selector in app values watcher so it supports CAPI clusters.
  • Strip cluster name from App CR name to determine Chart CR name in chart/current.go resource to fix WC app updates.

5.7.4 - 2022-03-01

Fixed

  • Allow usage of chart-operator PSP so it can be bootstrapped.

5.7.3 - 2022-02-28

Fixed

  • Fixing patch to not reset fields.

5.7.2 - 2022-02-25

Fixed

  • Remove compatible providers validation for AppCatalogEntry as its overly strict.
  • Push image to Docker Hub to not rely on crsync.

5.7.1 - 2022-02-22

Fixed

  • Restrict PSP usage to only named resource.

5.7.0 - 2022-02-17

Added

  • Annotate App CRs after bootstrapping chart-operator to trigger reconciliation.

5.6.0 - 2022-02-02

Changed

  • Get tarball URL for chart CRs from index.yaml for better community app catalog support.

Fixed

  • Fix error handling in chart CR watcher when chart CRD not installed.

5.5.2 - 2022-01-28

Fixed

  • Fix getting kubeconfig in chart CR watcher.

5.5.1 - 2022-01-20

Fixed

  • When bootstrapping chart-operator the helm release should not include the cluster ID.

5.5.0 - 2022-01-19

Added

  • Support watching app CRs in organization namespace with cluster label selector.

5.4.1 - 2022-01-14

Fixed

  • Embed Chart CRD in app-operator to prevent hitting GitHub API rate limits.

5.4.0 - 2021-12-17

Changed

  • Update Helm to v3.6.3.
  • Use controller-runtime client to remove CAPI dependency.
  • Use apptestctl to install CRDs in integration tests to avoid hitting GitHub rate limits.

Removed

  • Remove releasemigration resource now migration to Helm 3 is complete.

5.3.1 - 2021-12-08

Added

  • Support for App CRs with a v prefixed version. This enables Flux to automatically update the version based on its image tag.

5.3.0 - 2021-11-11

Changed

  • Use dynamic client instead of generated client for watching chart CRs.
  • Validate .spec.kubeConfig.secret.name in validation resource.

5.2.0 - 2021-08-19

Changed

  • Reject App CRs with version labels with the legacy 1.0.0 value.
  • Validate .spec.catalog using Catalog CRs instead of AppCatalog CRs.

5.1.1 - 2021-08-05

Fixed

  • Fix creating AppCatalog CRs in appcatalogsync resource.

5.1.0 - 2021-07-29

Changed

  • Create AppCatalogEntry CRs into the same namespace of Catalog CR.
  • Include chart.keywords, chart.description and chart.upstreamChartVersion in AppCatalogEntry CRs.

5.0.0 - 2021-07-16

Changed

  • Create AppCatalog CRs from Catalog CRs for compatibility with existing app-operator releases.
  • Prepare helm values to configuration management.
  • Use Catalog CRs in App controller.
  • Reconcile to Catalog CRs instead of AppCatalog.
  • Get Chart CRD from the GitHub resources.
  • Get metadata constants from k8smetadata library not apiextensions.

Fixed

  • For the chart CR watcher get the kubeconfig secret from the chart-operator app CR to avoid hardcoding it.
  • Quote namespace in helm templates to handle numeric workload cluster IDs.

4.4.0 - 2021-05-03

Added

  • Add support for skip CRD flag when installing Helm releases.
  • Emit events when config maps and secrets referenced in App CRs are updated.

4.3.2 - 2021-04-06

Fixed

  • Updated OperatorKit to v4.3.1 for Kubernetes 1.20 support.

4.3.1 - 2021-03-30

Fixed

  • Restore chart-operator when it had been deleted.

4.3.0 - 2021-03-26

Added

  • Cache k8sclient, helmclient for later use.

Changed

  • Updated Helm to v3.5.3.

4.2.0 - 2021-03-19

Added

  • Apply the namespaceConfig to the desired chart.

4.1.0 - 2021-03-17

Added

  • Install apps in CAPI Workload Clusters.

4.0.2 - 2021-03-09

Added

  • Apply compatibleProvider,namespace metadata validation based on the relevant AppCatalogEntry CR.

4.0.1 - 2021-03-05

Fixed

  • Use backoff in chart CR watcher to wait until kubeconfig secret exists.

4.0.0 - 2021-02-23

Added

  • Add annotations from Helm charts to AppCatalogEntry CRs.
  • Enable Vertical Pod Autoscaler.

Changed

  • Replace status webhook with chart CR status watcher.
  • Sort AppCatalogEntry CRs by version and created timestamp.
  • Watch cluster namespace for per workload cluster instances of app-operator.

3.2.0 - 2021-02-08

Added

  • Include apiVersion, restrictions.compatibleProviders in appcatalogentry CRs.

Changed

  • Limit the number of AppCatalogEntry per app.
  • Delete legacy finalizers on app CRs.
  • Reconciling appCatalog CRs only if pod is unique.

Fixed

  • Updating status as cordoned if app CR has cordoned annotation.

3.1.0 - 2021-01-13

3.0.0 - 2021-01-05

Changed

  • Enable mutating and validating webhooks in app-admission-controller for tenant app CRs.

Added

  • Make resync period configurable for use in integration tests.
  • Pause App CR reconciliation when it has app-operator.giantswarm.io/paused=true annotation.
  • Print difference between the current chart and desired chart.

2.8.0 - 2020-12-15

Changed

  • Using values service from the app library.
  • Updated Helm to v3.4.2.

Added

  • Add printer columns for Version, Last Deployed and Status to chart CRD in tenant clusters.
  • Use validation logic from the app library.
  • Include restrictions data from app metadata files in appcatalogentry CRs.

Fixed

  • Reuse clients in clients resource when app CR uses inCluster.

2.7.0 - 2020-11-09

Added

  • Secure the webhook with token value from control plane catalog.

2.6.0 - 2020-10-29

Added

  • Adding webhook URL as annotation into chart CRs.
  • Added Status update endpoint.

Changed

  • Update apiextensions to v3 and replace CAPI with Giant Swarm fork.

2.5.0 - 2020-10-27

Added

  • Watch secrets referenced in app CRs to reduce latency when applying config changes.

2.4.1 - 2020-10-26

Fixed

  • Use resourceVersion of configmap for comparison instead of listing option.

2.4.0 - 2020-10-23

Added

  • Create appcatalogentry CRs for public app catalogs.
  • Watch configmaps referenced in app CRs to reduce latency when applying config changes.

2.3.5 - 2020-10-20

Fixed

  • Skip removing finalizer for chart-operator chart CR if its not present.

2.3.4 - 2020-10-16

Fixed

  • Skip deleting chart-operator in case of cluster deletion.

2.3.3 - 2020-10-15

Added

  • Delete chart-operator helm release and chart CR so it can be re-installed.

2.3.2 - 2020-09-29

Fixed

  • Updated Helm to v3.3.4.
  • Updated Kubernetes dependencies to v1.18.9.
  • Update deployment annotation to use checksum instead of helm revision to reduce how often pods are rolled.

2.3.1 - 2020-09-22

Added

  • Added event count metrics for delete, install, rollback and update of Helm releases.

Fixed

  • Fix YAML comparison for chart configmaps and secrets.
  • Fix structs merging error in helmclient.

Security

  • Updated Helm to v3.3.3.

2.3.0 - 2020-09-17

Added

  • Add resource version for chart configmaps and secrets to the chart CR to reduce latency of update events.

2.2.0 - 2020-09-07

Added

  • Add monitoring label
  • Add validation resource that checks if references to other resources exist in app CRs. A message is added to the app CR status for the user.

Fixed

  • Update the status when failing to merge configMaps or secrets on the initial reconciliation.
  • Remove CPU and memory limits from deployment.

2.1.1 - 2020-08-26

Changed

  • Delete chart-operator release if it stuck in pending-install status.

Removed

  • Removed a collector from the operator.

2.1.0 - 2020-08-18

Added

  • Added chartcrd resource for creating chart CRD in tenant clusters.

Changed

  • Removed hardcoded version in app CR version label.
  • Updated Helm to v3.3.0.

Removed

  • Don't wait for chart-operator pod since chart CRD is created by the chartcrd resource.

2.0.0 - 2020-08-13

Changed

  • Updated backward incompatible Kubernetes dependencies to v1.18.5.
  • Updated Helm to v3.2.4.

1.1.11 - 2020-08-10

Changed

  • Updated app to team mappings for app alerts.

1.1.10 - 2020-08-04

Added

  • Add metrics for ready app-operator instances per app CR version.

1.1.9 - 2020-07-24

Changed

  • Graduate application group CRDs to v1.
  • Upgrade to operatorkit 1.2.0.

Fixed

  • Fix API group for PSPs

v1.1.8 2020-07-01

  • Extend to 20 minutes for waiting helm 3 migration completed.
  • RBAC added to deletion migration resources.

v1.1.7 2020-06-30

Changed

  • Delete migration app after checking the release.

v1.1.6 2020-06-29

Changed

  • Delete helm-2to3-migration job after migration is finished.
  • Sending metrics with app CR's version in the spec.
  • Only emit metrics for app CRs reconciled by this instance of the operator.
  • Expose App's .spec.catalog field as a collected metric

v1.1.5 2020-06-16

Changed

  • Cancel the reconciliation when failed to merge configMaps/secrets.
  • Fix problems with openapi valdidation rules for app and appcatalog CRDs.
  • Make optional fields nullable for app and appcatalog CRDs.

v1.1.4 2020-06-04

Changed

  • Check chart-operator deployment status before initiating helm 3 migration.

v1.1.3 2020-05-26

Changed

  • Log app name in collector when cordon-until annotation cannot be parsed.
  • Update to helmclient v1.0.1 for security patch.

v1.1.2 2020-05-21

Changed

  • Fix problem setting image registry for migration job.
  • Update dependencies including error handling for unavailable tenant clusters.

v1.1.1 2020-05-21

Changed

  • Set HTTP client timeout for helmclient when pulling charts in China.

v1.1.0 2020-05-18

Changed

  • Updated to use Helm 3 and add releasemigration resource for migrating releases from Helm 2 to Helm 3.

v1.0.3 2020-05-18

Changed

  • Cancel resources when app CRs are cordoned.

v1.0.2 2020-05-08

Added

  • Add team label to app info metrics for routing alerts.

v1.0.1 2020-04-23

Added

  • Flattening operator release structure.