| title | Migrate Application Live View to Managed Admin for Spring in Azure Container Apps |
|---|---|
| description | Describes how to migrate API Portal to Managed Admin for Spring in Azure Container Apps. |
| author | KarlErickson |
| ms.author | karler |
| ms.reviewer | dixue |
| ms.service | azure-spring-apps |
| ms.topic | upgrade-and-migration-article |
| ms.date | 08/19/2025 |
| ms.update-cycle | 1095-days |
| ms.custom | devx-track-java, devx-track-extended-java |
[!INCLUDE deprecation-note]
This article applies to: ❎ Basic/Standard ✅ Enterprise
This article describes how to migrate API Portal to Managed Admin for Spring in Azure Container Apps.
The Admin for Spring managed component provides an administrative interface for Spring Boot web applications that expose actuator endpoints. It's similar to Application Live View, acting as a lightweight insights and troubleshooting tool to help developers and operators monitor running apps.
- A configured Azure Spring Apps Enterprise plan instance with Application Configuration Service enabled.
- An existing Azure container app. For more information, see Quickstart: Deploy your first container app using the Azure portal.
- Azure CLI.
Use the following steps to provision the component:
-
Navigate to your container app's environment in the Azure portal.
-
Under Services in the service menu, select Services.
-
Choose Configure, then select Java component.
-
Fill out the Configure Java component pane with the following values:
Property Value Java component type Admin for Spring Java component name admin -
Select Next.
-
On the Review tab, select Configure.
-
Use the following command to create the Admin for Spring Java component:
az containerapp env java-component admin-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $JAVA_COMPONENT_NAME \ --environment $ENVIRONMENT \ --min-replicas 1 \ --max-replicas 1 -
Use the following command to update the Admin for Spring Java component:
az containerapp env java-component admin-for-spring update \ --resource-group $RESOURCE_GROUP \ --name $JAVA_COMPONENT_NAME \ --environment $ENVIRONMENT \ --min-replicas 2 \ --max-replicas 2
To integrate the Admin component into your container app, add the following dependency to your pom.xml file. Replace the version number with the latest version from the Maven Repository.
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>3.3.2</version>
</dependency>Use the following steps to bind your container app to the component:
- Go to your container app's environment in the Azure portal.
- Under Services, select Services.
- From the list, choose admin.
- Under Bindings, select your container app name from the App name dropdown.
- Select the Review tab and then select Configure.
- Navigate to your container app in the Azure portal and copy its URL for later use.
Use the following command to create the container app and bind it to the Admin for Spring component:
az containerapp create \
--resource-group $RESOURCE_GROUP \
--name $APP_NAME \
--environment $ENVIRONMENT \
--image $IMAGE \
--min-replicas 1 \
--max-replicas 1 \
--ingress external \
--target-port 8080 \
--bind $JAVA_COMPONENT_NAME
Note
Managed Admin for Spring in Azure Container Apps doesn't support single sign-on (SSO) configuration. It relies on Azure role assignments.
To access the dashboard, you must have the Microsoft.App/managedEnvironments/write role assigned to your account for the managed environment resource.
Use the following steps to create and assign a custom role:
-
Use the following command to create a custom role definition:
az role definition create --role-definition '{ "Name": "<ROLE_NAME>", "IsCustom": true, "Description": "Access to managed Java Component dashboards in managed environments", "Actions": [ "Microsoft.App/managedEnvironments/write" ], "AssignableScopes": ["/subscriptions/<SUBSCRIPTION_ID>"] }' -
use the following command to assign the custom role to your account:
az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "<ROLE_NAME>" \ --scope $ENVIRONMENT_ID