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.
- Bump the
architectCircleCI orb from 6.15.0 to 9.6.0. The 6.xpush-to-app-catalogjob still authenticates togiantswarmpublic.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 togsoci, and is absent from 9.x. 9.6.0 is the version already running incoredns-app,external-dns-appandkyverno-policies-dx.
7.5.2 - 2026-02-10
- Migrate Chart.yaml annotations to new format as per https://docs.giantswarm.io/reference/platform-api/chart-metadata/
- Update module github.com/giantswarm/kubeconfig/v4 to v4.1.4
7.5.1 - 2025-11-07
- Bump github.com/containerd/containerd from 1.7.27 to 1.7.29
7.5.0 - 2025-10-29
- Do not try to remove Chart Operator on a workload cluster deletion.
7.4.1 - 2025-10-21
- Add explicit
catalogs/finalizerspermissions to unique App Operator deployment.
7.4.0 - 2025-10-01
- Remove support for Kyverno
PolicyExceptionversions older thanv2. Onlyv2is supported now.
- Change default container registry to
gsoci.azurecr.io
7.3.0 - 2025-08-12
- Look at HelmRelease CRs
.status.historyentries when verifying HRCRs dependencies.
- Stop pushing to
gcp-app-collectionas it is archived.
7.2.0 - 2025-04-01
- Bump
applibrary tov8.0.0. - Decrease default reconciliation interval from
5mto3m.
- Properly report missing referenced config maps and secrets in the status of the App CR.
7.1.1 - 2025-03-11
- Improve
tcnamespaceresource by checking forgiantswarmnamespace existence before creating it.
7.1.0 - 2025-02-27
- Make
cordon-untilexpire automatically.
7.0.1 - 2025-01-30
- Bump the
github.com/giantswarm/apppackage to versionv7.0.4which prevents creation of empty Secrets for Chart CRs.
7.0.0 - 2024-11-19
- Removed PSP support and thus support for pre v1.25 Kubernetes clusters.
- Removed
.global.podSecurityStandards.enforcedHelm value.
- Removed
- Removed
.project.branchandproject.commitHelm values.
- Bump
architect-orbtov5.11.1. - Updated build pipeline to use
app-build-suite.- Changed value for
application.giantswarm.io/branchlabel to point to.Chart.AppVersioninstead as ABS does not support mangling the templates anymore. - Changed value for
application.giantswarm.io/commitlabel to point to.Chart.AppVersioninstead as ABS does not support mangling the templates anymore.
- Changed value for
- Defaulted
.image.tagto be an empty string and default that to.Chart.AppVersionin the deployment. - Bumped
chart-operatorversion tov3.3.0in integration tests. - Bumped
test-appversion tov1.0.0in integration tests.
- Added
ignore-check.kube-linter.io/no-read-only-root-fsannotation to the deployment to informkubelinterand describe why the write access to the root FS is needed.
6.11.2 - 2024-10-22
6.11.1 - 2024-10-08
- Retain a list of finalizers of Chart CR when updating it.
- Update
PolicyExceptionstov2and failover tov2beta1.
6.11.0 - 2024-04-23
- Add support for App resources having a dependency on HelmReleases.
6.10.3 - 2024-01-29
- Move pss values under the global property
6.10.2 - 2023-12-06
- Set
gsoci.azurecr.ioas the default container registry for this app's image(s).
6.10.1 - 2023-11-22
- Add policy exception so that controller can be deployed in bootstrap mode (uses host network)
6.10.0 - 2023-11-15
- Add option to disable k8s client cache.
6.9.0 - 2023-11-10
- Add a switch for PSP CR installation.
6.8.1 - 2023-09-14
- Use the right name for Chart CR to be deleted.
6.8.0 - 2023-07-06
- Add Service Monitor by default to make it complain with the latest monitoring improvements
6.7.0 - 2023-05-10
- Only include PodSecurityPolicy on clusters with policy/v1beta1 api available.
- Only include PodMonitor on clusters with monitoring.coreos.com/v1 api available.
- Stop pushing to
openstack-app-collection.
6.6.4 - 2023-04-05
- Improved feedback when searching for an app in catalog.
6.6.3 - 2023-03-21
- 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
- Bump
giantswarm/apppackage tov6.15.5
6.6.1 - 2023-03-09
- Bump
giantswarm/apppackage tov6.15.2to fix cluster and namespace singletons checks for CAPI.
6.6.0 - 2023-02-02
- Add support for dependencies between apps using
app-operator.giantswarm.io/depends-onannotation.
6.5.1 - 2023-02-01
- Bump
giantswarm/apppackage tov6.15.2to weaken the condition on userConfig names for default apps.
6.5.0 - 2022-12-02
- Fix building URLs for OCI Repositories assigned to non-internal
Catalogs.
6.4.4 - 2022-11-29
- Fix workload cluster request template.
6.4.3 - 2022-11-23
- Use
portinstead of deprecatedtargetPortfield forPodMonitor
- Provide synchronization between goroutines operating on indices maps.
6.4.2 - 2022-11-21
- Bump
github.com/giantswarm/apptov6.15.1
6.4.1 - 2022-09-26
- 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
- Support timeouts fields in the App CR.
- Add support for new control-plane label in k8s 1.24.
6.3.0 - 2022-07-11
- 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
- Watch config maps and secrets listed in the
extraConfigssection of App CR for multi layer configs, see: https://github.com/giantswarm/rfc/tree/main/multi-layer-app-config#enhancing-app-cr
- Bump
github.com/giantswarm/apptov6.12.0
6.1.0 - 2022-07-05
- Use downward API to set deployment env var
KUBERNETES_SERVICE_HOSTtostatus.hostIP. - Change
initialBootstrapModeconfiguration value tobootstrapMode. - Tighten pod and container security contexts for PSS restricted policies.
- Allow to set api server pod port when enabling
initialBootstrapMode.
6.0.1 - 2022-06-20
- Add support for Catalogs that define multiple repository mirrors to be used in case some of them are unreachable.
- Only run
PodMonitoroutside of bootstrap mode.
6.0.0 - 2022-06-08
- Added
PodMonitorto the Helm chart to collect metrics from the running operator pod (instead of via the Service)
- This version requires
prometheus-meta-operatorofv3.6.0or later to scrape the metrics from thePodMinitor - This version requires
kyverno-policies-observabilityofv0.1.2or later to have proper labels applied to metrics
- Removed Service from the Helm chart
5.12.0 - 2022-06-06
- Add
initialBootstrapModeflag to allow deploying CNI as managed apps.
5.11.0 - 2022-05-23
- 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
- Add missing permissions for
apps/deployments.
5.10.1 - 2022-05-18
- Limit
*-chartClusterRoleandClusterRoleBindingtogiantswarmnamespace deployment.
5.10.0 - 2022-05-16
- Fix
app-operatorRBAC to avoid granting excessive permissions to itsServiceAccount.
- Remove
authtokenmigrationresource.
5.9.0 - 2022-04-07
- Update
helmclientto v4.10.0. - Update giantswarm/appcatalog to
v0.7.0, adding support for internal OCI chart catalogs.
5.8.0 - 2022-03-11
- Add support for relative URLs in catalog indexes.
- Continue processing
AppCatalogEntryCRs if an error occurs. - Only show
AppCatalogEntryCRs that are compatible with the current provider. - For internal catalogs generate tarball URLs instead of checking
index.yamlto prevent chicken egg problems in new clusters.
5.7.5 - 2022-03-01
- 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.goresource to fix WC app updates.
5.7.4 - 2022-03-01
- Allow usage of chart-operator PSP so it can be bootstrapped.
5.7.3 - 2022-02-28
- Fixing patch to not reset fields.
5.7.2 - 2022-02-25
- Remove compatible providers validation for
AppCatalogEntryas its overly strict. - Push image to Docker Hub to not rely on crsync.
5.7.1 - 2022-02-22
- Restrict PSP usage to only named resource.
5.7.0 - 2022-02-17
- Annotate App CRs after bootstrapping chart-operator to trigger reconciliation.
5.6.0 - 2022-02-02
- Get tarball URL for chart CRs from index.yaml for better community app catalog support.
- Fix error handling in chart CR watcher when chart CRD not installed.
5.5.2 - 2022-01-28
- Fix getting kubeconfig in chart CR watcher.
5.5.1 - 2022-01-20
- When bootstrapping chart-operator the helm release should not include the cluster ID.
5.5.0 - 2022-01-19
- Support watching app CRs in organization namespace with cluster label selector.
5.4.1 - 2022-01-14
- Embed Chart CRD in app-operator to prevent hitting GitHub API rate limits.
5.4.0 - 2021-12-17
- Update Helm to
v3.6.3. - Use controller-runtime client to remove CAPI dependency.
- Use
apptestctlto install CRDs in integration tests to avoid hitting GitHub rate limits.
- Remove
releasemigrationresource now migration to Helm 3 is complete.
5.3.1 - 2021-12-08
- Support for App CRs with a
vprefixed version. This enables Flux to automatically update the version based on its image tag.
5.3.0 - 2021-11-11
- Use dynamic client instead of generated client for watching chart CRs.
- Validate
.spec.kubeConfig.secret.namein validation resource.
5.2.0 - 2021-08-19
- Reject App CRs with version labels with the legacy
1.0.0value. - Validate
.spec.catalogusing Catalog CRs instead of AppCatalog CRs.
5.1.1 - 2021-08-05
- Fix creating
AppCatalogCRs in appcatalogsync resource.
5.1.0 - 2021-07-29
- Create
AppCatalogEntryCRs into the same namespace of Catalog CR. - Include
chart.keywords,chart.descriptionandchart.upstreamChartVersioninAppCatalogEntryCRs.
5.0.0 - 2021-07-16
- Create
AppCatalogCRs fromCatalogCRs for compatibility with existing app-operator releases. - Prepare helm values to configuration management.
- Use
CatalogCRs inAppcontroller. - Reconcile to
CatalogCRs instead ofAppCatalog. - Get
ChartCRD from the GitHub resources. - Get metadata constants from k8smetadata library not apiextensions.
- 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
- 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
- Updated OperatorKit to v4.3.1 for Kubernetes 1.20 support.
4.3.1 - 2021-03-30
- Restore chart-operator when it had been deleted.
4.3.0 - 2021-03-26
- Cache k8sclient, helmclient for later use.
- Updated Helm to v3.5.3.
4.2.0 - 2021-03-19
- Apply the namespaceConfig to the desired chart.
4.1.0 - 2021-03-17
- Install apps in CAPI Workload Clusters.
4.0.2 - 2021-03-09
- Apply
compatibleProvider,namespacemetadata validation based on the relevantAppCatalogEntryCR.
4.0.1 - 2021-03-05
- Use backoff in chart CR watcher to wait until kubeconfig secret exists.
4.0.0 - 2021-02-23
- Add annotations from Helm charts to AppCatalogEntry CRs.
- Enable Vertical Pod Autoscaler.
- 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
- Include
apiVersion,restrictions.compatibleProvidersin appcatalogentry CRs.
- Limit the number of AppCatalogEntry per app.
- Delete legacy finalizers on app CRs.
- Reconciling appCatalog CRs only if pod is unique.
- Updating status as cordoned if app CR has cordoned annotation.
3.1.0 - 2021-01-13
3.0.0 - 2021-01-05
- Enable mutating and validating webhooks in app-admission-controller for tenant app CRs.
- Make resync period configurable for use in integration tests.
- Pause App CR reconciliation when it has
app-operator.giantswarm.io/paused=trueannotation. - Print difference between the current chart and desired chart.
2.8.0 - 2020-12-15
- Using values service from the app library.
- Updated Helm to v3.4.2.
- 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.
- Reuse clients in clients resource when app CR uses inCluster.
2.7.0 - 2020-11-09
- Secure the webhook with token value from control plane catalog.
2.6.0 - 2020-10-29
- Adding webhook URL as annotation into chart CRs.
- Added Status update endpoint.
- Update apiextensions to v3 and replace CAPI with Giant Swarm fork.
2.5.0 - 2020-10-27
- Watch secrets referenced in app CRs to reduce latency when applying config changes.
2.4.1 - 2020-10-26
- Use resourceVersion of configmap for comparison instead of listing option.
2.4.0 - 2020-10-23
- 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
- Skip removing finalizer for chart-operator chart CR if its not present.
2.3.4 - 2020-10-16
- Skip deleting chart-operator in case of cluster deletion.
2.3.3 - 2020-10-15
- Delete chart-operator helm release and chart CR so it can be re-installed.
2.3.2 - 2020-09-29
- 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 event count metrics for delete, install, rollback and update of Helm releases.
- Fix YAML comparison for chart configmaps and secrets.
- Fix structs merging error in helmclient.
- Updated Helm to v3.3.3.
2.3.0 - 2020-09-17
- Add resource version for chart configmaps and secrets to the chart CR to reduce latency of update events.
2.2.0 - 2020-09-07
- 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.
- 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
- Delete chart-operator release if it stuck in
pending-installstatus.
- Removed a collector from the operator.
2.1.0 - 2020-08-18
- Added chartcrd resource for creating chart CRD in tenant clusters.
- Removed hardcoded version in app CR version label.
- Updated Helm to v3.3.0.
- Don't wait for chart-operator pod since chart CRD is created by the chartcrd resource.
2.0.0 - 2020-08-13
- Updated backward incompatible Kubernetes dependencies to v1.18.5.
- Updated Helm to v3.2.4.
1.1.11 - 2020-08-10
- Updated app to team mappings for app alerts.
1.1.10 - 2020-08-04
- Add metrics for ready app-operator instances per app CR version.
1.1.9 - 2020-07-24
- Graduate application group CRDs to v1.
- Upgrade to operatorkit 1.2.0.
- 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
- Delete migration app after checking the release.
v1.1.6 2020-06-29
- 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.catalogfield as a collected metric
v1.1.5 2020-06-16
- 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
- Check chart-operator deployment status before initiating helm 3 migration.
v1.1.3 2020-05-26
- 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
- Fix problem setting image registry for migration job.
- Update dependencies including error handling for unavailable tenant clusters.
v1.1.1 2020-05-21
- Set HTTP client timeout for helmclient when pulling charts in China.
v1.1.0 2020-05-18
- Updated to use Helm 3 and add releasemigration resource for migrating releases from Helm 2 to Helm 3.
v1.0.3 2020-05-18
- Cancel resources when app CRs are cordoned.
v1.0.2 2020-05-08
- Add team label to app info metrics for routing alerts.
v1.0.1 2020-04-23
- Flattening operator release structure.