reference-ansible/Makefile
Simon Bärlocher 2ba0c07cd3
docs(reference-ansible): add docs/ tree and document repo, playbooks, Makefile
Addresses the WKS PoC review (Notion 2026-05-26). All docs in English.
- README: purpose, docs table of contents, annotated repo tree
- docs/getting_started.md: prerequisites (WKS account, OIDC, SSH, VPN) + first deploy
- docs/ansible.md: playbook table, "Running Ansible", service parameters, cheatsheet
- docs/secrets.md: canonical Bao login (moved out of README) + demo defaults
- docs/operations.md: full Makefile reference
- docs/inventories.md: repo layout, topology, standard folder structure, walkthrough
- docs/testing.md: static checks, inventory resolution, smoke test / dry run
- remove ARCHITECTURE.md (architecture docs live externally)

Also includes the gymburgdorf inventory build-out (bookstack, homarr,
opnform, send) and scripts/bao-seed.sh. site.yml keeps a third traefik
play (traefik_servers minus the vagrant _dmz/_backend split) so the demo
inventories still configure their reverse proxy after the rebase onto main.
2026-05-28 11:20:54 +02:00

48 lines
1.6 KiB
Makefile

export BAO_ADDR=https://bao.digitalboard.ch
# macOS fork-safety: Objective-C runtime is not fork-safe; Ansible forks
# per host. Without this, hashi_vault lookups crash workers.
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
install:
ansible-galaxy collection install -r requirements.yml -p collections
bao:
bao login -method=oidc -path=Digitalboard role=default
$(eval export VAULT_TOKEN=$(shell bao print token))
# Seed/merge OpenBao secrets for a demo inventory. Idempotent: existing
# keys are kept; only missing keys are generated. Pass DRY_RUN=1 to
# preview without writing.
seed_bao_gymburgdorf:
scripts/bao-seed.sh demo-gymburgdorf
seed_bao_mbazürich:
scripts/bao-seed.sh demo-mbazürich
seed_bao_phbern:
scripts/bao-seed.sh demo-phbern
ping_demo:
echo "# pinging demo-gymburgdorf"
ansible all -i inventories/demo-gymburgdorf/hosts.yml -m ping || true
echo "# pinging demo-mbazürich"
ansible all -i inventories/demo-mbazürich/hosts.yml -m ping || true
echo "# pinging demo-phbern"
ansible all -i inventories/demo-phbern/hosts.yml -m ping || true
deploy_site_demo_gymburgdorf:
echo "deploying demo site gymburgdorf"
ansible-playbook playbooks/site.yml -i inventories/demo-gymburgdorf/hosts.yml --diff
deploy_site_demo_mbazürich:
echo "deploying demo site mbazürich"
ansible-playbook playbooks/site.yml -i inventories/demo-mbazürich/hosts.yml
deploy_site_demo_phbern:
echo "deploying demo site phbern"
ansible-playbook playbooks/site.yml -i inventories/demo-phbern/hosts.yml
deploy_site_demo:
make deploy_site_demo_gymburgdorf
make deploy_site_demo_mbazürich
make deploy_site_demo_phbern