Files
2026-06-13 17:26:49 +02:00

31 lines
1.6 KiB
Markdown

# Host onboarding
All active hosts are onboarded into the common Charlie deployment model.
## Required host state
| Area | State |
| --------------- | ---------------------------------------------------------------- |
| Hostname/DNS | Stable hostname and Marika DNS/DHCP entry. |
| NAS | `/mnt/nas` mounted from Miquella where needed. |
| Docker | Host daemon usable by `charlie-deploy`. |
| CA trust | X.509 root and SSH user CA synced locally. |
| SOPS | Host age key at `/etc/charlie/age.key` where secrets are needed. |
| Identity | LDAP/SSSD or platform equivalent for host users/groups. |
| Deploy group | `charlie-deploy` grants stack, Docker, and age-key access. |
| Git access | `sys-gitea-runner` can sync Charlie repos. |
| Registry access | deploy identities can pull private Gitea images. |
| Observability | `otelcollector` or host-specific equivalent installed. |
## Fleet services expected on deploy targets
| Service | Purpose |
| -------------- | ------------------------------- |
| sshd | Accepts step-ca SSH user certs. |
| Docker/Compose | Runs stack containers. |
| SOPS/age | Decrypts stack secrets. |
| Git | Syncs stack working trees. |
| otelcollector | Ships host/container telemetry. |
Detailed host recipes should live with bootstrap tooling, not this state doc.