- Upgraded dependent packages. #98
- Added support for on-demand refresh of ConfigMap and Secret. While you can set up automatic data refresh, there are times when you might want to trigger an on-demand refresh to get the latest data from App Configuration and Key Vault. To do this, you can modify the
metadata.annotations
section. This enhancement makes the refresh process more flexible and better suited to your workflow. #87 - Added support for variant feature flags.
- Added support for injecting additional telemetry metadata to feature flags if telemetry is enabled, including
FeatureFlagId
,FeatureFlagReference
, andETag
. #94 - Upgraded dependent packages. #96
- Fixed a bug where the order of feature flags might not be retained between refreshes. #75
- Fixed a regression bug in version 2.1.0 that may cause the Kubernetes provider to crash with an
invalid memory address or nil pointer dereference
error whenselectors.snapshotName
is specified. #93
- Added support for load balancing mode, which enables your workloads to distribute requests to App Configuration across all available replicas. This enhancement improves the scalability of applications that typically experience high request volumes to App Configuration, ensuring they remain within quota limits. Load balancing mode is disabled by default and can be activated by setting
loadBalancingEnabled
totrue
. #55 - Added support for monitoring all selected key-values. The target ConfigMaps and Secrets will be refreshed if any of key-values are updated. Watching the sentinel key for refresh helps ensure data integrity of configuration changes but it's now optional. #40
- Fixed a bug where ConfigMaps and Secrets may be regenerated even if there is no data change. #75
- Fixed a bug where key-values with no label are not loaded if the label filter is specified as empty string. #76
- Starting with version 2.0.0, a user-provided service account is required for authenticating with Azure App Configuration using workload identity. This change enhances security through namespace isolation. Previously, a Kubernetes provider's service account was used for all namespaces. For updated instructions, see the documentation on using workload identity. If you need time to migrate when upgrading to version 2.0.0, you can temporarily set
workloadIdentity.globalServiceAccountEnabled=true
during provider installation. Please note that support for using the provider's service account will be deprecated in a future release.
- Added support for multi-platform images. The Kubernetes provider supports
linux/amd
andlinux/arm64
platforms. #892
- Fixed a bug where a feature flag could be repeatedly added to a ConfigMap if included in multiple feature flag selectors or snapshots.
- Added support for multi-platform images. The Kubernetes provider supports
linux/amd
andlinux/arm64
platforms. #892
- Fixed a regression bug in version 1.3.0 where an empty Kubernetes Secret was not created as specified by the
spec.secret.target property
when no Key Vault references were loaded. #32
- Added support for replica auto-discovery. For App Configuration stores with geo-replication enabled, the Kubernetes provider will now automatically discover replicas and attempt to connect to them when it fails to connect to user-provided endpoint. This capability allows workloads to leverage geo-replication for enhanced resiliency without redeployment. Replica discovery is enabled by default and can be disabled by setting
replicaDiscoveryEnabled
tofalse
. - Added support for storing Key Vault references of TLS certificates to Kubernetes TLS Secrets. #821
- Added support for downloading snapshot's key-values from Azure App Configuration, which is useful to safely deploy configuration changes.
- Added support for downloading feature flags from Azure App Configuration.
- Added support for setting
nodeSelector
,affinity
andtolerations
when using helm to install Azure App Configuration Kubernetes Provider. It's useful for node assignment management. #858 - Added support for setting
autoscaling
when using helm to install Azure App Configuration Kubernetes Provider. By default,autoscaling
is disabled. However, if you have multipleAzureAppConfigurationProvider
resources to produce multiple ConfigMaps/Secrets, you can enable horizontal pod autoscaling by settingautoscaling.enabled
totrue
.
- Added the
auth.workloadIdentity.managedIdentityClientIdReference
property for workloadIdentity authentication. It enables the retrieval of the client ID of a user-assigned managed identity from a ConfigMap. #812 - Added support for outputting the ConfigMap data in hierarchical format by specifying the new property
configMapData.separator
if the ConfigMap is consumed as a mounted file. This feature is useful if the configuration file loader used in your application can't load keys without converting them to the hierarchical format. #834
- Fixed a bug that may cause the Kubernetes provider to crash with an
invalid memory address or nil pointer dereference
error when a key-value pulled from App Configuration has anull
value. #848
Release of the stable API version v1
.
- Schema update (see Azure App Configuration Kubernetes Provider reference for the complete schema):
- Renamed
keyValues
toconfiguration
. - Renamed
keyVaults
tosecret
and moved it to the root, which is at the same level asconfiguration
. - Renamed
secret.auth.vaults
tosecret.auth.keyVaults
.
- Renamed
- Added the
configuration.refresh.enabled
property for dynamic configuration. It defaults tofalse
and must be set totrue
for dynamic configuration refresh. - Added the
secret.refresh.enabled
property for periodically resolving Key Vault references. It defaults tofalse
and must be set totrue
for associated Kubernetes secret update.
- Added support for periodically resolving Key Vault references to fetch latest version secret and update Kubernetes secret accordingly.
- Added support for consuming the generated ConfigMap as a mounted file besides as environment variables. #775
- Added support for workload identity authentication. #795
- Added support for dynamic configuration so the corresponding ConfigMap and Secret will be automatically updated when data is changed in Azure App Configuration.
- Added support for access key (aka. connection string) based authentication.
- Fixed an issue that happens while multiple selectors are used.
- Fixed an issue that resolved secrets are not saved in the selected order.
- Fixed a race condition issue that happens while resolving Key Vault references.
- Added support for Key Vault references, which allows resolved secrets to be saved to a Kubernetes Secret.
Initial Alpha Release of the Azure App Configuration Kubernetes Provider
- Authenticate Azure App Configuration with AAD Service Principal and Managed Identity
- Download key-values from App Configuration to Kubernetes ConfigMap
- Key filtering and label filtering
- Trim prefixes of key names