Just Recipes¶
just is the command runner. The root
.justfile imports
one module per area. Run just on its own to list everything.
Root¶
| Recipe | Does |
|---|---|
just docs |
Serve this site locally with live reload (zensical serve) |
just k8s¶
Day-2 cluster operations
(kubernetes/mod.just).
| Recipe | Does |
|---|---|
sync <hr\|ks\|gitrepo\|ocirepo\|es> |
Force reconciliation of every resource of that kind |
sync-hr <ns> <name> |
Force-reconcile one HelmRelease |
sync-ks <ns> <name> |
Reconcile one Flux Kustomization |
sync-es <ns> <name> |
Force-sync one ExternalSecret |
apply-ks <ns> <ks> |
Render a Flux Kustomization locally with flate and server-side apply it |
delete-ks <ns> <ks> |
Render a Flux Kustomization locally and delete its resources |
toolbox |
Shell into the rook-ceph-tools pod |
view-secret <ns> <secret> |
Print a Secret's decoded values |
browse-pvc <ns> <claim> |
Start an Alpine pod with the PVC mounted at /mnt |
debug-node <node> |
Privileged debug shell on a node (kubectl debug --profile=sysadmin) |
db-backup <ns> <app> |
Create a one-off CNPG Backup |
prune-pods |
Delete pods in Failed, Pending or Succeeded phase |
cron-minute <name> |
Derive a stable pseudo-random minute (0–59) from a name |
HelmRelease stuck with MissingRollbackTarget
sync hr skips releases that are stalled with no successful revision to
roll back to. Use flux reconcile hr <name> -n <ns> --force for those.
just talos¶
Node operations
(kubernetes/talos/mod.just).
Recipes that change a node ask for confirmation.
| Recipe | Does |
|---|---|
render-config <node> |
Render the node's full machine config to stdout |
apply-node <node> |
Render and apply the machine config |
upgrade-node <node> |
Upgrade Talos using the node's schematic image |
upgrade-k8s <version> |
Upgrade Kubernetes across the cluster |
reboot-node <node> |
Reboot a node |
shutdown-node <node> |
Shut down a node |
reset-node <node> |
Reset (wipe) a node |
download-image <version> [node] |
Download a metal ISO for the node's schematic |
nvme-power <node> [state] |
Set the Micron NVMe power state (0 = 8.25 W full, 4 = 4.25 W coolest), saved across reboots |
just bootstrap¶
End-to-end bring-up
(bootstrap/mod.just).
See Bootstrap.
| Recipe | Does |
|---|---|
cluster |
Talos config → talosctl bootstrap → kubeconfig → CRDs and bootstrap Secrets → helmfile apps → kubeconfig |
nas |
Run the Ansible playbook that provisions TrueNAS |
just docker¶
NAS operations
(docker/mod.just).
| Recipe | Does |
|---|---|
restart-doco-cd |
Restart doco-cd on the NAS via Ansible, without applying compose changes (use just bootstrap nas for those) |
sync-stacks |
Trigger a doco-cd poll of main through its REST API and wait for the result |