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.
7.0.0 - 2024-11-19
- Removed PSP support and thus support for pre v1.25 Kubernetes clusters.
- Removed
.global.podSecurityStandards.enforced
Helm value.
- Removed
- Removed
.project.branch
andproject.commit
Helm values.
- Bump
architect-orb
tov5.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.
- Changed value for
- Defaulted
.image.tag
to be an empty string and default that to.Chart.AppVersion
in the deployment. - Bumped
chart-operator
version tov3.3.0
in integration tests. - Bumped
test-app
version tov1.0.0
in integration tests.
- Added
ignore-check.kube-linter.io/no-read-only-root-fs
annotation to the deployment to informkubelinter
and 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
PolicyExceptions
tov2
and 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.io
as 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/app
package tov6.15.5
6.6.1 - 2023-03-09
- Bump
giantswarm/app
package tov6.15.2
to 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-on
annotation.
6.5.1 - 2023-02-01
- Bump
giantswarm/app
package tov6.15.2
to 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
port
instead of deprecatedtargetPort
field forPodMonitor
- Provide synchronization between goroutines operating on indices maps.
6.4.2 - 2022-11-21
- Bump
github.com/giantswarm/app
tov6.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
extraConfigs
section 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/app
tov6.12.0
6.1.0 - 2022-07-05
- Use downward API to set deployment env var
KUBERNETES_SERVICE_HOST
tostatus.hostIP
. - Change
initialBootstrapMode
configuration 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
PodMonitor
outside of bootstrap mode.
6.0.0 - 2022-06-08
- Added
PodMonitor
to the Helm chart to collect metrics from the running operator pod (instead of via the Service)
- This version requires
prometheus-meta-operator
ofv3.6.0
or later to scrape the metrics from thePodMinitor
- This version requires
kyverno-policies-observability
ofv0.1.2
or later to have proper labels applied to metrics
- Removed Service from the Helm chart
5.12.0 - 2022-06-06
- Add
initialBootstrapMode
flag 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
*-chart
ClusterRole
andClusterRoleBinding
togiantswarm
namespace deployment.
5.10.0 - 2022-05-16
- Fix
app-operator
RBAC to avoid granting excessive permissions to itsServiceAccount
.
- Remove
authtokenmigration
resource.
5.9.0 - 2022-04-07
- 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
- Add support for relative URLs in catalog indexes.
- 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
- 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
- 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
AppCatalogEntry
as 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
apptestctl
to install CRDs in integration tests to avoid hitting GitHub rate limits.
- Remove
releasemigration
resource now migration to Helm 3 is complete.
5.3.1 - 2021-12-08
- 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
- 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
- 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
- Fix creating
AppCatalog
CRs in appcatalogsync resource.
5.1.0 - 2021-07-29
- Create
AppCatalogEntry
CRs into the same namespace of Catalog CR. - Include
chart.keywords
,chart.description
andchart.upstreamChartVersion
inAppCatalogEntry
CRs.
5.0.0 - 2021-07-16
- Create
AppCatalog
CRs fromCatalog
CRs for compatibility with existing app-operator releases. - Prepare helm values to configuration management.
- Use
Catalog
CRs inApp
controller. - Reconcile to
Catalog
CRs instead ofAppCatalog
. - Get
Chart
CRD 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
,namespace
metadata validation based on the relevantAppCatalogEntry
CR.
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.compatibleProviders
in 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=true
annotation. - 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-install
status.
- 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.catalog
field 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.