- Shell 100%
This reverts
|
||
|---|---|---|
| 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