You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following reference outlines the properties supported by the Azure App Configuration Kubernetes Provider.
15
+
The following reference outlines the properties supported by the Azure App Configuration Kubernetes Provider`v1.2.0`. See [release notes](https://github.com/Azure/AppConfiguration/blob/main/releaseNotes/KubernetesProvider.md) for more information on the change.
16
16
17
17
## Properties
18
18
@@ -26,6 +26,7 @@ An `AzureAppConfigurationProvider` resource has the following top-level child pr
26
26
|auth|The authentication method to access Azure App Configuration.|false|object|
27
27
|configuration|The settings for querying and processing key-values in Azure App Configuration.|false|object|
28
28
|secret|The settings for Key Vault references in Azure App Configuration.|conditional|object|
29
+
|featureFlag|The settings for feature flags in Azure App Configuration.|false|object|
29
30
30
31
The `spec.target` property has the following child property.
31
32
@@ -34,15 +35,15 @@ The `spec.target` property has the following child property.
34
35
|configMapName|The name of the ConfigMap to be created.|true|string|
35
36
|configMapData|The setting that specifies how the retrieved data should be populated in the generated ConfigMap.|false|object|
36
37
37
-
If the `spec.target.configMapData` property is not set, the generated ConfigMap will be populated with the list of key-values retrieved from Azure App Configuration, which allows the ConfigMap to be consumed as environment variables. Update this property if you wish to consume the ConfigMap as a mounted file. This property has the following child properties.
38
+
If the `spec.target.configMapData` property is not set, the generated ConfigMap is populated with the list of key-values retrieved from Azure App Configuration, which allows the ConfigMap to be consumed as environment variables. Update this property if you wish to consume the ConfigMap as a mounted file. This property has the following child properties.
38
39
39
40
|Name|Description|Required|Type|
40
41
|---|---|---|---|
41
42
|type|The setting that indicates how the retrieved data is constructed in the generated ConfigMap. The allowed values include `default`, `json`, `yaml` and `properties`.|optional|string|
42
43
|key|The key name of the retrieved data when the `type` is set to `json`, `yaml` or `properties`. Set it to the file name if the ConfigMap is set up to be consumed as a mounted file.|conditional|string|
43
44
|separator|The delimiter that is used to output the ConfigMap data in hierarchical format when the type is set to `json` or `yaml`. The separator is empty by default and the generated ConfigMap contains key-values in their original form. Configure this setting only if the configuration file loader used in your application can't load key-values without converting them to the hierarchical format.|optional|string|
44
45
45
-
The `spec.auth` property isn't required if the connection string of your App Configuration store is provided by setting the `spec.connectionStringReference` property. Otherwise, one of the identities, service principal, workload identity, or managed identity, will be used for authentication. The `spec.auth` has the following child properties. Only one of them should be specified. If none of them are set, the system-assigned managed identity of the virtual machine scale set will be used.
46
+
The `spec.auth` property isn't required if the connection string of your App Configuration store is provided by setting the `spec.connectionStringReference` property. Otherwise, one of the identities, service principal, workload identity, or managed identity, is used for authentication. The `spec.auth` has the following child properties. Only one of them should be specified. If none of them are set, the system-assigned managed identity of the virtual machine scale set is used.
46
47
47
48
|Name|Description|Required|Type|
48
49
|---|---|---|---|
@@ -70,9 +71,9 @@ The `spec.configuration` has the following child properties.
70
71
|---|---|---|---|
71
72
|selectors|The list of selectors for key-value filtering.|false|object array|
72
73
|trimKeyPrefixes|The list of key prefixes to be trimmed.|false|string array|
73
-
|refresh|The settings for refreshing data from Azure App Configuration. If the property is absent, data from Azure App Configuration will not be refreshed.|false|object|
74
+
|refresh|The settings for refreshing key-values from Azure App Configuration. If the property is absent, key-values from Azure App Configuration are not refreshed.|false|object|
74
75
75
-
If the `spec.configuration.selectors` property isn't set, all key-values with no label will be downloaded. It contains an array of *selector* objects, which have the following child properties.
76
+
If the `spec.configuration.selectors` property isn't set, all key-values with no label are downloaded. It contains an array of *selector* objects, which have the following child properties.
76
77
77
78
|Name|Description|Required|Type|
78
79
|---|---|---|---|
@@ -83,9 +84,9 @@ The `spec.configuration.refresh` property has the following child properties.
83
84
84
85
|Name|Description|Required|Type|
85
86
|---|---|---|---|
86
-
|enabled|The setting that determines whether data from Azure App Configuration is automatically refreshed. If the property is absent, a default value of `false`will be used.|false|bool|
87
-
|monitoring|The key-values monitored for change detection, aka sentinel keys. The data from Azure App Configuration will be refreshed only if at least one of the monitored key-values is changed.|true|object|
88
-
|interval|The interval at which the data will be refreshed from Azure App Configuration. It must be greater than or equal to 1 second. If the property is absent, a default value of 30 seconds will be used.|false|duration string|
87
+
|enabled|The setting that determines whether key-values from Azure App Configuration is automatically refreshed. If the property is absent, a default value of `false`is used.|false|bool|
88
+
|monitoring|The key-values monitored for change detection, aka sentinel keys. The key-values from Azure App Configuration are refreshed only if at least one of the monitored key-values is changed.|true|object|
89
+
|interval|The interval at which the key-values are refreshed from Azure App Configuration. It must be greater than or equal to 1 second. If the property is absent, a default value of 30 seconds is used.|false|duration string|
89
90
90
91
The `spec.configuration.refresh.monitoring.keyValues` is an array of objects, which have the following child properties.
91
92
@@ -100,7 +101,7 @@ The `spec.secret` property has the following child properties. It is required if
100
101
|---|---|---|---|
101
102
|target|The destination of the retrieved secrets in Kubernetes.|true|object|
102
103
|auth|The authentication method to access Key Vaults.|false|object|
103
-
|refresh|The settings for refreshing data from Key Vaults. If the property is absent, data from Key Vaults will not be refreshed unless the corresponding Key Vault references are reloaded.|false|object|
104
+
|refresh|The settings for refreshing data from Key Vaults. If the property is absent, data from Key Vaults is not refreshed unless the corresponding Key Vault references are reloaded.|false|object|
104
105
105
106
The `spec.secret.target` property has the following child property.
106
107
@@ -126,12 +127,48 @@ The authentication method of each *Key Vault* can be specified with the followin
126
127
|workloadIdentity|The settings of the workload identity used for authentication with a Key Vault. It has the same child properties as `spec.auth.workloadIdentity`.|false|object|
127
128
|managedIdentityClientId|The client ID of a user-assigned managed identity of virtual machine scale set used for authentication with a Key Vault.|false|string|
128
129
129
-
The `spec.secret.refresh` property has the following child property.
130
+
The `spec.secret.refresh` property has the following child properties.
130
131
131
132
|Name|Description|Required|Type|
132
133
|---|---|---|---|
133
-
|enabled|The setting that determines whether data from Key Vaults is automatically refreshed. If the property is absent, a default value of `false` will be used.|false|bool|
134
-
|interval|The interval at which the data will be refreshed from Key Vault. It must be greater than or equal to 1 minute. The Key Vault refresh is independent of the App Configuration refresh configured via `spec.configuration.refresh`.|true|duration string|
134
+
|enabled|The setting that determines whether data from Key Vaults is automatically refreshed. If the property is absent, a default value of `false` is used.|false|bool|
135
+
|interval|The interval at which the data is refreshed from Key Vault. It must be greater than or equal to 1 minute. The Key Vault refresh is independent of the App Configuration refresh configured via `spec.configuration.refresh`.|true|duration string|
136
+
137
+
The `spec.featureFlag` property has the following child properties. It is required if any feature flags are expected to be downloaded.
138
+
139
+
|Name|Description|Required|Type|
140
+
|---|---|---|---|
141
+
|selectors|The list of selectors for feature flag filtering.|false|object array|
142
+
|refresh|The settings for refreshing feature flags from Azure App Configuration. If the property is absent, feature flags from Azure App Configuration are not refreshed.|false|object|
143
+
144
+
If the `spec.featureFlag.selectors` property isn't set, feature flags are not downloaded. It contains an array of *selector* objects, which have the following child properties.
145
+
146
+
|Name|Description|Required|Type|
147
+
|---|---|---|---|
148
+
|keyFilter|The key filter for querying feature flags.|true|string|
149
+
|labelFilter|The label filter for querying feature flags.|false|string|
150
+
151
+
The `spec.featureFlag.refresh` property has the following child properties.
152
+
153
+
|Name|Description|Required|Type|
154
+
|---|---|---|---|
155
+
|enabled|The setting that determines whether feature flags from Azure App Configuration are automatically refreshed. If the property is absent, a default value of `false` is used.|false|bool|
156
+
|interval|The interval at which the feature flags are refreshed from Azure App Configuration. It must be greater than or equal to 1 second. If the property is absent, a default value of 30 seconds is used.|false|duration string|
157
+
158
+
## Installation
159
+
160
+
Use the following `helm install` command to install the Azure App Configuration Kubernetes Provider. See [helm-values.yaml](https://github.com/Azure/AppConfiguration-KubernetesProvider/blob/main/deploy/parameter/helm-values.yaml) for the complete list of parameters and their default values. You can override the default values by passing the `--set` flag to the command.
By default, autoscaling is disabled. However, if you have multiple `AzureAppConfigurationProvider` resources to produce multiple ConfigMaps/Secrets, you can enable horizontal pod autoscaling by setting `autoscaling.enabled` to `true`.
135
172
136
173
## Examples
137
174
@@ -387,6 +424,28 @@ spec:
387
424
interval: 1h
388
425
```
389
426
427
+
### Feature Flags
428
+
429
+
In the following sample, feature flags with keys starting with `app1` and labels equivalent to `common` are downloaded and refreshed every 10 minutes.
Applications running in Kubernetes typically consume the ConfigMap either as environment variables or as configuration files. If the `configMapData.type` property is absent or is set to default, the ConfigMap is populated with the itemized list of data retrieved from Azure App Configuration, which can be easily consumed as environment variables. If the `configMapData.type` property is set to json, yaml or properties, data retrieved from Azure App Configuration is grouped into one item with key name specified by the `configMapData.key` property in the generated ConfigMap, which can be consumed as a mounted file.
@@ -403,7 +462,7 @@ Assuming an App Configuration store has these key-values:
403
462
404
463
#### [default](#tab/default)
405
464
406
-
and the `configMapData.type` property is absent or set to `default`,
465
+
And the `configMapData.type` property is absent or set to `default`,
0 commit comments