You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Test: prefixed equivalents (`test.www.devsh.eu`, etc.) - update to current test IP
10
10
11
11
Certs:
12
-
- Let’s Encrypt HTTP-01 via cert-manager. Ensure DNS points correctly; allow a few minutes for propagation. Kimai cert is subject to LE rate limits if hammered; retry after window if needed. After DNS change you can force re-issue per cert: `k3s kubectl -n <ns> delete order,challenge -l acme.cert-manager.io/certificate-name=<cert_name>`.
12
+
- Let's Encrypt HTTP-01 via cert-manager. Ensure DNS points correctly; allow a few minutes for propagation. Kimai cert is subject to LE rate limits if hammered; retry after window if needed. After DNS change you can force re-issue per cert: `k3s kubectl -n <ns> delete order,challenge -l acme.cert-manager.io/certificate-name=<cert_name>`.
13
13
14
14
Future: automate DNS updates via API (not yet wired).
Copy file name to clipboardExpand all lines: docs/getting-started.md
+22-7Lines changed: 22 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
## Getting Started
2
2
3
-
GitOps-first: manifests live in this repo, Flux syncs per branch (`env/prod`, `env/test`). Terraform only builds the node and bootstraps Flux; day‑2 is Git-only. (Branch details: `docs/environments.md`. Fast-forward rules: `docs/how-to-commit.md`.)
3
+
GitOps-first: manifests live in this repo, Flux syncs per branch (`env/prod`, `env/test`). Terraform only builds the node and bootstraps Flux; day-2 is Git-only. (Branch details: `docs/environments.md`. Fast-forward rules: `docs/how-to-commit.md`.)
4
4
> Pushing to `env/prod` updates live prod. Pushing to `env/test` updates the test cluster.
5
5
6
6
### Prerequisites
@@ -10,15 +10,15 @@ GitOps-first: manifests live in this repo, Flux syncs per branch (`env/prod`, `e
10
10
- SSH key (for k3s node)
11
11
12
12
### Age key
13
-
- Private key file (e.g., `terraform/terra.agekey`) – keep it securely, never commit.
13
+
- Private key file (e.g., `terraform/terra.agekey`) - keep it securely, never commit.
- Never commit private keys, PATs, webhook secrets, state files, `.terraform/`, or `*.agekey`.
19
19
- Keep `.env` local only; rotate creds if it ever leaks.
20
20
- SOPS-encrypted YAMLs are fine in git; only the public age key sits in `.sops.yaml`.
21
-
- Provider test fixtures under `provider/` use dummy keys; scanners may flag them—review before whitelisting.
21
+
- Provider test fixtures under `provider/` use dummy keys; scanners may flag them; review before whitelisting.
22
22
23
23
### Data volume unlock (LUKS)
24
24
- Systemd service `ensure-data-mount.service` unlocks and mounts `/mnt/data` on every boot using `LUKS_KEY_URL` or bucket creds from `/etc/default/terra-data`.
- Keep data volume protected (prod): `TF_VAR_prevent_destroy_data_volume=true`.
76
-
-`terraform apply`– the server stays up; Terraform detaches the old IP and attaches the new one in place.
91
+
-`terraform apply`- the server stays up; Terraform detaches the old IP and attaches the new one in place.
77
92
- Update DNS to the new IP (manual for now; see `docs/dns.md`), wait for propagation; cert-manager will renew automatically (respect LE rate limits). If you want to force re-issue after DNS cutover: `k3s kubectl -n <ns> delete order,challenge -l acme.cert-manager.io/certificate-name=<cert_name>`.
78
93
- After confirming traffic on the new IP, delete the old Flexible IP in Scaleway.
79
94
80
-
### Certificates (Let’s Encrypt)
95
+
### Certificates (Let's Encrypt)
81
96
- Check status: `k3s kubectl get certificate -A` and `k3s kubectl get orders.acme.cert-manager.io -A`.
82
97
- LE rate limits apply to all hosts; if you see `order ... errored ... too many certificates ... retry after ...`, wait until the indicated time; cert-manager will retry automatically.
83
98
- Force renew all certs after DNS/IP change (from the node):
0 commit comments