Skip to content

docs(infrastructure): add terraform-docs tooling and improve developer experience#365

Merged
WilliamBerryiii merged 4 commits into
mainfrom
feature/328-terraform-docs-quality-dx
Mar 31, 2026
Merged

docs(infrastructure): add terraform-docs tooling and improve developer experience#365
WilliamBerryiii merged 4 commits into
mainfrom
feature/328-terraform-docs-quality-dx

Conversation

@WilliamBerryiii
Copy link
Copy Markdown
Member

Description

This PR introduced terraform-docs as a first-class tool in the developer workflow with automated installation, contributing documentation, and linter exclusions for generated output. It also corrected Terraform variable placement in the automation and vpn modules to align with repository conventions, and normalized markdown table formatting across documentation files.

Terraform-docs Tooling and Developer Setup

Added terraform-docs integration with both developer setup scripts and contributing documentation to standardize how Terraform module documentation is generated and maintained.

  • Added a Documentation Generation section to docs/contributing/infrastructure-style.md covering .terraform-docs.yml configuration, a table of generated TERRAFORM.md file locations across all five modules, regeneration commands, and quality standards for generated output.
  • Added terraform-docs 0.21.0 to the prerequisite tools table in docs/contributing/prerequisites.md with a verification command.
  • Added terraform-docs installation logic to setup-dev.sh with architecture detection (uname -m mapping for x86_64amd64, aarch64/arm64arm64) and OS detection via uname -s.
  • Added terraform-docs installation logic to setup-dev.ps1 with cross-platform architecture and OS detection for PowerShell environments.
  • Excluded **/TERRAFORM.md from spell checking in .cspell.json and from markdown linting in .markdownlint-cli2.jsonc since these files are generated output.
  • Added lastexitcode to .cspell/general-technical.txt to support PowerShell $LASTEXITCODE references in the setup script.

Terraform Variable Consistency

Moved the tags variable from variables.core.tf to variables.tf in two modules to follow the repository convention that core variable files contain only the five standard variables (environment, resource_prefix, instance, resource_group, and optionally location).

  • Relocated tags from infrastructure/terraform/modules/automation/variables.core.tf to variables.tf with an improved description under a // === Tags === section separator.
  • Relocated tags from infrastructure/terraform/modules/vpn/variables.core.tf to variables.tf with an improved description under a // === Tags === section separator.
  • Removed default = "dev" from environment and default = null from location in the automation module's core variables, making them required at the caller level consistent with other modules.

Markdown Table Formatting

Normalized table pipe alignment across 17 documentation files. These are whitespace-only changes that do not alter rendered content.

Related to #328

Type of Change

  • 🐛 Bug fix (non-breaking change fixing an issue)
  • ✨ New feature (non-breaking change adding functionality)
  • 💥 Breaking change (fix or feature causing existing functionality to change)
  • 📚 Documentation update
  • 🏗️ Infrastructure change (Terraform/IaC)
  • ♻️ Refactoring (no functional changes)

Component(s) Affected

  • infrastructure/terraform/prerequisites/ - Azure subscription setup
  • infrastructure/terraform/ - Terraform infrastructure
  • infrastructure/setup/ - OSMO control plane / Helm
  • workflows/ - Training and evaluation workflows
  • training/ - Training pipelines and scripts
  • docs/ - Documentation

Testing Performed

  • Terraform plan reviewed (no unexpected changes)
  • Terraform apply tested in dev environment
  • Training scripts tested locally with Isaac Sim
  • OSMO workflow submitted successfully
  • Smoke tests passed (smoke_test_azure.py)

Documentation Impact

  • No documentation changes needed
  • Documentation updated in this PR
  • Documentation issue filed

Bug Fix Checklist

Complete this section for bug fix PRs. Skip for other contribution types.

  • Linked to issue being fixed
  • Regression test included, OR
  • Justification for no regression test:

Checklist

Bill Berry added 3 commits March 27, 2026 13:37
…sistency

- Exclude generated TERRAFORM.md from cspell and markdownlint
- Fix automation module core variable defaults and tags placement
- Move tags variable to variables.tf in vpn and automation modules
- Add terraform-docs v0.21.0 to setup-dev scripts
- Document terraform-docs conventions in contributing guides

🤖 - Generated by Copilot
- detect host architecture in setup-dev.sh for terraform-docs download
- add lastexitcode to cspell general-technical dictionary

🔧 - Generated by Copilot
@WilliamBerryiii WilliamBerryiii requested a review from a team as a code owner March 27, 2026 22:34
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 27, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 8834ebb.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Files

None

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Mar 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 43.58%. Comparing base (a82dd68) to head (8834ebb).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #365   +/-   ##
=======================================
  Coverage   43.58%   43.58%           
=======================================
  Files         242      242           
  Lines       14840    14840           
  Branches     1903     1855   -48     
=======================================
  Hits         6468     6468           
  Misses       8082     8082           
  Partials      290      290           
Flag Coverage Δ *Carryforward flag
pester 79.87% <ø> (ø)
pytest 6.89% <ø> (ø) Carriedforward from 329de7b
pytest-dataviewer 61.98% <ø> (ø)
vitest 50.72% <ø> (ø)

*This pull request uses carry forward flags. Click here to find out more.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@WilliamBerryiii WilliamBerryiii merged commit a0fb03a into main Mar 31, 2026
28 checks passed
@WilliamBerryiii WilliamBerryiii deleted the feature/328-terraform-docs-quality-dx branch March 31, 2026 00:38
WilliamBerryiii pushed a commit that referenced this pull request Apr 8, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.6.0](v0.5.0...v0.6.0)
(2026-04-08)


### ✨ Features

* **build:** add terraform-docs generation pipeline
([#378](#378))
([78e90d0](78e90d0))
* **infrastructure:** enable optional AML diagnostic logs
([#400](#400))
([58dd8db](58dd8db))
* **scripts:** consolidate scripts library paths and enhance dataviewer
([#383](#383))
([176d9c9](176d9c9))


### 🐛 Bug Fixes

* **build:** remediate CVEs, enforce equality pinning, repair Dependabot
config
([#391](#391))
([0c29148](0c29148))
* **infrastructure:** add Storage File Data Privileged Contributor role
for ML identity
([#380](#380))
([378f7ed](378f7ed))
* **infrastructure:** replace hardcoded NAT Gateway availability zones
with variable
([#356](#356))
([a1397bd](a1397bd))
* **infrastructure:** resolve TFLint violations and enable hard-fail
([#376](#376))
([dfb55cd](dfb55cd))
* **scripts:** add dot-source guard to Invoke-MsDateFreshnessCheck.ps1
([#397](#397))
([f6f22c3](f6f22c3))
* **training:** validate AzureML and OSMO RL submissions end to end
([#372](#372))
([49904d3](49904d3))


### 📚 Documentation

* **infrastructure:** add terraform-docs tooling and improve developer
experience
([#365](#365))
([a0fb03a](a0fb03a))
* **reference:** centralize workflow template docs and convert workflow
READMEs to pointer index
([#379](#379))
([68097e4](68097e4))


### 🔧 Miscellaneous

* **deps-dev:** bump the npm_and_yarn group across 1 directory with 2
updates
([#374](#374))
([d848c8b](d848c8b))
* **deps-dev:** bump vite from 6.4.1 to 6.4.2 in
/data-management/viewer/frontend in the npm_and_yarn group across 1
directory
([#395](#395))
([6ec7f19](6ec7f19))
* **deps:** bump the github-actions group across 1 directory with 7
updates
([#370](#370))
([4d1b951](4d1b951))
* **deps:** bump the uv group across 2 directories with 1 update
([#373](#373))
([ba66ed9](ba66ed9))


### 🔒 Security

* **deps-dev:** bump brace-expansion from 1.1.12 to 1.1.13 in
/docs/docusaurus in the npm_and_yarn group across 1 directory
([#389](#389))
([27129d9](27129d9))
* **deps-dev:** bump the npm_and_yarn group across 2 directories with 2
updates
([#363](#363))
([aeae624](aeae624))
* **deps-dev:** bump the python-dependencies group with 5 updates
([#403](#403))
([bb85560](bb85560))
* **deps:** bump cryptography from 46.0.5 to 46.0.6 in /training/rl
([#367](#367))
([a82dd68](a82dd68))
* **deps:** bump the inference-dependencies group in /evaluation with 2
updates
([#401](#401))
([c88d253](c88d253))
* **deps:** bump the pip group across 4 directories with 2 updates
([#411](#411))
([1230fe0](1230fe0))
* **deps:** bump the training-dependencies group across 1 directory with
67 updates
([#375](#375))
([8e05172](8e05172))
* **deps:** bump the uv group across 2 directories with 1 update
([#382](#382))
([b6c7aea](b6c7aea))
* **deps:** update marshmallow requirement from &lt;4.3.0,&gt;=3.5 to
&gt;=3.5,&lt;4.4.0 in /evaluation in the inference-dependencies group
([#393](#393))
([599c7eb](599c7eb))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: physical-ai-toolchain-release[bot] <267194360+physical-ai-toolchain-release[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants