Skip to content

Commit 0713174

Browse files
authored
Merge pull request #304110 from zhiyuanliang-ms/zhiyuanliang/app-config-emulator
Azure App Configuration - Add emulator doc
2 parents 122df02 + b859e8f commit 0713174

7 files changed

Lines changed: 139 additions & 1 deletion

File tree

articles/azure-app-configuration/TOC.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,10 @@
451451
items:
452452
- name: Feature flag telemetry reference
453453
href: feature-flag-telemetry-reference.md
454+
- name: Local emulator
455+
items:
456+
- name: Overview
457+
href: emulator-overview.md
454458
- name: Deployment
455459
items:
456460
- name: ARM template

articles/azure-app-configuration/configuration-provider-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Module | Platform | Sample | Release Notes
3939

4040
## Feature Development Status
4141

42-
This is an overview of each feature and its current status for different frameworks or programming languages.
42+
This is an overview of each feature and its current status for different frameworks or programming languages.
4343

4444
- **GA (General Availability)**: The feature is fully released, considered stable, and ready for production use.
4545
- **Preview**: The feature is available for early testing and feedback, but not yet fully stable or recommended for production use.
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
---
2+
title: App Configuration Emulator Overview
3+
titleSuffix: Azure App Configuration
4+
description: Overview of Azure App Configuration emulator.
5+
services: azure-app-configuration
6+
author: zhiyuanliang-ms
7+
ms.author: zhiyuanliang
8+
ms.service: azure-app-configuration
9+
ms.topic: overview
10+
ms.date: 08/12/2025
11+
#Customer intent: I want to learn about how to Azure App Configuration emulator for local development.
12+
---
13+
14+
# Azure App Configuration emulator overview
15+
16+
The Azure App Configuration emulator is a local development tool that provides a lightweight implementation of the Azure App Configuration service. This emulator allows developers to test and develop applications locally without requiring an active Azure subscription or connection to the cloud service.
17+
18+
The Azure App Configuration emulator is open source. For more information, visit the [GitHub repository](https://github.com/Azure/AppConfiguration-Emulator).
19+
20+
## Feature overview
21+
22+
The following table lists the features supported by the latest Azure App Configuration emulator.
23+
24+
| Feature | Status |
25+
| ---------------------------------------------------------------- | --------- |
26+
| Web UI | Available |
27+
| Anonymous Authentication | Available |
28+
| [HMAC Authentication](./rest-api-authentication-hmac.md) | Available |
29+
| [Entra Id Authentication](./rest-api-authentication-azure-ad.md) | WIP |
30+
| .NET Aspire Integration | WIP |
31+
32+
| API | Status |
33+
| ---------------------------------------------------------------- | --------- |
34+
| [`/keys`](./rest-api-keys.md) | Available |
35+
| [`/kv`](./rest-api-key-value.md) | Available |
36+
| [`/labels`](./rest-api-labels.md) | Available |
37+
| [`/locks`](./rest-api-locks.md) | Available |
38+
| [`/revisions`](./rest-api-revisions.md) | Available |
39+
| [`/snapshots`](./rest-api-snapshot.md) | WIP |
40+
41+
## Install the emulator
42+
43+
### [Docker](#tab/docker)
44+
45+
Use [Docker](https://hub.docker.com/) to pull the latest [App Configuration emulator image](https://mcr.microsoft.com/artifact/mar/azure-app-configuration/app-configuration-emulator/about) by using the following console command:
46+
47+
```console
48+
docker pull mcr.microsoft.com/azure-app-configuration/app-configuration-emulator:1.0.0-preview
49+
```
50+
51+
### [GitHub](#tab/github)
52+
53+
This installation method requires that you have installed:
54+
* [Git](https://git-scm.com/)
55+
* [.NET 8.0 SDK](https://dotnet.microsoft.com/download/dotnet/8.0)
56+
* [Node.js](https://nodejs.org)
57+
58+
1. Clone the [GitHub repository](https://github.com/Azure/AppConfiguration-Emulator) for the emulator project.
59+
60+
```console
61+
git clone https://github.com/Azure/AppConfiguration-Emulator.git
62+
```
63+
64+
1. Build the entire solution including the UI components.
65+
66+
```console
67+
cd AppConfiguration-Emulator
68+
dotnet restore
69+
dotnet build
70+
```
71+
72+
---
73+
74+
## Run the emulator
75+
76+
### [Docker](#tab/docker)
77+
78+
The following command runs the App Configuration emulator Docker image. The `-p 8483:8483` parameter redirects requests from host machine's port 8483 to the Docker instance. The `-e Tenant:AnonymousAuthEnabled=true` and `-e Authentication:Anonymous:AnonymousUserRole=Owner` parameters configure the anonymous authentication for the emulator.
79+
80+
```console
81+
docker run -d -p 8483:8483 \
82+
-e Tenant:AnonymousAuthEnabled=true \
83+
-e Authentication:Anonymous:AnonymousUserRole=Owner \
84+
mcr.microsoft.com/azure-app-configuration/app-configuration-emulator:1.0.0-preview
85+
```
86+
87+
If you want to have persisted data for the emulator, you can use a [bind mount](https://docs.docker.com/engine/storage/bind-mounts).
88+
89+
```console
90+
docker run -d -p 8483:8483 \
91+
-v "C:\aace:/app/.aace" \
92+
-e Tenant:AnonymousAuthEnabled=true \
93+
-e Authentication:Anonymous:AnonymousUserRole=Owner \
94+
mcr.microsoft.com/azure-app-configuration/app-configuration-emulator:1.0.0-preview
95+
```
96+
97+
### [GitHub](#tab/github)
98+
99+
```console
100+
dotnet run --project src/Azure.AppConfiguration.Emulator.Host/Azure.AppConfiguration.Emulator.Host.csproj
101+
```
102+
103+
---
104+
105+
## Emulator in action
106+
107+
Once started, the emulator is available at: `http://localhost:8483`
108+
109+
1. Open your browser and navigate to `http://localhost:8483`.
110+
111+
> [!div class="mx-imgBorder"]
112+
> ![Screenshot of the emulator UI with no key value.](./media/emulator/ui-empty.png)
113+
114+
1. Click the `Create` button and add a new key `Message`.
115+
116+
> [!div class="mx-imgBorder"]
117+
> ![Screenshot of the emulator UI, creating a new key value.](./media/emulator/ui-create.png)
118+
119+
1. Click the `Save` button and you see the key value in the configuration explorer.
120+
121+
> [!div class="mx-imgBorder"]
122+
> ![Screenshot of the emulator UI with the new key value.](./media/emulator/ui-updated.png)
123+
124+
1. Get `http://localhost:8483/kv` and you get the following response.
125+
126+
```json
127+
{"items":[{"etag":"EzV9zWW8k5JpcIXL00T5Kg","key":"Message","label":null,"content_type":null,"value":"Hello World!","tags":{},"locked":false,"last_modified":"2025-08-12T16:56:25.384738+00:00"}]}
128+
```
129+
130+
## Next steps
131+
132+
For examples about how to use the emulator in your applications, go to the [GitHub repository](https://github.com/Azure/AppConfiguration-Emulator/tree/main/examples).

articles/azure-app-configuration/index.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,8 @@ landingContent:
222222
url: /rest/api/appconfiguration/
223223
- text: Data plane REST API
224224
url: rest-api.md
225+
- text: Local emulator
226+
url: emulator-overview.md
225227
- linkListType: reference
226228
links:
227229
- text: Azure CLI
96.6 KB
Loading
76 KB
Loading
91.5 KB
Loading

0 commit comments

Comments
 (0)