Azure
Builds and runs a team's own Azure resources, signed in as the person: resource groups, Bicep and ARM deployments checked by what-if first, registry builds, Azure SQL databases and SQL, storage blobs, tables and queues, Key Vault, Container Apps with their logs and custom domains, DNS zones, budgets and role assignments for its managed identities.
6.5 MB. Check the download against its SHA-256 below.
What it contains
- Settings: Subscription ID, Regions, Mode, Allow deletes, Shared SQL servers, Shared container registries, Shared registries (old name), Monthly budget, Budget alert emails, Resource group name prefix
- Keys: App secret 1, App secret 2, App secret 3, App secret 4, App secret 5, App secret 6, App secret 7, App secret 8
- Sign-ins: Microsoft, App secrets
- Events: What a changing command would do, or what a deployment's what-if found: counts by change type and any refusals. A change was made in apply mode. One Azure resource a command created, changed or deleted in apply mode, beside that command's applied summary; at most 25 a command, and past that the summary alone covers the rest. A command was refused: outside what the team owns, a role or principal not allowed, a delete with allowDelete off, a path outside the team's folders, a secret outside Key Vault and this member's app secret connections, or bad arguments.
- Skills: plugin-azure-plugin
What it does
Key Vault and the apps' logs are reached through Azure management, so the Microsoft sign-in asks for Azure management, Azure SQL and Azure Storage only.
It changes only what it created, which carries the tags yawble-owner and yawble-plugin, plus the shared SQL servers and registries a person lists. It acts with the person's own Azure rights, never more. What-if by default: every changing command says what it would do and changes nothing until a person sets mode to apply. It never reads a key, a connection string or a Key Vault secret's value, and no token reaches its output; an app's secret comes from Key Vault or from an API-key connection bound to its appSecrets slot, set in Team settings -> Connections, and its value is never written out.
What it needs
Accounts you connect
- Microsoft required
a Microsoft account
The Microsoft account that signs in to Azure; the member acts with that account's own Azure rights.
- App secrets optional
an Apikey account
The secrets an app made by containerapp create reads as secret environment variables: API-key connections (preset Other), each field one secret by the name the team refers to it with, through secret=<NAME>=<field name>. Added and assigned to this team in Team settings -> Connections; bind as many as needed. A value is never shown again or written out.
Keys set on the Host
A plugin names its secret fields; you choose the key each one reads when you hire it.
appSecret1requiredMoved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret1, so secret=<NAME>=appSecret1 keeps working.
appSecret2requiredMoved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret2, so secret=<NAME>=appSecret2 keeps working.
appSecret3requiredMoved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret3, so secret=<NAME>=appSecret3 keeps working.
appSecret4requiredMoved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret4, so secret=<NAME>=appSecret4 keeps working.
appSecret5requiredMoved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret5, so secret=<NAME>=appSecret5 keeps working.
appSecret6requiredMoved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret6, so secret=<NAME>=appSecret6 keeps working.
appSecret7requiredMoved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret7, so secret=<NAME>=appSecret7 keeps working.
appSecret8requiredMoved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret8, so secret=<NAME>=appSecret8 keeps working.
Settings you choose
subscriptionoptionalThe id of the Azure subscription this member works in, such as 00000000-0000-0000-0000-000000000000; run setup after signing in and it lists the subscriptions your account can read.
regionsoptionalThe Azure regions resource groups may be created in, chosen from the list; eastus2 unless a person picks others.
modeoptionalwhatif answers what each changing command would do and changes nothing in Azure; apply makes the changes.
allowDeleteoptionalOff: every delete is refused, in whatif and apply; on: the member may delete what its team owns.
sharedSqlServersoptionalExisting SQL servers, by name such as my-sql-server, on which the member may create its own databases; it never changes the server or another database on it.
sharedContainerRegistriesoptionalExisting Azure Container Registries (ACR), by name such as myregistry, that the member may build and push images to and grant pull rights on to its own managed identities; a Container App's image is pulled from one of them.
sharedRegistriesoptionalThe old name of sharedContainerRegistries, still read; move its registries to sharedContainerRegistries.
monthlyBudgetoptionalA monthly budget, in the subscription's currency, put on every resource group the member creates, with alerts at 80% and 100%; 0 means no budget.
budgetEmailsoptionalThe email addresses the budget alerts go to; needed when monthlyBudget is more than 0.
namePrefixoptionalText put before the name of every resource group the member creates, such as team1-; empty by default.
Setting it up
Accounts you connect
- Microsoft required
a Microsoft account
The Microsoft account that signs in to Azure; the member acts with that account's own Azure rights.
- App secrets optional
an Apikey account
The secrets an app made by containerapp create reads as secret environment variables: API-key connections (preset Other), each field one secret by the name the team refers to it with, through secret=<NAME>=<field name>. Added and assigned to this team in Team settings -> Connections; bind as many as needed. A value is never shown again or written out.
Settings and secrets
- Subscription ID optional
No default.
The id of the Azure subscription this member works in, such as 00000000-0000-0000-0000-000000000000; run setup after signing in and it lists the subscriptions your account can read.
- Regions optional
Default: eastus2
The Azure regions resource groups may be created in, chosen from the list; eastus2 unless a person picks others.
- Mode optional
Default: whatif
whatif answers what each changing command would do and changes nothing in Azure; apply makes the changes.
- Allow deletes optional
Default: Off
Off: every delete is refused, in whatif and apply; on: the member may delete what its team owns.
- Shared SQL servers optional
No default.
Existing SQL servers, by name such as my-sql-server, on which the member may create its own databases; it never changes the server or another database on it.
- Shared container registries optional
No default.
Existing Azure Container Registries (ACR), by name such as myregistry, that the member may build and push images to and grant pull rights on to its own managed identities; a Container App's image is pulled from one of them.
- Shared registries (old name) optional
No default.
The old name of sharedContainerRegistries, still read; move its registries to sharedContainerRegistries.
- Monthly budget optional
Default: 0
A monthly budget, in the subscription's currency, put on every resource group the member creates, with alerts at 80% and 100%; 0 means no budget.
- Budget alert emails optional
No default.
The email addresses the budget alerts go to; needed when monthlyBudget is more than 0.
- Resource group name prefix optional
No default.
Text put before the name of every resource group the member creates, such as team1-; empty by default.
- App secret 1 secret, optional
Moved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret1, so secret=<NAME>=appSecret1 keeps working.
Entered once per member and kept encrypted; hidden as you type it.
- App secret 2 secret, optional
Moved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret2, so secret=<NAME>=appSecret2 keeps working.
Entered once per member and kept encrypted; hidden as you type it.
- App secret 3 secret, optional
Moved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret3, so secret=<NAME>=appSecret3 keeps working.
Entered once per member and kept encrypted; hidden as you type it.
- App secret 4 secret, optional
Moved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret4, so secret=<NAME>=appSecret4 keeps working.
Entered once per member and kept encrypted; hidden as you type it.
- App secret 5 secret, optional
Moved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret5, so secret=<NAME>=appSecret5 keeps working.
Entered once per member and kept encrypted; hidden as you type it.
- App secret 6 secret, optional
Moved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret6, so secret=<NAME>=appSecret6 keeps working.
Entered once per member and kept encrypted; hidden as you type it.
- App secret 7 secret, optional
Moved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret7, so secret=<NAME>=appSecret7 keeps working.
Entered once per member and kept encrypted; hidden as you type it.
- App secret 8 secret, optional
Moved: from 3.0.0 the app secrets are held by the API-key connections bound to the appSecrets slot, set in Team settings -> Connections. Declared only so an update carries an existing value over into that slot, as a connection field still named appSecret8, so secret=<NAME>=appSecret8 keeps working.
Entered once per member and kept encrypted; hidden as you type it.
Details
- Kind
- Plugin
- Version
- 3.0.0
- Plugins
azure-plugin3.0.0- Platforms
- Linux x64, Linux Arm64
- Size
- 6.5 MB (6,772,886 bytes)
- SHA-256
1a4b2df5a9098de3a1d19ada1b5425bb954063bb27d05272b52cb62b863bf7c8- Download
- azure-plugin-3.0.0.zip
- Source
- github.com/djlsystems/Yawble-packages/tree/main/packages/azure-plugin
- License
- Apache License 2.0 (Apache-2.0), separate from the license of Yawble itself
How to install
In Yawble, open Marketplace, find Azure under Browse and press Get. Or download the .zip, then in Yawble:
- Admin
- Plugins
- Install from a folder
You see what the package adds before it goes in, and you connect its accounts and set its keys afterwards.
