Document, as a tree-docs tree, the end-to-end procedure to stand up a new web application on the Arcodange platform — a mechanic spread across the factory, tools and app repos with non-trivial ordering dependencies. Covers: Gitea repo creation (org-secret inheritance), Postgres DB + owner role (factory/postgres/iac), platform Vault declaration (gitea_cicd_<app> + policies, tools/hashicorp-vault/iac), the app Helm chart (VSO dynamic secrets via pgbouncer), the app Terraform (app_roles module), the CI workflows (tofu apply + image build, incl. the copy-pasted role pitfall), and ArgoCD registration (factory/argocd/values.yaml). Adds a naming- conventions concept page and an ordered checklist. Wires the legacy doc/adr "setup hello world web app" item and the factory README to the runbook. New docs live under doc/ (singular) per the PR #8 convention. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
89 lines
2.3 KiB
Markdown
89 lines
2.3 KiB
Markdown
# Arcodange Factory
|
|
|
|
```mermaid
|
|
%%{init: { 'logLevel': 'debug', 'theme': 'base', 'rough':true } }%%
|
|
flowchart
|
|
|
|
prepare_hd>HD setup]
|
|
prepare_pg>PG Setup]
|
|
prepare_gitea>Gitea Setup]
|
|
|
|
origin_repo[[original repositories]]
|
|
github_repo_m[[gitea mirrors]]
|
|
gitlab_repo_m[[gitea mirrors]]
|
|
|
|
origin_repo -. mirrored .->gitlab_repo_m
|
|
origin_repo -. mirrored .->github_repo_m
|
|
|
|
tofu.state -. manages providers/go-gitea .- origin_repo
|
|
tofu.state -. manages providers/gitlabhq/gitlab .- gitlab_repo_m
|
|
tofu.state -. manages providers/integrations/github .- github_repo_m
|
|
|
|
subgraph Home
|
|
subgraph pi1
|
|
runner[/gitea runners\]
|
|
subgraph small HD
|
|
backup_data
|
|
end
|
|
end
|
|
subgraph pi2
|
|
PG[(Postgres)]
|
|
subgraph Gitea
|
|
origin_repo
|
|
end
|
|
subgraph HD
|
|
PG_data
|
|
Gitea_data
|
|
end
|
|
end
|
|
subgraph pi3
|
|
subgraph ai
|
|
ollama
|
|
end
|
|
end
|
|
subgraph "master (macbook pro)"
|
|
ansible{{ansible control-node}}
|
|
tofu{{opentofu control-node}}
|
|
subgraph ansible_scripts
|
|
direction TB
|
|
prepare_hd --> prepare_pg --> prepare_gitea
|
|
end
|
|
end
|
|
end
|
|
subgraph Internet
|
|
subgraph Gitlab
|
|
subgraph Group Arcodange
|
|
gitlab_repo_m
|
|
end
|
|
end
|
|
subgraph Github
|
|
subgraph Organization Arcodange
|
|
github_repo_m
|
|
end
|
|
end
|
|
subgraph GCP
|
|
subgraph project arcodange
|
|
subgraph gs://arcodange-tf
|
|
tofu.state
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
tofu == plan/apply ==> tofu.state
|
|
ansible == deploy ==> HD
|
|
ansible == deploy ==> PG
|
|
ansible == deploy ==> Gitea
|
|
ansible --- ansible_scripts
|
|
|
|
classDef done fill:gold,stroke:indigo,stroke-width:4px,color:blue;
|
|
class prepare_hd,nodeId2 done;
|
|
```
|
|
|
|
## Documentation
|
|
|
|
- 📚 [`doc/`](doc/README.md) — ADR (décisions d'architecture) + runbooks.
|
|
- 🚀 [Runbook : mettre en service une nouvelle application web](doc/runbooks/new-web-app/README.md) — dépôt Gitea, base de données, Vault, chart Helm, Terraform, CI, ArgoCD.
|
|
|
|
🏹💻🪽
|