Commit Graph

1575 Commits

Author SHA1 Message Date
Haitao Pan
dafcfaeb15 feat(vultr-vps): add render_backend_tf.py for S3-compatible remote state
Script was referenced by the GitHub Actions workflow but never committed;
workflow step would fail with file-not-found on every CI run.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 21:00:47 +08:00
Haitao Pan
c2e7220d3e fix(vultr-vps): fix terraform s3 backend SignatureDoesNotMatch error
- Add skip_s3_checksum = true and skip_metadata_api_check = true to s3 backend config
- Use endpoints = { s3 = ... } instead of deprecated endpoint parameter
2026-06-25 10:20:25 +08:00
Haitao Pan
96b0372f51 feat(generate.py): fail fast on missing runtime ip/instance_id; dedup default literals
Non-empty pass-through check: validate every host carries a non-empty terraform
runtime ip + instance_id before writing cmdb.json (else inventory renders empty
ansible_host and silently targets the wrong host); abort with host-named message.
Consolidate duplicated DEFAULT_PLAN / DEFAULT_ANSIBLE_USER literals into constants.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 20:50:23 +08:00
Haitao Pan
e9f43933dc feat(generate.py): inventory_hostname = service_domains FQDN (dynamic from yaml)
CMDB/inventory/groups now keyed by the host's first service_domains FQDN
(falls back to name when absent); the short name is preserved in cmdb[*].name.
So inventory_hostname is a real FQDN sourced dynamically from the resource
declaration, never a hardcoded short name.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 20:42:24 +08:00
Haitao Pan
abd19dea85 chore(ai-workspace): update ssh key and service_domains for xworkmate-bridge
- swap in real ssh-rsa public key for login
- service_domains -> xworkmate-bridge-{debian-13,ubuntu-26}.svc.plus
- simplify tags (debian/ubuntu)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 01:04:37 +08:00
Haitao Pan
3a8065e6f0 refactor(vultr-vps): split declaration / shared templates / shared scripts
- config/resources/ai-workspace-hosts.yaml: resource declaration (moved from env)
- templates/: shared provider.tf, variables.tf, cloud-init.yaml + hosts.tf.j2,
  inventory.ini.j2 (render copies the .tf/config into the env workdir)
- scripts/generate.py + provision.sh: shared composition logic, parameterized
  by --resources/--workdir (no longer duplicated per env)
- envs/ai-workspace/: degraded to a terraform workdir (only README/.gitignore
  tracked; rendered artifacts + tfstate gitignored)
- AGENTS.md + terraform-yaml-render-pattern skill updated to the layered layout

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 21:21:45 +08:00
Haitao Pan
de7fe511d7 feat(vultr-vps): ai-workspace IaC env with YAML+Jinja2 render and Ansible linkage
- envs/ai-workspace: hosts.yaml -> generate.py renders explicit Terraform
  module/resource blocks via Jinja2 (no for_each/count); terraform runtime
  output merged with YAML -> cmdb.json + inventory.ini for Ansible.
- modules/compute: backups bool -> "enabled"/"disabled" (vultr provider
  2.19+); add required_providers to compute & iam modules.
- skills/terraform-yaml-render-pattern + terraform-hcl-standard/AGENTS.md:
  binding spec for the render pattern.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 20:57:19 +08:00
Haitao Pan
4755198a9d chore(skills): add release-branch-policy skill and scripts
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 20:57:19 +08:00
Haitao Pan
343d1a0d5c docs: add bilingual docs structure 2026-03-15 23:45:17 +08:00
Haitao Pan
bb0b8795ab chore: add Apache License 2.0 to iac_modules. 2026-02-01 23:38:57 +08:00
Haitao Pan
c3dcbd5a71 Update workflows 2026-01-02 11:11:11 +08:00
eaf3d0d8a8
Merge pull request #211 from cloud-neutral-workshop/feature-cloud-bootstrap-destroy-standardization-14661747828421324646
Standardize bootstrap destroy modules and pipeline
2026-01-02 10:50:46 +08:00
google-labs-jules[bot]
a2c2b95558 Standardize cloud bootstrap destroy process
- Added bootstrap destroy module structure for aws, ali, azure, gcp, and vultr.
- Moved AWS force destroy script to `terraform-hcl-standard/aws-cloud/modules/bootstrap-destroy/destroy.sh`.
- Updated `iac-pipeline-mutli-cloud-bootstrap..yaml` to dynamically invoke the destroy script based on the cloud provider.
- Added placeholders for other cloud providers.
2026-01-02 02:14:20 +00:00
88328c17bd
Merge pull request #210 from cloud-neutral-workshop/codex/fix-repository-format-in-workflow
Use git clone for GitOps config checkout
2025-12-24 16:45:27 +08:00
f179e6ae11 Use git clone for GitOps config checkout 2025-12-24 16:43:15 +08:00
Haitao Pan
6f6188c416 Update multi-cloud workflow names and paths 2025-12-24 16:31:16 +08:00
Haitao Pan
dad3339ee2 chore(ci): rename alicloud workflows and adjust gitops inputs 2025-12-24 16:10:48 +08:00
b125e72333
Merge pull request #208 from cloud-neutral-workshop/codex/fix-invalid-workflow-file-syntax
Fix bootstrap config path expression
2025-12-24 15:43:29 +08:00
6295e536c0 Fix bootstrap config path expression 2025-12-24 15:43:16 +08:00
503ce88e97
Update iac-pipeline-aws-global-bootstrap.yaml 2025-12-24 15:35:44 +08:00
51acf876b1
Merge pull request #207 from cloud-neutral-workshop/codex/fix-invalid-function-argument-in-terragrunt.hcl
Use BOOTSTRAP_CONFIG_PATH for bootstrap configuration inputs
2025-12-24 15:32:20 +08:00
bf265a49c1 Use BOOTSTRAP_CONFIG_PATH only for bootstrap config 2025-12-24 15:32:04 +08:00
ffb3a6d962
Merge pull request #206 from cloud-neutral-workshop/codex/fix-invalid-variable-value-for-bootstrap_config_path
Add TF_CONFIG fallback for bootstrap config path
2025-12-24 15:15:03 +08:00
9c69f9f6a5 Add TF_CONFIG fallback for bootstrap config path 2025-12-24 15:14:35 +08:00
f8aaf33e07
Merge pull request #205 from cloud-neutral-workshop/codex/update-terraform-to-use-absolute-paths
Move bootstrap Makefile into module directory
2025-12-24 15:00:24 +08:00
6fa07cad3a Move bootstrap Makefile into module directory 2025-12-24 14:59:20 +08:00
Haitao Pan
6943ab67fc Simplify bootstrap inputs to YAML config 2025-12-24 14:28:19 +08:00
Haitao Pan
dd2afb0e13 Fix bootstrap_config_path validation 2025-12-24 13:37:48 +08:00
acc12df087
Merge pull request #204 from cloud-neutral-workshop/codex/fix-invalid-file-path-in-locals.tf
Simplify bootstrap config path input
2025-12-24 13:30:11 +08:00
3581844390 Simplify bootstrap config path input 2025-12-24 13:29:59 +08:00
Haitao Pan
2e7963e81f Fix actionlint for GitOps repo input 2025-12-24 13:02:36 +08:00
e276310077
Merge pull request #203 from cloud-neutral-workshop/codex/fix-invalid-function-argument-error-j7et4s
Add gitops_repo_name input to AWS workflows
2025-12-24 12:58:33 +08:00
b03e9a4bf4 Add gitops_repo_name input to AWS workflows 2025-12-24 12:57:14 +08:00
f68c84c2ce
Merge pull request #202 from cloud-neutral-workshop/codex/fix-invalid-function-argument-error
Support env override for AWS bootstrap config path
2025-12-24 12:44:51 +08:00
786da8a358 Support env override for bootstrap config path 2025-12-24 12:44:21 +08:00
Haitao Pan
3e9995d5f3 refactor(iac): standardize terraform modules and pipelines across clouds 2025-12-24 12:24:49 +08:00
13ef638eac
Merge pull request #201 from cloud-neutral-workshop/codex/fix-run-error-in-terragrunt
Align CI paths with terraform-hcl-standard layout
2025-12-24 11:37:45 +08:00
e2a5cdd356 Fix workflow paths for terraform-hcl-standard layout 2025-12-24 11:37:14 +08:00
Haitao Pan
d30672446a Rename AWS workflow pipelines
Rename terraform-standard AWS workflow files to iac-pipeline naming.
2025-12-24 11:28:00 +08:00
Haitao Pan
92eb642417 refactor: reorganize IaC modules and examples structure 2025-12-22 13:40:01 +08:00
Haitao Pan
d656a8b888 chore: remove GitOps config from iac_modules 2025-12-22 13:29:26 +08:00
Haitao Pan
9d00269080 chore(ansible): remove playbooks moved to standalone playbooks repo 2025-12-21 19:09:05 +08:00
a8ce64b052
Merge pull request #200 from Cloud-Neutral-Workshop/codex/update-terraform-standard-pipeline-configuration-gm1mbg
Reuse config loader for AWS credentials
2025-12-19 10:58:10 +08:00
ad86e5fe22 Reuse config loader for AWS credentials 2025-12-19 10:51:14 +08:00
d26cbefc44
Merge pull request #198 from cloud-neutral-toolkit/codex/update-terraform-standard-pipeline-configuration 2025-12-17 21:44:06 +08:00
6dac7897fd Reuse config loader for AWS credentials 2025-12-16 18:01:31 +08:00
Haitao Pan
2d41f98d76 refactor(architecture): normalize sit aws-cloud resource structure 2025-12-16 16:51:59 +08:00
Haitao Pan
14375ef907 fix(ci): enable OIDC id-token permission for AWS IaC Account pipeline 2025-12-16 16:40:04 +08:00
d246ff55cc
Merge pull request #197 from cloud-neutral-toolkit/codex/add-iaas-ready-check-workflow
Make Check IaaS Ready workflow configurable
2025-12-12 16:12:10 +08:00
9122128353 Add configurable IaaS readiness workflow 2025-12-12 16:11:57 +08:00