Documentation
- Quickstart: run Vesper on kind in ten minutes, from a release.
- Cheat sheet: the everyday commands, by task, with what each flag does.
- vesperctl reference: commands, output formats, exit codes and error messages.
- Architecture: the pieces of Vesper, a reconciliation step by step, and the life of a preview.
- CRD reference: every field of
PreviewEnvironmentandPreviewSource, generated from the Go types (make docs-reference). - Allow a repository: the
PreviewSourceof a repository, for the GitHub integration of v0.2. - Troubleshooting: what each phase and reason means, the commands that show the cause, and the usual fix.
- Development: tools and the local kind cluster.
- Try Vesper on a server: k3s on a VPS, a wildcard DNS record and HTTPS with cert-manager, step by step.
- Security model: what Vesper protects against, its known limits, and a hardening checklist.
- Vesper, Argo CD and Flux: how Vesper compares with the pull request previews of GitOps tools, and when to choose which.
- Metrics: the Prometheus metrics of the operator, and how to read them.
- Releasing: how to cut a release, and how to verify one.
- Acceptance of v0.1: v0.1 checked against the criteria of the framing letter, and how to run the check again.
- Brand: the logo, the colors, the colors of the phases and the rules of use.
- Architecture Decision Records: why we made the important decisions.
Start from the template.
- ADR-0001: Use Kubebuilder
- ADR-0002: Run each preview in a namespace of its own, tracked by labels
- ADR-0003: Make PreviewEnvironment a namespaced resource
- ADR-0004: Count the TTL of a preview from its creation
- ADR-0005: Isolate each preview on the network
- ADR-0006: Serve previews over HTTPS with the default certificate of the ingress controller
- ADR-0007: Integrate with GitHub through a GitHub App and a separate webhook component
- Learning journal: notes after each work session, from the template.
Writing an ADR
Section titled “Writing an ADR”Write one when a decision is hard to reverse or shapes the design: the public
API, the security model, a framework or a large dependency. Copy the template to
docs/adr/NNNN-short-title.md with the next number, set the status to
Proposed, and open a pull request. The discussion happens in that pull
request. The status becomes Accepted when it is merged.