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: README.md
+28-8Lines changed: 28 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,14 +26,13 @@ microsoft:
26
26
27
27
### Managed Identity (Entra ID)
28
28
29
-
AzureBlob supports managed identities on:
29
+
AzureBlob supports managed identities on:
30
30
- Azure VM
31
31
- App Service
32
+
- AKS (Azure Kubernetes Service) with workload identity
32
33
- Azure Functions (Untested but should work)
33
34
- Azure Containers (Untested but should work)
34
35
35
-
AKS support will likely require more work. Contributions are welcome.
36
-
37
36
To authenticate through managed identities instead of a shared key, omit `storage_access_key` from your `storage.yml` file and pass in the identity `principal_id`.
> uses `AZURE_CLIENT_ID`, `AZURE_TENANT_ID` and `AZURE_FEDERATED_TOKEN_FILE` environment variables, made available by AKS cluster when Azure AD Workload Identity is set up properly.
61
+
62
+
49
63
### Azurite
50
64
51
65
To use Azurite, pass the `storage_blob_host` config key with the Azurite URL (`http://127.0.0.1:10000/devstoreaccount1` by default)
@@ -126,20 +140,26 @@ A dev environment is supplied through Nix with [devenv](https://devenv.sh/).
126
140
127
141
To test with Entra ID, the `AZURE_ACCESS_KEY` environment variable must be unset and the code must be ran or proxied through a VPS with the proper roles.
128
142
129
-
For cost saving, the terraform variable`create_vm`and `create_app_service` are false by default.
130
-
To create the VPS and App service, Create a var file `var.tfvars` containing:
143
+
For cost saving, the terraform variables`create_vm`, `create_app_service`, and `create_aks` are false by default.
144
+
To create the VM, App Service, and/or AKS cluster, create a var file `var.tfvars` containing:
131
145
132
146
```
133
147
create_vm = true
134
148
create_app_service = true
149
+
create_aks = true
135
150
```
136
151
and re-apply terraform: `terraform apply -var-file=var.tfvars`.
137
152
138
-
This will create the VPS and required managed identities.
153
+
This will create the infrastructure and required managed identities.
154
+
155
+
**Testing:**
156
+
-`bin/rake test_azure_vm` - Establishes a VPN connection to the Azure VM and runs tests using node identity
157
+
-`bin/rake test_app_service` - Establishes a VPN connection to the App Service container and runs tests
158
+
-`bin/rake test_aks` - Establishes a VPN connection to the AKS cluster and runs tests using workload identity
139
159
140
-
`bin/rake test_azure_vm` and `bin/rake test_app_service` will establish a VPN connection to the VM or App service container and run the test suite. You might be prompted for a sudo password when the VPN starts (sshuttle).
160
+
You might be prompted for a sudo password when the VPN starts (sshuttle).
141
161
142
-
After you are done, run terraform again without the var file (`terraform apply`) to destroy the VPS and App service application.
162
+
After you are done, run terraform again without the var file (`terraform apply`) to destroy all resources.
0 commit comments