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
> Application Configuration Service for VMware Tanzu reaches the end of support on August 31, 2025. We recommend migrating it to managed [Spring Cloud Config Server](../basic-standard/how-to-config-server.md). For more information on how to perform the migration, see [Migrate Application Configuration Service to managed Spring Cloud Config Server](../migration/migrate-enterprise-application-configuration-service.md?toc=/azure/spring-apps/enterprise/toc.json&bc=/azure/spring-apps/enterprise/breadcrumb/toc.json).
@@ -60,28 +63,28 @@ To manage the service settings, open the **Settings** section. In this section,
60
63
61
64
If your current service generation is **Gen1**, you can upgrade to **Gen2** for better performance. For more information, see the [Upgrade from Gen1 to Gen2](#upgrade-from-gen1-to-gen2) section.
62
65
63
-
The **Refresh Interval** specifies the frequency (in seconds) for checking updates in the repository. The minimum value is *0*, which disables automatic refresh. For optimal performance, set this interval to a minimum value of 60 seconds.
66
+
The **Refresh Interval** specifies the frequency in seconds for checking updates in the repository. The minimum value is **0**, which disables automatic refresh. For optimal performance, set this interval to a minimum value of 60 seconds.
64
67
65
68
The following table describes the properties for each repository entry:
|`Name`| Yes | A unique name to label each Git repository. |
70
-
|`Patterns`| Yes | The patterns to search for in Git repositories. For each pattern, use a format such as *{application}* or *{application}/{profile}* rather than *{application}-{profile}.yml*. Separate the patterns with commas. For more information, see the [Pattern](#pattern) section of this article. |
71
-
|`URI`| Yes | A Git URI (for example, `https://github.com/Azure-Samples/piggymetrics-config` or `[email protected]:Azure-Samples/piggymetrics-config`)|
72
-
|`Label`| Yes | The branch name to search for in the Git repository. |
73
-
|`Search path`| No | Optional search paths, separated by commas, for searching subdirectories of the Git repository. |
|`Name`| Yes | A unique name to label each Git repository. |
73
+
|`Patterns`| Yes | The patterns to search for in Git repositories. For each pattern, use a format such as **{application}** or **{application}/{profile}** rather than **{application}-{profile}.yml**. Separate the patterns with commas. For more information, see the [Pattern](#pattern) section of this article. |
74
+
|`URI`| Yes | A Git URI - for example, `https://github.com/Azure-Samples/piggymetrics-config` or `[email protected]:Azure-Samples/piggymetrics-config`. |
75
+
|`Label`| Yes | The branch name to search for in the Git repository. |
76
+
|`Search path`| No | Optional search paths, separated by commas, for searching subdirectories of the Git repository. |
74
77
75
78
### Pattern
76
79
77
-
Configuration is pulled from Git backends using what you define in a pattern. A pattern is a combination of *{application}/{profile}* as described in the following guidelines.
80
+
Configuration is pulled from Git backends using what you define in a pattern. A pattern is a combination of **{application}/{profile}** as described in the following guidelines:
78
81
79
-
-*{application}* - The name of an application whose configuration you're retrieving. The value `application` is considered the default application and includes configuration information shared across multiple applications. Any other value refers to a specific application and includes properties for both the specific application and shared properties for the default application.
80
-
-*{profile}* - Optional. The name of a profile whose properties you can retrieve. An empty value, or the value `default`, includes properties that are shared across profiles. Non-default values include properties for the specified profile and properties for the default profile.
82
+
-**{application}** - The name of an application whose configuration you're retrieving. The value `application` is considered the default application and includes configuration information shared across multiple applications. Any other value refers to a specific application and includes properties for both the specific application and shared properties for the default application.
83
+
-**{profile}** - Optional. The name of a profile whose properties you can retrieve. An empty value, or the value `default`, includes properties that are shared across profiles. Non-default values include properties for the specified profile and properties for the default profile.
81
84
82
85
### Authentication
83
86
84
-
The following screenshot shows the three types of repository authentication supported by Application Configuration Service.
87
+
The following screenshot shows the three types of repository authentication supported by Application Configuration Service:
85
88
86
89
:::image type="content" source="media/how-to-enterprise-application-configuration-service/configuration-service-authentication.png" alt-text="Screenshot of the Azure portal that shows the Application Configuration Service page with the Authentication type menu highlighted." lightbox="media/how-to-enterprise-application-configuration-service/configuration-service-authentication.png":::
87
90
@@ -114,8 +117,8 @@ The following list describes the three authentication types:
|`Private key`| Yes | The private key that identifies the Git user. Passphrase-encrypted private keys aren't supported. |
117
-
|`Host key`| No for Gen1 <br> Yes for Gen2 | The host key of the Git server. If you connect to the server via Git on the command line, the host key is in your *.ssh/known_hosts* file. Don't include the algorithm prefix, because it's specified in `Host key algorithm`. |
118
-
|`Host key algorithm`| No for Gen1 <br> Yes for Gen2 | The algorithm for `hostKey`: one of `ssh-dss`, `ssh-rsa`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, and `ecdsa-sha2-nistp521`. (Required if supplying `Host key`). |
120
+
|`Host key`| No for Gen1 <br> Yes for Gen2 | The host key of the Git server. If you connect to the server via Git on the command line, the host key is in your **.ssh/known_hosts** file. Don't include the algorithm prefix, because it's specified in `Host key algorithm`. |
121
+
|`Host key algorithm`| No for Gen1 <br> Yes for Gen2 | The algorithm for `hostKey`: one of `ssh-dss`, `ssh-rsa`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, and `ecdsa-sha2-nistp521`. Required if you supply `Host key`. |
119
122
|`Strict host key checking`| No | Optional value that indicates whether the backend should be ignored if it encounters an error when using the provided `Host key`. Valid values are `true` and `false`. The default value is `true`. |
120
123
121
124
To validate access to the target URI, select **Validate**. After validation completes successfully, select **Apply** to update the configuration settings.
@@ -128,7 +131,7 @@ Gen2 requires more configuration properties than Gen1 when using SSH authenticat
|`Host key`| The host key of the Git server. If you connect to the server via Git on the command line, the host key is in your *.ssh/known_hosts* file. Don't include the algorithm prefix, because it's specified in `Host key algorithm`. |
134
+
|`Host key`| The host key of the Git server. If you connect to the server via Git on the command line, the host key is in your **.ssh/known_hosts** file. Don't include the algorithm prefix, because it's specified in `Host key algorithm`. |
132
135
|`Host key algorithm`| The algorithm for `hostKey`: one of `ssh-dss`, `ssh-rsa`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`. |
133
136
134
137
Use the following steps to upgrade from Gen1 to Gen2:
@@ -169,7 +172,7 @@ In Spring applications, properties are held or referenced as beans within the Sp
169
172
170
173
- Call the `/actuator/refresh` endpoint exposed on the config client via the Spring Actuator.
171
174
172
-
To use this method, add the following dependency to your configuration client's *pom.xml* file.
175
+
To use this method, add the following dependency to your configuration client's **pom.xml** file:
173
176
174
177
```xml
175
178
<dependency>
@@ -334,11 +337,11 @@ Use the following steps to create a new app and bind it to the Application Confi
334
337
Use the following command to create a new app and bind it to the Application Configuration Service:
335
338
336
339
```azurecli
337
-
az spring app create \
338
-
--resource-group <resource-group> \
339
-
--service <service-name> \
340
-
--name <app-name> \
341
-
--bind-application-configuration-service
340
+
az spring app create \
341
+
--resource-group <resource-group> \
342
+
--service <service-name> \
343
+
--name <app-name> \
344
+
--bind-application-configuration-service
342
345
```
343
346
344
347
---
@@ -443,9 +446,9 @@ This command produces JSON output similar to the following example:
443
446
```
444
447
445
448
> [!NOTE]
446
-
> The `metadata` and `gitRevisions` properties are not available for the Gen1 version of Application Configuration Service.
449
+
> The `metadata` and `gitRevisions` properties aren't available for the Gen1 version of Application Configuration Service.
447
450
448
-
You can also use this command with the `--export-path {/path/to/target/folder}` parameter to export the configuration file to the specified folder. It supports both relative paths and absolute paths. If you don't specify the path, the command uses the path of the current directory by default.
451
+
You can also use this command with the `--export-path <path-to-target-folder>` parameter to export the configuration file to the specified folder. It supports both relative paths and absolute paths. If you don't specify the path, the command uses the path of the current directory by default.
449
452
450
453
## Examine configuration file in the app
451
454
@@ -456,14 +459,14 @@ After you bind the app to the Application Configuration Service and set the [Pat
456
459
1. Use the `echo $AZURE_SPRING_APPS_CONFIG_FILE_PATH` command to find the folders containing the configuration files. A list of locations shows up separated by commas, as shown in the following example:
1. Check the content of the configuration file using commands such as `cat`.
464
467
465
468
> [!NOTE]
466
-
> The Git revision information is not available in the app.
469
+
> The Git revision information isn't available in the app.
467
470
468
471
## Check logs
469
472
@@ -504,15 +507,10 @@ The following sections show you how to turn on and view System Logs using Log An
504
507
You must turn on System Logs and send the logs to your Log Analytics instance before you query the logs for Application Configuration Service. To enable System Logs in the Azure portal, use the following steps:
505
508
506
509
1. Open your Azure Spring Apps instance.
507
-
508
510
1. In the navigation pane, select **Diagnostics settings**.
509
-
510
511
1. Select **Add diagnostic setting** or select **Edit setting** for an existing setting.
511
-
512
512
1. In the **Logs** section, select the **System Logs** category.
513
-
514
513
1. In the **Destination details** section, select **Send to Log Analytics workspace** and then select your workspace.
515
-
516
514
1. Select **Save** to update the setting.
517
515
518
516
#### Check logs in Log Analytics
@@ -550,7 +548,7 @@ To check the logs of `application-configuration-service` and `flux-source-contro
550
548
:::image type="content" source="media/how-to-enterprise-application-configuration-service/query-logs-flux-source-controller.png" alt-text="Screenshot of the Azure portal that shows the query result of logs for flux-source-controller." lightbox="media/how-to-enterprise-application-configuration-service/query-logs-flux-source-controller.png":::
551
549
552
550
> [!NOTE]
553
-
> There might could be a few minutes delay before the logs are available in Log Analytics.
551
+
> There might be a few minutes delay before the logs are available in Log Analytics.
554
552
555
553
## Examine Git revisions of the configuration files
556
554
@@ -560,10 +558,10 @@ You can find the Git revision of the configuration file of the [Pattern](#patter
560
558
Applied ConfigMap ({config-map-name}) for content (payment/default) from Git repositories https://github.com/Azure-Samples/acme-fitness-store-config@main@sha1:{example-commit-id}
561
559
```
562
560
563
-
You can also find the Git revision by using the Azure CLI. For more information, see the [Examine configuration file with Azure CLI](#examine-configuration-file-with-the-azure-cli) section.
561
+
You can also find the Git revision by using the Azure CLI. For more information, see the [Examine configuration file with the Azure CLI](#examine-configuration-file-with-the-azure-cli) section.
564
562
565
563
> [!NOTE]
566
-
> Git revision is not available for the Gen1 version of Application Configuration Service.
564
+
> Git revision isn't available for the Gen1 version of Application Configuration Service.
567
565
568
566
## Troubleshoot known issues
569
567
@@ -575,7 +573,7 @@ If the latest changes aren't reflected in the applications, check the following
575
573
- Confirm that the application is bound to the Application Configuration Service.
576
574
- Confirm that the Application Configuration Service is using the correct Git revisions as described in the [Examine Git revisions of the configuration files](#examine-git-revisions-of-the-configuration-files) section.
577
575
- Confirm that the `ConfigMap` containing the configuration file for the [Pattern](#pattern) used by the application is updated, as described in the [Examine configuration file in ConfigMap](#examine-configuration-file-in-configmap) section of this article. If it isn't updated, raise a ticket.
578
-
- Confirm that the `ConfigMap` is mounted to the application as a file, as described in the [Examine configuration file in the app](#examine-configuration-file-in-the-app) section of this article. If the file isn't updated, wait for the Kubernetes refresh interval (1 minute), or force a refresh by restarting the application.
576
+
- Confirm that the `ConfigMap` is mounted to the application as a file, as described in the [Examine configuration file in the app](#examine-configuration-file-in-the-app) section of this article. If the file isn't updated, wait for the Kubernetes refresh interval - one minute - or force a refresh by restarting the application.
579
577
580
578
After checking these items, the applications should be able to read the updated configurations. If the applications still aren't updated, raise a ticket.
0 commit comments