SummaryThe Azure EA Self Service project was approved for design and delivery via Squad 0 from an initial request to manage our internal platforms, delivery and processes for creating EA subscriptions under Azure with the lest amount of effort while ensuring high standards as well more freedom for developers to work without the risk of sharing a tenant and resoutrces with our production Azure services
The project also allowed the engineers to add value by trying out a number of toolls, techniques and processes which will lead onto more information coming out for the benefit of our peers |
Pre-requisitesThe solution is intended to be as easy - or as complex - as the requesting engineer wants; the WebUI providing quick and simple access - and config file via the repository for more advanced configurations and customisation The solution n ot only crosses over multiple systems and platforms - so we use a wide number of services, using multiple service principals, ea billing roles, GitHub roles, tokens, etc etc - some idea of the focus is that around 60% of engineer time has been collecting best practice, then doing spikes to check - and extensive testing of the pre-required items further information and documentation is available in Confluence - some prep tasks are summarised here as hey are covered more extensively in the build documents |
Done | Platform | Detail | Notes | |
|---|---|---|---|---|
| 1 | ||||
| 2 |
InstallationThe solution is an internal solution only and will be delivered into production by the engineering team that have delivered the product - however to ensure that skills transfer and supportability the engineering steps for “Engineers” will be delivered in some detail in the hope that a simple and templated style of modularly adding to the vending solution will continue Users, Accounts, Seervice Principals, Keys etc for this project should be treated likew the crown jewels. while every effort is always made to deliver securely, a risk analysis and the mitigations we have used should be discussed, risk levels agreed and cross-discipline agreement to sign off on those risks |
DONE | Description | ||
|---|---|---|---|
| 1 | login to the | ||
| 2 | create the Contino instance of the vending code from the template repository | gh api --method POST /repos/pknw1-tf/ea_subscription_vending_v2/generate \
-f owner='contino' -f name='azure-subs-vending' -F private=true
| |
| 3 | clone the remote repository locally | git clone it@github.com:contino/azure-subs-vending.git | |
| 4 | configure remote terraform state details in | vi production/backend.tf
terraform {
backend "azurerm" {
storage_account_name = ""
container_name = ""
key = "terraform.tfstate"
}
}
| |
| 5 | configure GitHub Secrets (used in | vi '../secrets.txt' ARM_CLIENT_SECRET_CONTINO="" ARM_CLIENT_SECRET_SQUAD0="" GH_ORG_TOKEN="" STORAGE_ACCOUNT_KEY="" gh secret set -f ../secrets.txt | |
| 6 |
CheckpointAt this stage, we should now have
at each stage of the config, we should verify manually that
test all along the deployment process - validate logins etc and the record here Apps/Clients, who created them and what maintenance they require - such as key rotation or whitelist updates |
Operationtext text text |
Checkpoint |
Workflow |
Maintenance |
Help & References |
Section | Details |
|---|---|
Common Errors | |
WebForm Errors | |
User-Video | created with biteable.com |





