|
|
|
@@ -16,6 +16,8 @@ Follow this list top-to-bottom; each step unblocks the next.
|
|
|
|
|
- [ ] 5. `GITEA_TOKEN` in each API repo's Actions Secrets — unblocks CI image push
|
|
|
|
|
- [ ] 6. Gitea packages enabled + DNS record for `registry.leeworks.dev` — unblocks image push to registry
|
|
|
|
|
- [ ] 7. Add api-company Flux source + kustomization to 0xWheatyz/Talos — unblocks all GitOps reconciliation
|
|
|
|
|
- [ ] 8. `gitea-registry` (zip-enrichment, holidays, air-quality, docs-site) — imagePullSecret for pods pulling from `registry.leeworks.dev`
|
|
|
|
|
- [ ] 9. `gitea-image-automation-token` (flux-system) — write-scoped token for Flux ImageUpdateAutomation to push image-tag commits
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
@@ -162,6 +164,65 @@ Unblocks: Issue #2 (Flux reconciliation of all `flux/` manifests in this repo).
|
|
|
|
|
3 (grafana-admin) → Grafana login works
|
|
|
|
|
4 (gatus-slack-webhook) → Gatus alerting works
|
|
|
|
|
5 + 6 (GITEA_TOKEN + registry packages) → CI pushes images → API services deploy
|
|
|
|
|
8 (gitea-registry) → pods can pull images from registry.leeworks.dev → services start
|
|
|
|
|
9 (gitea-image-automation-token) → Flux ImageUpdateAutomation pushes tag-update commits
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Once all seven items are complete, the full stack (runner, registry, Prometheus, Grafana, Gatus, docs-site, three API services) reconciles automatically via FluxCD with no further manual steps.
|
|
|
|
|
Once all nine items are complete, the full stack (runner, registry, Prometheus, Grafana, Gatus, docs-site, three API services) reconciles automatically via FluxCD with no further manual steps.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### 8. `gitea-registry` — imagePullSecret for API service namespaces
|
|
|
|
|
|
|
|
|
|
| Field | Value |
|
|
|
|
|
|-----------|-------|
|
|
|
|
|
| Name | `gitea-registry` |
|
|
|
|
|
| Namespaces | `zip-enrichment`, `holidays`, `air-quality`, `docs-site` |
|
|
|
|
|
| Type | `kubernetes.io/dockerconfigjson` |
|
|
|
|
|
| Purpose | Allows pods to pull images from `registry.leeworks.dev` without ImagePullBackOff |
|
|
|
|
|
| Source | Gitea token with `read:packages` scope (can reuse the same token as step 1 if it has that scope) |
|
|
|
|
|
| Unblocks | Issues #58 (Phase 0 hard deploy blocker) and transitively Phase 3 service deploys |
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
for NS in zip-enrichment holidays air-quality docs-site; do
|
|
|
|
|
kubectl create secret docker-registry gitea-registry \
|
|
|
|
|
--namespace=$NS \
|
|
|
|
|
--docker-server=registry.leeworks.dev \
|
|
|
|
|
--docker-username=leeworks-agents \
|
|
|
|
|
--docker-password=<GITEA_TOKEN_WITH_READ_PACKAGES> \
|
|
|
|
|
--docker-email=agent@leeworks.dev
|
|
|
|
|
done
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Verify:
|
|
|
|
|
```bash
|
|
|
|
|
kubectl get secret gitea-registry -n zip-enrichment -o jsonpath='{.type}'
|
|
|
|
|
# expected: kubernetes.io/dockerconfigjson
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
### 9. `gitea-image-automation-token` — Flux ImageUpdateAutomation write token
|
|
|
|
|
|
|
|
|
|
| Field | Value |
|
|
|
|
|
|-----------|-------|
|
|
|
|
|
| Name | `gitea-image-automation-token` |
|
|
|
|
|
| Namespace | `flux-system` |
|
|
|
|
|
| Purpose | Allows Flux `ImageUpdateAutomation` to push image-tag update commits back to `leeworks-agents/api-company` |
|
|
|
|
|
| Source | Gitea token with **`write:repository`** scope (the existing `gitea-leeworks-agents-token` only has `read:repository` — create a separate token or verify scope) |
|
|
|
|
|
| Unblocks | Issue #57 (Flux ImageUpdateAutomation for api-company) |
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
kubectl create secret generic gitea-image-automation-token \
|
|
|
|
|
-n flux-system \
|
|
|
|
|
--from-literal=username=leeworks-agents \
|
|
|
|
|
--from-literal=password=<TOKEN_WITH_WRITE_REPO_SCOPE>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Verify after creation:
|
|
|
|
|
```bash
|
|
|
|
|
flux get imageupdateautomations -n flux-system
|
|
|
|
|
# Expected: api-company shows READY=True
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
> **Note:** If you create a new token with `write:repository` scope, keep the existing `gitea-leeworks-agents-token` for read-only Flux GitRepository pulls and use this new secret exclusively for `ImageUpdateAutomation`.
|
|
|
|
|