End to end (E2E)¶
This guide takes you through the whole process in one pass, starting from an empty Linux or macOS laptop: bring up a kind cluster → install a stack → run a pipeline → back up → delete → restore → continue the pipeline.
What the guide covers¶
| Step | Content | |
|---|---|---|
| Prepare | 1 | Prerequisites — required tools and minimum specs |
| 2 | Bring up the platform | |
| 3 | Log in and check the cluster | |
| Stack | 4 | Install a GitLab + Argo CD + SonarQube stack |
| 5 | Open the tools — reach all 8 tools by domain | |
| 6 | API connection settings — GitLab address and backup | |
| CI/CD | 7 | Choose a CI/CD template |
| 8 | Create and run a pipeline | |
| 9 | Check the results and record fingerprints | |
| Backup and restore | 10 | Back up |
| 11 | Delete | |
| 12 | Restore | |
| 13 | Rewire after the restore | |
| Continue | 14 | Continue the pipeline |
| 15 | Clean up | |
| Appendices | — | Troubleshooting · Using SonarQube · Known limitations |
This guide reflects real runs¶
The commands and expected values in the guide are not estimates: they were confirmed by actually running everything from start to finish. These are the values measured in the most recent verification run.
| Item | Measured |
|---|---|
| Platform startup | 68 s · smoke tests 16/16 |
| Stack install complete | 740 s · 39 pods · 0 unhealthy |
| Tool access | All 8 respond |
| Backup | 76 s · 1,069,537,942 bytes · 11 integrity checks passed |
| Namespace deletion | 86 s (no manual intervention) |
| Restore | 71 s · PVCs 6/6 |
| Pipeline rerun | All 4 jobs succeeded · quality gate passed |
| Cleanup | 15 s — 0 clusters, containers, or volumes left |
Before you start
Step 2 of the guide uses sudo once: to reach the tools by domain without a port, you need
entries in both the host's /etc/hosts and CoreDNS.
./scripts/setup-local-domain.sh --apply-hosts does that. If you leave out this option,
logging in at step 3 does not work.
Some steps delete things
Step 11 actually deletes namespaces, and step 15 deletes the kind cluster and even the Docker volumes. On a machine with a cluster you already use, skip step 15 or read its commands first.
A shorter path¶
If you just want to bring up the platform rather than go through the whole process, Run locally is shorter. To check the prerequisites first, see Prerequisites.