- Shell 100%
The cutover script no longer describes anything anyone wants to do: the data migration is complete, the Coolify instance is retired, and repoargo is the git host. Leaving a script in the repo that stops production and moves data would be an invitation to run it by mistake. What remains is only handing the original hostname back, and that inverts the ordering. DNS goes FIRST now: repo.rahamafresh.com returns 503 today, so repointing it cannot make anything worse, and doing it before the Ingress exists means the ACME challenge succeeds first time instead of failing until DNS catches up -- which is what consumes the failed-authorization rate limit. Zero downtime, nothing stopped, no data moved. The repoargo Ingress stays in place deliberately: ten local repositories and five Argo Applications use that hostname, and removing it would break them all at once. Both names serve the same instance, with ROOT_URL deciding which is canonical. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HRo4UeD99WWR3H1dfB8FsZ |
||
|---|---|---|
| apps | ||
| bootstrap | ||
| cluster | ||
| docs | ||
| scripts | ||
| workloads | ||
| .gitignore | ||
| README.md | ||
14_fleetnow_argo — GitOps root for the FleetNow cluster
Cluster configuration for the k3s node at 187.7.20.166 (jogootano), which
runs the FleetNow UI and the dashboard_api read-API under Argo CD.
The one rule
Cluster config is committed here, never applied by hand. Argo CD reconciles
this repo into the cluster. The only exceptions are the three bootstrap installs
(k3s, Argo CD, cert-manager) and apps/root-app.yaml — the seed that teaches
Argo to watch this directory. Everything after that is a commit.
Layout
| Path | Contents |
|---|---|
bootstrap/ |
One-time install scripts, run in order: k3s → Argo CD → cert-manager |
cluster/ |
Cluster-scoped resources: namespaces, Let's Encrypt ClusterIssuer |
apps/ |
Argo Applications. root-app.yaml is the app-of-apps that syncs this dir |
docs/ |
PLAN.md (the FleetNow migration), PLAN_FORGEJO.md and PLAN_TIMESCALE.md (the two follow-on migrations), PROGRESS.md (what has actually been done), RUNBOOK.md (day-2 operations) |
Where the app manifests live
Not here. Each app's manifests sit in the app's own repo, and an Application
in apps/ points at it:
| App | Repo | Path |
|---|---|---|
fleetnow (UI) |
kianiadee/fleetnow |
. (repo root) |
fleetapi (read-API) |
kianiadee/tracksolid_timescale_grafana_prod |
deploy/ |
The UI's manifests must live beside index.html because its ConfigMaps are
generated from those files, and kustomize cannot read above its own directory.
Secrets
None are stored in this repo, and none should be. The database credentials are
created out-of-band with kubectl create secret (see docs/RUNBOOK.md).
Quick start
export KUBECONFIG=~/.kube/fleet-k3s.yaml
ssh -fN -L 6443:127.0.0.1:6443 kianiadee@187.7.20.166 # if the tunnel is down
kubectl get applications -n argocd