Gabriel Radureau 8330d82225 docs(runbooks): add "new web app" setup runbook under doc/runbooks/
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>
2026-05-31 17:22:30 +02:00
2026-01-02 18:17:53 +01:00

Arcodange Factory

%%{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

🏹💻🪽

Description
No description provided
Readme 1.1 MiB
Languages
HCL 36.6%
Mermaid 36.2%
Jinja 8.7%
JavaScript 8.6%
Python 5.1%
Other 4.8%