├── .azbootstrap-globals.jsonc.example ├── .github ├── copilot-instructions.md └── workflows │ ├── integration-test.yml │ └── publish-powershell-gallery.yml ├── .gitignore ├── DESIGN.md ├── LICENSE ├── README.md ├── az-bootstrap.psd1 ├── az-bootstrap.psm1 ├── images ├── az-bootstrap-interactive.gif └── az-bootstrap.gif ├── integration-tests ├── .env.example ├── Invoke-IntegrationTest.ps1 ├── README.md └── Test-BicepDeployment.ps1 ├── integration └── .env.example ├── private ├── Add-AzBootstrapConfig.ps1 ├── Get-AzBootstrapConfig.ps1 ├── Get-AzCliContext.ps1 ├── Get-EnvironmentName.ps1 ├── Get-GitHubRepositoryInfo.ps1 ├── Get-ManagedIdentityName.ps1 ├── Invoke-GitHubApiCommand.ps1 ├── Invoke-GitHubCliCommand.ps1 ├── New-AzBicepDeployment.ps1 ├── New-GitHubBranchRuleset.ps1 ├── New-GitHubEnvironment.ps1 ├── Resolve-TemplateRepoUrl.ps1 ├── Set-GitHubEnvironmentPolicy.ps1 ├── Set-GitHubEnvironmentSecrets.ps1 ├── Start-AzBootstrapInteractiveMode.ps1 ├── Test-AzResourceGroupExists.ps1 ├── Test-AzStorageAccountName.ps1 ├── Test-GitHubCLI.ps1 ├── Test-GitHubRepositoryExists.ps1 ├── Test-StorageAccountName.ps1 └── Write-BootstrapLog.ps1 ├── public ├── Add-AzBootstrapEnvironment.ps1 ├── Install-GitHubCLI.ps1 └── Invoke-AzBootstrap.ps1 ├── templates ├── environment-infra.bicep └── rbac.bicep └── tests ├── Test-AddAzBootstrapConfig.Tests.ps1 ├── Test-GetEnvironmentName.Tests.ps1 ├── Test-GetGitHubRepositoryInfo.Tests.ps1 ├── Test-GitHubRepositoryExists.Tests.ps1 ├── Test-Interactive.Tests.ps1 ├── Test-InvokeGitHubApiCommand.Tests.ps1 ├── Test-InvokeGitHubCliCommand.Tests.ps1 ├── Test-ModuleLoading.Tests.ps1 ├── Test-NewGitHubBranchRuleset.Tests.ps1 ├── Test-NewGitHubEnvironment.Tests.ps1 ├── Test-SetGitHubEnvironmentPolicy.Tests.ps1 ├── Test-SetGitHubEnvironmentSecrets.Tests.ps1 └── Test-WriteBootstrapLog.Tests.ps1 /.azbootstrap-globals.jsonc.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/.azbootstrap-globals.jsonc.example -------------------------------------------------------------------------------- /.github/copilot-instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/.github/copilot-instructions.md -------------------------------------------------------------------------------- /.github/workflows/integration-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/.github/workflows/integration-test.yml -------------------------------------------------------------------------------- /.github/workflows/publish-powershell-gallery.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/.github/workflows/publish-powershell-gallery.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/.gitignore -------------------------------------------------------------------------------- /DESIGN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/DESIGN.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/README.md -------------------------------------------------------------------------------- /az-bootstrap.psd1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/az-bootstrap.psd1 -------------------------------------------------------------------------------- /az-bootstrap.psm1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/az-bootstrap.psm1 -------------------------------------------------------------------------------- /images/az-bootstrap-interactive.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/images/az-bootstrap-interactive.gif -------------------------------------------------------------------------------- /images/az-bootstrap.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/images/az-bootstrap.gif -------------------------------------------------------------------------------- /integration-tests/.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/integration-tests/.env.example -------------------------------------------------------------------------------- /integration-tests/Invoke-IntegrationTest.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/integration-tests/Invoke-IntegrationTest.ps1 -------------------------------------------------------------------------------- /integration-tests/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/integration-tests/README.md -------------------------------------------------------------------------------- /integration-tests/Test-BicepDeployment.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/integration-tests/Test-BicepDeployment.ps1 -------------------------------------------------------------------------------- /integration/.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/integration/.env.example -------------------------------------------------------------------------------- /private/Add-AzBootstrapConfig.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Add-AzBootstrapConfig.ps1 -------------------------------------------------------------------------------- /private/Get-AzBootstrapConfig.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Get-AzBootstrapConfig.ps1 -------------------------------------------------------------------------------- /private/Get-AzCliContext.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Get-AzCliContext.ps1 -------------------------------------------------------------------------------- /private/Get-EnvironmentName.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Get-EnvironmentName.ps1 -------------------------------------------------------------------------------- /private/Get-GitHubRepositoryInfo.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Get-GitHubRepositoryInfo.ps1 -------------------------------------------------------------------------------- /private/Get-ManagedIdentityName.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Get-ManagedIdentityName.ps1 -------------------------------------------------------------------------------- /private/Invoke-GitHubApiCommand.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Invoke-GitHubApiCommand.ps1 -------------------------------------------------------------------------------- /private/Invoke-GitHubCliCommand.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Invoke-GitHubCliCommand.ps1 -------------------------------------------------------------------------------- /private/New-AzBicepDeployment.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/New-AzBicepDeployment.ps1 -------------------------------------------------------------------------------- /private/New-GitHubBranchRuleset.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/New-GitHubBranchRuleset.ps1 -------------------------------------------------------------------------------- /private/New-GitHubEnvironment.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/New-GitHubEnvironment.ps1 -------------------------------------------------------------------------------- /private/Resolve-TemplateRepoUrl.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Resolve-TemplateRepoUrl.ps1 -------------------------------------------------------------------------------- /private/Set-GitHubEnvironmentPolicy.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Set-GitHubEnvironmentPolicy.ps1 -------------------------------------------------------------------------------- /private/Set-GitHubEnvironmentSecrets.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Set-GitHubEnvironmentSecrets.ps1 -------------------------------------------------------------------------------- /private/Start-AzBootstrapInteractiveMode.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Start-AzBootstrapInteractiveMode.ps1 -------------------------------------------------------------------------------- /private/Test-AzResourceGroupExists.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Test-AzResourceGroupExists.ps1 -------------------------------------------------------------------------------- /private/Test-AzStorageAccountName.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Test-AzStorageAccountName.ps1 -------------------------------------------------------------------------------- /private/Test-GitHubCLI.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Test-GitHubCLI.ps1 -------------------------------------------------------------------------------- /private/Test-GitHubRepositoryExists.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Test-GitHubRepositoryExists.ps1 -------------------------------------------------------------------------------- /private/Test-StorageAccountName.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Test-StorageAccountName.ps1 -------------------------------------------------------------------------------- /private/Write-BootstrapLog.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/private/Write-BootstrapLog.ps1 -------------------------------------------------------------------------------- /public/Add-AzBootstrapEnvironment.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/public/Add-AzBootstrapEnvironment.ps1 -------------------------------------------------------------------------------- /public/Install-GitHubCLI.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/public/Install-GitHubCLI.ps1 -------------------------------------------------------------------------------- /public/Invoke-AzBootstrap.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/public/Invoke-AzBootstrap.ps1 -------------------------------------------------------------------------------- /templates/environment-infra.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/templates/environment-infra.bicep -------------------------------------------------------------------------------- /templates/rbac.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/templates/rbac.bicep -------------------------------------------------------------------------------- /tests/Test-AddAzBootstrapConfig.Tests.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/tests/Test-AddAzBootstrapConfig.Tests.ps1 -------------------------------------------------------------------------------- /tests/Test-GetEnvironmentName.Tests.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/tests/Test-GetEnvironmentName.Tests.ps1 -------------------------------------------------------------------------------- /tests/Test-GetGitHubRepositoryInfo.Tests.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/tests/Test-GetGitHubRepositoryInfo.Tests.ps1 -------------------------------------------------------------------------------- /tests/Test-GitHubRepositoryExists.Tests.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/tests/Test-GitHubRepositoryExists.Tests.ps1 -------------------------------------------------------------------------------- /tests/Test-Interactive.Tests.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/tests/Test-Interactive.Tests.ps1 -------------------------------------------------------------------------------- /tests/Test-InvokeGitHubApiCommand.Tests.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/tests/Test-InvokeGitHubApiCommand.Tests.ps1 -------------------------------------------------------------------------------- /tests/Test-InvokeGitHubCliCommand.Tests.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/tests/Test-InvokeGitHubCliCommand.Tests.ps1 -------------------------------------------------------------------------------- /tests/Test-ModuleLoading.Tests.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/tests/Test-ModuleLoading.Tests.ps1 -------------------------------------------------------------------------------- /tests/Test-NewGitHubBranchRuleset.Tests.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/tests/Test-NewGitHubBranchRuleset.Tests.ps1 -------------------------------------------------------------------------------- /tests/Test-NewGitHubEnvironment.Tests.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/tests/Test-NewGitHubEnvironment.Tests.ps1 -------------------------------------------------------------------------------- /tests/Test-SetGitHubEnvironmentPolicy.Tests.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/tests/Test-SetGitHubEnvironmentPolicy.Tests.ps1 -------------------------------------------------------------------------------- /tests/Test-SetGitHubEnvironmentSecrets.Tests.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/tests/Test-SetGitHubEnvironmentSecrets.Tests.ps1 -------------------------------------------------------------------------------- /tests/Test-WriteBootstrapLog.Tests.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kewalaka/az-bootstrap/HEAD/tests/Test-WriteBootstrapLog.Tests.ps1 --------------------------------------------------------------------------------