Deploy server 2.1.0; keep filled-in secrets out of git
- kustomization pins mg4-server 2.1.0 by digest; server.yaml sets PUBLIC_URL for the pairing QR code; the secrets template gains APPROVAL_PASSWORD. - Filled-in Secrets now go into k8s/secrets.yaml, which is gitignored; the template stays on placeholders. This follows a leak where real values typed into the template were committed and pushed (amended and force-pushed since; both values regenerated). - SPECS.md records pairing and the incident. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QLJfZQZeAKAwSqViTmLzki
This commit is contained in:
+7
-5
@@ -11,7 +11,8 @@ is applied automatically. Apply them yourself.
|
||||
| `grafana.yaml` | Grafana 13.2.3 Deployment (1Gi PVC), Service; datasource and dashboards provisioned |
|
||||
| `grafana/` | The provisioned InfluxDB datasource and the MG4 dashboards (Live, Consumption, Charging) |
|
||||
| `ingress.yaml` | Traefik `IngressRoute`s for car.stinnesbeck.com and Grafana, TLS from Traefik's default certificate |
|
||||
| `secrets.example.yaml` | **Template** for the Secrets; not in `kustomization.yaml` |
|
||||
| `secrets.example.yaml` | **Template** for the Secrets; placeholders only, not in `kustomization.yaml` |
|
||||
| `secrets.yaml` | Your filled-in copy — **gitignored**, never committed |
|
||||
| `kustomization.yaml` | Everything except the Secrets; pins the server image, generates the Grafana ConfigMaps |
|
||||
|
||||
## Before the first apply
|
||||
@@ -19,9 +20,10 @@ is applied automatically. Apply them yourself.
|
||||
1. **Check `ingress.yaml`:** the ingress class (placeholder `traefik-external` for the public
|
||||
Traefik) and Grafana's host (placeholder `car-grafana.stinnesbeck.com`). Both hosts must be
|
||||
covered by Traefik's default certificate.
|
||||
2. **Create the Secrets.** Copy `secrets.example.yaml` outside the repository, replace every
|
||||
`CHANGE-ME` (`openssl rand -hex 32`), then apply the copy: `influxdb-auth`, `mg4-server`
|
||||
(ingest token, your ABRP API key and user token) and `grafana-admin`.
|
||||
2. **Create the Secrets.** `cp k8s/secrets.example.yaml k8s/secrets.yaml` (gitignored), replace
|
||||
every `CHANGE-ME` there (`openssl rand -hex 32`): `influxdb-auth`, `mg4-server` (ingest token,
|
||||
approval password for pairing, your ABRP API key and user token) and `grafana-admin`. Keep
|
||||
`secrets.example.yaml` itself on placeholders only.
|
||||
3. **Registry access.** The `mg4-server` package on git.stinnesbeck.com is public, so no pull
|
||||
secret is needed. If you make it private, add an `imagePullSecrets` entry to `server.yaml`.
|
||||
|
||||
@@ -29,7 +31,7 @@ is applied automatically. Apply them yourself.
|
||||
|
||||
```sh
|
||||
kubectl apply -f k8s/namespace.yaml
|
||||
kubectl apply -f <your filled-in secrets file>
|
||||
kubectl apply -f k8s/secrets.yaml
|
||||
kubectl apply -k k8s/
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user