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
Copy file name to clipboardExpand all lines: articles/azure-app-configuration/howto-geo-replication.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -96,7 +96,7 @@ When geo-replication is enabled, and if one replica isn't accessible, you can le
96
96
97
97
Assuming you have an application using Azure App Configuration, you can update it as the following sample code to take advantage of the failover feature. You can either provide a list of endpoints for Microsoft Entra authentication or a list of connection strings for access key-based authentication.
98
98
99
-
### [.NET](#tab/net)
99
+
### [.NET](#tab/dotnet)
100
100
101
101
Edit the call to the `AddAzureAppConfiguration` method, which is often found in the `program.cs` file of your application.
102
102
@@ -179,7 +179,7 @@ You can specify one or more endpoints of a geo-replication-enabled App Configura
179
179
180
180
The automatically discovered replicas will be selected and used randomly. If you have a preference for specific replicas, you can explicitly specify their endpoints. This feature is enabled by default, but you can refer to the following sample code to disable it.
181
181
182
-
### [.NET](#tab/dotnet)
182
+
### [.NET](#tab/Dotnet)
183
183
184
184
Edit the call to the `AddAzureAppConfiguration` method, which is often found in the `program.cs` file of your application.
Replica auto-discovery is enabled by default and can be disabled by setting `replicaDiscoveryEnabled` to `false`.
204
+
Update the `AzureAppConfigurationProvider` resource of your Azure App Configuration Kubernetes Provider. Add a `replicaDiscoveryEnabled` property and set it to `false`.
205
205
206
206
```yaml
207
207
apiVersion: azconfig.io/v1
@@ -216,7 +216,7 @@ spec:
216
216
```
217
217
218
218
> [!NOTE]
219
-
> The failover support is available if you use version **1.3.0** or later of Azure App Configuration Kubernetes Provider.
219
+
> The automatic replica discovery and failover support is available if you use version **1.3.0** or later of [Azure App Configuration Kubernetes Provider](https://mcr.microsoft.com/product/azure-app-configuration/kubernetes-provider/about).
Copy file name to clipboardExpand all lines: articles/azure-app-configuration/reference-kubernetes-provider.md
+22-54Lines changed: 22 additions & 54 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,8 +21,8 @@ An `AzureAppConfigurationProvider` resource has the following top-level child pr
21
21
|Name|Description|Required|Type|
22
22
|---|---|---|---|
23
23
|endpoint|The endpoint of Azure App Configuration, which you would like to retrieve the key-values from.|alternative|string|
24
-
|replicaDiscoveryEnabled|The settings for replica discovery. When App Configuration stores with geo-replication enabled, the Kubernetes provider will automatically discover replicas and attempt to connect to them when it fails to connect to user-provided endpoint. If the property is absent, a default value of `true` is used.|false|bool|
25
24
|connectionStringReference|The name of the Kubernetes Secret that contains Azure App Configuration connection string.|alternative|string|
25
+
|replicaDiscoveryEnabled|The setting that determines whether replicas of Azure App Configuration are automatically discovered and used for failover. If the property is absent, a default value of `true` is used.|false|bool|
26
26
|target|The destination of the retrieved key-values in Kubernetes.|true|object|
27
27
|auth|The authentication method to access Azure App Configuration.|false|object|
28
28
|configuration|The settings for querying and processing key-values in Azure App Configuration.|false|object|
@@ -74,13 +74,13 @@ The `spec.configuration` has the following child properties.
74
74
|trimKeyPrefixes|The list of key prefixes to be trimmed.|false|string array|
75
75
|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|
76
76
77
-
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.
77
+
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. Note that the key-values of the last selector take precedence and override any overlapping keys from the previous selectors.
78
78
79
79
|Name|Description|Required|Type|
80
80
|---|---|---|---|
81
-
|keyFilter|The key filter for querying key-values.|alternative|string|
82
-
|labelFilter|The label filter for querying key-values.|false|string|
83
-
|snapshotName|The snapshot for querying its contained key-values.|alternative|string|
81
+
|keyFilter|The key filter for querying key-values. This property and the `snapshotName` property should not be set at the same time.|alternative|string|
82
+
|labelFilter|The label filter for querying key-values. This property and the `snapshotName` property should not be set at the same time.|false|string|
83
+
|snapshotName|The name of a snapshot from which key-values are loaded. This property should not be used in conjunction with other properties.|alternative|string|
84
84
85
85
The `spec.configuration.refresh` property has the following child properties.
86
86
@@ -97,7 +97,7 @@ The `spec.configuration.refresh.monitoring.keyValues` is an array of objects, wh
97
97
|key|The key of a key-value.|true|string|
98
98
|label|The label of a key-value.|false|string|
99
99
100
-
The `spec.secret` property has the following child properties. It is required if any Key Vault references are expected to be downloaded. All selected secrets would be sourced into one `Opaque` type Secret by default. For generating other types of Secret, see [Key Vault references](#key-vault-references) for more details.
100
+
The `spec.secret` property has the following child properties. It is required if any Key Vault references are expected to be downloaded. To learn more about the support for Kubernetes built-in types of Secrets, see [Types of Secret](#types-of-secret).
101
101
102
102
|Name|Description|Required|Type|
103
103
|---|---|---|---|
@@ -143,13 +143,13 @@ The `spec.featureFlag` property has the following child properties. It is requir
143
143
|selectors|The list of selectors for feature flag filtering.|false|object array|
144
144
|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|
145
145
146
-
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.
146
+
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. Note that the feature flags of the last selector take precedence and override any overlapping keys from the previous selectors.
147
147
148
148
|Name|Description|Required|Type|
149
149
|---|---|---|---|
150
-
|keyFilter|The key filter for querying feature flags.|alternative|string|
151
-
|labelFilter|The label filter for querying feature flags.|false|string|
152
-
|snapshotName|The snapshot for querying its contained feature flags.|alternative|string|
150
+
|keyFilter|The key filter for querying feature flags. This property and the `snapshotName` property should not be set at the same time.|alternative|string|
151
+
|labelFilter|The label filter for querying feature flags. This property and the `snapshotName` property should not be set at the same time.|false|string|
152
+
|snapshotName|The name of a snapshot from which feature flags are loaded. This property should not be used in conjunction with other properties.|alternative|string|
153
153
154
154
The `spec.featureFlag.refresh` property has the following child properties.
155
155
@@ -327,31 +327,7 @@ spec:
327
327
labelFilter: development
328
328
```
329
329
330
-
### Snapshot
331
-
332
-
Use the `configuration.selectors.snapshotName` property to specify a snapshot and its contained key-values will be downloaded.
333
-
334
-
#### [snapshot only](#tab/snapshotOnly)
335
-
336
-
The following example downloads key-values from specified snapshot.
#### [snapshot with key/label filters](#tab/withfilters)
353
-
354
-
In following example, snapshot and key/label filters are used to retrieve key-values. It's important to note that the values of the last selector take precedence and override any overlapping keys from the previous selectors.
330
+
A snapshot can be used alone or together with other key-value selectors. In the following sample, you load key-values of common configuration from a snapshot and then override some of them with key-values for development.
The following sample uses the `trimKeyPrefixes` property to trim two prefixes from key names before adding them to the generated ConfigMap.
@@ -418,6 +392,8 @@ spec:
418
392
419
393
### Key Vault references
420
394
395
+
#### Authentication
396
+
421
397
In the following sample, one Key Vault is authenticated with a service principal, while all other Key Vaults are authenticated with a user-assigned managed identity.
By default, all key vault reference items will be projected as key-value pairs into the specified target Secret, and the type of that target secret is `Opaque`, which cannot be customized. Given that Kubernetes has [various types](https://kubernetes.io/docs/concepts/configuration/secret/#secret-types) of Secret besides `Opaque`, Azure App Configuration Kubernetes Provider currently give compatibility for `kubernetes.io/tls` type. If you want a key vault reference item to be projected as a secret of `kubernetes.io/tls` type, you need to tag that key vault reference item with a special label `".kubernetes.secret.type": "kubernetes.io/tls"` in Azure App Configuration, like this:
Then this key vault reference item will be generated as a `kubernetes.io/tls` type Secret naming with the key of it.
421
+
#### Types of Secret
422
+
423
+
Two Kubernetes built-in [types of Secrets](https://kubernetes.io/docs/concepts/configuration/secret/#secret-types), Opaque and TLS, are currently supported. Secrets resolved from Key Vault references are saved as the [Opaque Secret](https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets) type by default. If you have a Key Vault reference to a certificate and want to save it as the [TLS Secret](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) type, you can add a **tag** with the following name and value to the Key Vault reference in Azure App Configuration. By doing so, a Secret with the `kubernetes.io/tls` type will be generated and named after the key of the Key Vault reference.
0 commit comments