Soyspray is a three-node Kubernetes home lab built with Kubespray. Ansible bootstraps the cluster and Argo CD owns its workloads.
make setup
make checkUse make help for the short command list. Merge reviewed application changes
to main. Argo CD then reconciles them. Use Ansible only for the cluster
foundation, private inputs, recovery, and deliberate retirement.
| Surface | Address |
|---|---|
| Grafana | https://grafana.soyspray.vip |
| Argo CD | https://argocd.soyspray.vip |
The hostnames resolve on the home LAN and through its advertised Tailscale route. Secrets and login details are not stored in this repository.
kubespray/contains the pinned cluster provisioner.argocd/contains the complete application catalog.playbooks/contains bootstrap and operations entry points.roles/contains reusable Ansible roles.scripts/contains validation and operator helpers.soydocs/contains cluster build notes and maintenance records.
- Work on a branch. Merge through a GitHub pull request.
- Change the cluster through Ansible and Argo CD, not ad hoc
kubectlwrites. - Run
make gobefore merge. - Add tests and a rollback path for behaviour changes.
The two repo skills cover operating Soyspray and changing an application. Shared laptop skills are maintained outside the repo.