31 lines
1.6 KiB
Markdown
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.
|