feat(ansible): idempotent role-based host config for both production VMs
common/firewall/docker-tls/platform/lab-host/monitoring-agent/backup roles, orchestrated by site.yml with the ordering that matters (firewall/TLS land before the services that depend on them). Ansible Vault for secrets, no new tool introduced for this project's modest secret surface. Explicit dev/staging/production environment separation, no secrets committed (.gitignore covers vault plaintext, TLS keys, Terraform state, *.env). Validated: ansible-playbook --syntax-check clean.
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
# Production inventory. IPs/hostnames are placeholders — fill in once the real VMs exist
|
||||
# (docs/PRODUCTION_DEPLOYMENT.md §1). This file is safe to commit (no secrets, just topology).
|
||||
|
||||
[platform]
|
||||
rn-platform-01 ansible_host=__PLATFORM_VM_IP__
|
||||
|
||||
[lab_host]
|
||||
rn-lab-host-01 ansible_host=__LAB_HOST_VM_IP__
|
||||
|
||||
[rootnode:children]
|
||||
platform
|
||||
lab_host
|
||||
|
||||
[rootnode:vars]
|
||||
ansible_user=rootnode-deploy
|
||||
ansible_ssh_common_args='-o StrictHostKeyChecking=yes'
|
||||
@@ -0,0 +1,16 @@
|
||||
# Staging inventory — same group shape as production, pointed at homelab VMs/containers or a
|
||||
# resource-constrained slice of the dedicated server once it exists (infra/environments/staging/README.md).
|
||||
|
||||
[platform]
|
||||
rn-platform-staging ansible_host=__STAGING_PLATFORM_IP__
|
||||
|
||||
[lab_host]
|
||||
rn-lab-host-staging ansible_host=__STAGING_LAB_HOST_IP__
|
||||
|
||||
[rootnode:children]
|
||||
platform
|
||||
lab_host
|
||||
|
||||
[rootnode:vars]
|
||||
ansible_user=rootnode-deploy
|
||||
env=staging
|
||||
Reference in New Issue
Block a user