[INFRA] Standardize variable management (issue #15)#2
Closed
kristopherjturner wants to merge 2 commits intomainfrom
Closed
[INFRA] Standardize variable management (issue #15)#2kristopherjturner wants to merge 2 commits intomainfrom
kristopherjturner wants to merge 2 commits intomainfrom
Conversation
- Rename configs/ to config/ (org-wide standard: singular) - Rename variables.template.yml to variables.example.yml (org-wide standard) - Move schema assets from config/variables/assets/ to config/schema/ - Rename infrastructure.schema.json to variables.schema.json - Update all path references across scripts, docs, and README - Update .gitignore to match new paths - Add config/variables.yml to .gitignore Resolves AzureLocal/azurelocal.github.io#15
Validates infrastructure.yml against schema and checks variables.example.yml syntax. Part of AzureLocal/azurelocal.github.io#15
8 tasks
There was a problem hiding this comment.
Pull request overview
Standardizes the repository’s configuration/variable management layout to align with the org-wide config/ convention, adds schema assets under config/schema/, and introduces CI validation for config files.
Changes:
- Renames and relocates configuration assets from
configs/toconfig/, including schema/registry paths. - Adds committed baseline config and ARM template examples under
config/to support standardized deployments. - Introduces a GitHub Actions workflow to validate YAML + JSON Schema on changes under
config/.
Reviewed changes
Copilot reviewed 35 out of 54 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/Generate-SolutionConfig.ps1 | Updates referenced config/registry paths to new config/ layout. |
| scripts/lifecycle/updates/monitoring/powershell/Monitor-Update.ps1 | Updates docstring example paths from configs/ to config/. |
| scripts/deploy/04-cluster-deployment/phase-06-post-deployment/task-05-storage-configuration/powershell/Invoke-StoragePaths-Orchestrated.ps1 | Updates docstring default path from configs/ to config/. |
| scripts/deploy/04-cluster-deployment/phase-06-post-deployment/task-05-storage-configuration/powershell/Invoke-StorageCSV-Orchestrated.ps1 | Updates docstring default path from configs/ to config/. |
| scripts/deploy/04-cluster-deployment/phase-06-post-deployment/task-04-ssh-connectivity-to-nodes/powershell/Invoke-SSHConnectivity-Orchestrated.ps1 | Updates docstring default path from configs/ to config/. |
| scripts/deploy/04-cluster-deployment/phase-06-post-deployment/task-01-deploy-sdn/powershell/Get-VirtualSwitchName-Standalone.ps1 | Updates printed guidance to reference config/infrastructure.yml. |
| scripts/deploy/04-cluster-deployment/phase-05-cluster-deployment/local-identity/task-02-verify-deployment-completion/powershell/Invoke-VerifyLocalIdentityConfig-Orchestrated.ps1 | Updates docstring/examples to config/infrastructure.yml. |
| scripts/deploy/04-cluster-deployment/phase-05-cluster-deployment/local-identity/task-02-verify-deployment-completion/powershell/Invoke-VerifyClusterHealth-Orchestrated.ps1 | Updates docstring/examples to config/infrastructure.yml. |
| scripts/deploy/04-cluster-deployment/phase-05-cluster-deployment/local-identity/task-01-initiate-deployment-via-arm-template/powershell/Deploy-AzureLocalCluster.ps1 | Updates error message text to reference config/ instead of configs/. |
| scripts/deploy/04-cluster-deployment/phase-05-cluster-deployment/active-directory/task-02-verify-deployment-completion/powershell/Invoke-VerifyClusterHealth-Orchestrated.ps1 | Updates docstring/examples to config/infrastructure.yml. |
| scripts/deploy/04-cluster-deployment/phase-05-cluster-deployment/active-directory/task-02-verify-deployment-completion/powershell/Invoke-VerifyADDomainStatus-Orchestrated.ps1 | Updates docstring/examples and fallback candidates to config/. |
| scripts/deploy/04-cluster-deployment/phase-05-cluster-deployment/active-directory/task-01-initiate-deployment-via-arm-template/powershell/Deploy-AzureLocalCluster.ps1 | Updates error message text to reference config/ instead of configs/. |
| scripts/deploy/04-cluster-deployment/phase-03-os-configuration/task-12-complete-combined-script-all-steps/powershell/Invoke-Phase03OsConfiguration-Orchestrated.ps1 | Updates comment wording for config discovery (implementation still needs alignment). |
| scripts/deploy/04-cluster-deployment/phase-01-hardware-provisioning/task-02-hardware-discovery-via-dell-redfish-api/powershell/Invoke-HardwareDiscovery.ps1 | Updates docstring output path to config/. |
| scripts/deploy/02-azure-foundation/phase-04-azure-management-infrastructure/task-01-virtual-network/powershell/New-VirtualNetwork.ps1 | Updates docstring example to config/infrastructure.yml. |
| scripts/deploy/02-azure-foundation/phase-03-rbac-permissions/powershell/Test-RbacRoleAssignments.ps1 | Updates docstrings/examples and default ConfigPath to config/infrastructure.yml. |
| scripts/deploy/02-azure-foundation/phase-03-rbac-permissions/powershell/Set-RbacRoleAssignments.ps1 | Updates docstrings/examples and default ConfigPath to config/infrastructure.yml. |
| scripts/deploy/02-azure-foundation/phase-02-resource-providers/task-01-register-resource-providers/powershell/Register-ResourceProviders.ps1 | Updates docstring default path to config/infrastructure.yml. |
| scripts/common/utilities/helpers/config-loader.ps1 | Updates docstrings but still contains legacy default path in code (needs fix). |
| scripts/common/utilities/helpers/Connect-AzureSession.ps1 | Updates docstring example path to config/infrastructure.yml. |
| scripts/common/utilities/helpers/Connect-AzureCliSession.ps1 | Updates docstring example path to config/infrastructure.yml. |
| scripts/common/idrac-management/README.md | Updates examples to reference config/infrastructure.yml. |
| scripts/common/idrac-management/Enable-IdracVnc.ps1 | Updates docstring examples to reference config/infrastructure.yml. |
| docs/index.md | Updates directory listing and getting-started instructions for config/ and variables example rename. |
| docs/configuration/variables.md | Updates docs to reference variables.example.yml naming. |
| configs/variables/readme.md | Removes old variables readme under legacy configs/ tree. |
| config/variables/readme.md | Adds new variables directory readme describing new config/ structure. |
| config/variables/.gitkeep | Adds placeholder file to keep config/variables/ tracked. |
| config/variables.example.yml | Updates header/comments and standardizes example/template guidance. |
| config/schema/variables.schema.json | Renames/relocates schema and updates $id. |
| config/schema/master-registry.yaml | Updates schema reference naming to variables.schema.json. |
| config/infrastructure.yml | Adds a committed baseline infrastructure config template. |
| config/azure/arm-templates/examples/two-intent-standard/azuredeploy.parameters.local-identity.json | Adds validated example parameters (two-intent, local identity). |
| config/azure/arm-templates/examples/two-intent-standard/azuredeploy.parameters.ad.json | Adds validated example parameters (two-intent, AD). |
| config/azure/arm-templates/examples/two-intent-standard/README.md | Adds documentation for the two-intent example set. |
| config/azure/arm-templates/examples/three-intent-separated/azuredeploy.parameters.local-identity.json | Adds validated example parameters (three-intent, local identity). |
| config/azure/arm-templates/examples/three-intent-separated/azuredeploy.parameters.ad.json | Adds validated example parameters (three-intent, AD). |
| config/azure/arm-templates/examples/three-intent-separated/README.md | Adds documentation for the three-intent example set. |
| config/azure/arm-templates/examples/single-intent-converged/azuredeploy.parameters.local-identity.json | Adds validated example parameters (single-intent, local identity). |
| config/azure/arm-templates/examples/single-intent-converged/azuredeploy.parameters.ad.json | Adds validated example parameters (single-intent, AD). |
| config/azure/arm-templates/examples/single-intent-converged/README.md | Adds documentation for the single-intent example set. |
| config/azure/arm-templates/examples/README.md | Adds top-level documentation for ARM template examples. |
| config/azure/arm-templates/cluster-deployment/azuredeploy.parameters.local-identity.json | Adds placeholder-based parameter template for cluster deployment (local identity). |
| config/azure/arm-templates/cluster-deployment/azuredeploy.parameters.json | Adds a generic parameter file (non-placeholder reference). |
| config/azure/arm-templates/cluster-deployment/azuredeploy.parameters.ad.json | Adds placeholder-based parameter template for cluster deployment (AD). |
| config/azure/arm-templates/cluster-deployment/azuredeploy.json | Adds the ARM deployment template under config/. |
| config/azure/arm-templates/cluster-deployment/README.md | Updates usage to reference config/infrastructure.yml (script path still needs update). |
| config/azure/arm-templates/README.md | Updates usage to reference config/infrastructure.yml (script path still needs update). |
| config/azure/.gitkeep | Adds placeholder file to keep config/azure/ tracked. |
| config/Generate-AzureLocal-Parameters.ps1 | Updates docstring examples to reference config/ paths. |
| README.md | Updates top-level docs for config/ + variables example rename (link needs correction). |
| .gitignore | Updates ignore rules for new config/ layout and variables.yml. |
| .github/workflows/validate-config.yml | Adds CI workflow to validate config YAML and schema compliance. |
Comments suppressed due to low confidence (3)
config/azure/arm-templates/cluster-deployment/README.md:39
- These usage examples still call
\.\configs\Generate-AzureLocal-Parameters.ps1, but the generator was moved toconfig/Generate-AzureLocal-Parameters.ps1in this PR. Update the example script path so copy/paste works.
config/schema/variables.schema.json:5 $idcontains spaces (https://github.com/Azure Local Cloud/...), which is not a valid URL. Use the canonical repository URL (no spaces) or a URN-style identifier so tooling that relies on$iddoesn’t break.
config/azure/arm-templates/README.md:50- The Quick Start examples still invoke the generator via
\.\configs\Generate-AzureLocal-Parameters.ps1, but the script in this PR lives underconfig/Generate-AzureLocal-Parameters.ps1. Update the example command paths so they work after theconfigs/→config/rename.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Comment on lines
+566
to
569
| # Default to config/infrastructure.yml in repo root | ||
| if (-not $ConfigPath) { | ||
| $ConfigPath = Join-Path $script:RepoRoot "configs\infrastructure.yml" | ||
| } |
Comment on lines
+132
to
134
| # Attempt to find any infrastructure*.yml in a config/ subdirectory | ||
| foreach ($dir in @((Join-Path $PSScriptRoot "configs"), ".\configs")) { | ||
| if (Test-Path $dir) { |
| |-----------|-------------| | ||
| | **[scripts/](https://github.com/AzureLocal/azurelocal-toolkit/tree/main/scripts)** | 200+ PowerShell scripts organized by deployment stage (02–08), plus common modules, validation, handover, lifecycle, and tools | | ||
| | **[configs/](https://github.com/AzureLocal/azurelocal-toolkit/tree/main/configs)** | Master infrastructure config template, ARM templates, and variable registry | | ||
| | **[config/](https://github.com/AzureLocal/azurelocal-toolkit/tree/main/configs)** | Master infrastructure config template, ARM templates, and variable registry | |
| print('✅ config/infrastructure.yml passes schema validation') | ||
| except ValidationError as e: | ||
| print(f'❌ Schema validation failed: {e.message}') | ||
| print(f' Path: {\" > \".join(str(p) for p in e.absolute_path)}') |
Contributor
Author
|
Superseded by #3 which now includes all issue-15 variable standardization changes merged with issue-14 unified standards. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Standardizes config directory structure and adds schema validation as part of the org-wide variable management standardization initiative.
Changes
Related