CLI reference
Commands for the current CLI. Dedicated exams and saved track context require the release that includes them. kubefit with no arguments prints the same list for the version you have installed; kubefit version prints which that is.
Setup and account
| Command | What it does |
|---|---|
kubefit doctor | Check Docker, kind, kubectl, helm and Lima. Reports ok, missing (with the install command) or stopped |
kubefit login | Sign in through app.kubefit.com with a ten-minute, one-use code and store a token |
kubefit logout | Forget the stored token |
kubefit set <track> | Pin a default track across terminal sessions: cka ckad cks lfcs cnpe ckne istio ops |
kubefit unset | Clear the saved track context; keep your account, packs and reports |
kubefit packs [track...] | Download and verify the drill pack and the mock exam form for the saved track, or for all eight when no context is set |
kubefit help | Print the command list. -h and --help do the same |
kubefit version | Print the CLI version |
Saved track context
kubefit set cka
kubefit packs
kubefit next
kubefit test
kubefit report
kubefit unset
After set, omit the track from drill, next, coach, workout, test,
packs, readiness and report. An explicit argument such as kubefit next ckad
overrides the default for that command without changing the pin. Inside a drill,
coach follows the assigned task. Use set/unset from your host shell outside an exam.
unset clears both the pin and remembered track. drill and test then need an
explicit track; packs and report return to all-track behavior. next can still
infer a track from rep history or a single cached pack and remember new selections.
Training
| Command | What it does |
|---|---|
kubefit drill [track] | Seed the exercise you most need in that track, print the task, start the clock and open the drill shell |
kubefit drill <id> | The same for one exercise, for example kubefit drill cka-03-broken-service. cka/03-broken-service also works |
kubefit drill ... --tmux | Inside tmux: task and live clock in a pane above your shell |
kubefit drill ... --enter | No nested shell: Enter grades, f finishes as is, q or escape ends the session ungraded |
kubefit workout [track] [--minutes 15|30|60] [--tmux|--enter] | Resume the saved Coach Caz browser plan and launch its next unfinished set; create a 30-minute plan if none is active and no length is given |
kubefit workout --skip [--tmux|--enter] | Skip the next unfinished set in the saved workout and launch the following one (v0.1.11+). Saves the skip to your account without awarding a pass |
kubefit workout --finish | Close the current workout, keeping its synced recap |
kubefit coach [track|id] | Start a coached drill using the selected or remembered track, or guide the assigned task when inside a drill |
kubefit test [track] | Dedicated exam: 17 original questions, 120-minute hard deadline, one final grade. Separate from drills |
kubefit submit | Submit the active exam early and grade all questions |
kubefit test --recover | Close an interrupted exam as ungraded |
kubefit end | Delete the drill clusters, the mock exam clusters, both LFCS VMs with their disks, and seeded files. Keeps reps, notes, packs, exam reports and token. Refused inside a drill, during a paused or active session, and during a mock exam. See Local files |
Inside a drill shell
These act on the current drill. On Kubernetes tracks the drill shell is your own shell on the host. On LFCS it is a root shell inside the kubefit-lfcs VM, where task, grade, hint, solution, abandon, clock, pause, resume and escape also accept the same kubefit <command> spelling. Existing hyphenated helpers remain available.
| Host (Kubernetes tracks) | LFCS VM | What it does |
|---|---|---|
kubefit coach | kubefit-coach | Guided conversation for the current task; records solution assistance |
kubefit task | kubefit-task | Reprint the task and its exam-allowed documentation links |
kubefit grade | kubefit-grade | Check your work now. Each one counts as an attempt |
kubefit hint | kubefit-hint | Reveal the next section of the walkthrough. Recorded on the rep |
kubefit solution | kubefit-solution | Print the whole walkthrough. Recorded on the rep |
kubefit pause | kubefit-pause | Pause the active clock; refuse new kubectl and grading commands |
kubefit resume | kubefit-resume | Continue the current live session |
kubefit escape | kubefit-escape | Immediately end the drill, leaving the task ungraded and recording no rep |
kubefit abandon | kubefit-abandon | Mark the current task to skip on exit. Not available in a mock exam |
kubefit clock | kubefit-clock | Print the elapsed time |
kubefit note <text> | Save a note tied to this exercise. A host command: after an LFCS drill, write the note from your host shell | |
exit | exit | Confirm the final state, record the rep and sync. Not an extra attempt |
k calls kubectl in the host shell. CLI v0.1.9 and later also load the pack's lab profile after your own shell configuration: $DO and $do for --dry-run=client -o yaml, $NOW and $now for --force --grace-period=0, vim as KUBE_EDITOR and EDITOR, and in bash, kubectl completion for k. The pack's YAML vim settings apply only when you have no vim or neovim configuration of your own. On an earlier CLI, set $DO yourself as you would in the exam. The LFCS VM always gets the vim settings.
A mock exam has its own shell with only task, clock, submit and escape.
Review
| Command | What it does |
|---|---|
kubefit next [track] [--tmux|--enter] [--skip] | Launch one priority drill in the remembered or explicit track (v0.1.3+). With v0.1.10+, --skip defers the current recommendation for 24 hours and launches another. Exit the current drill first |
kubefit readiness [track] | Practice readiness, evidence confidence and the next gap (v0.1.4+) |
kubefit report [track] | Domains by exam weight, pace against target, cold passes, the next five reps, the readiness summary and every mock exam report for the track |
kubefit task <id> | Outside a drill: print an exercise's task |
kubefit grade <id> | Outside a drill: re-run the checks for an exercise that is already seeded. Nothing is recorded |
kubefit hint <id> [n] | Outside a drill: read walkthrough section n of an exercise, the first when n is omitted. Nothing is recorded |
kubefit solution <id> | Outside a drill: read the whole walkthrough. Nothing is recorded |
Notes and sync
| Command | What it does |
|---|---|
kubefit note <text> | Save a note. In a drill it goes to the track's notebook; outside one, to general |
kubefit note --notebook=NAME <text> | Save to a named notebook. -n NAME is the short form |
kubefit notes [notebook] | Show notes from the terminal and from the app, newest first |
kubefit sync | Upload reps, notes and mock exam records that have not synced, and pull your account's reps, notes and mock exam records |
Environment
| Variable | Default | Meaning |
|---|---|---|
KUBEFIT_SERVER | https://app.kubefit.com | API origin. Must be HTTPS unless it is localhost or a loopback address. See Local files |
Paths the CLI writes are listed in Local files and environment. Behaviour behind these commands: Drills, Mock exams, Reports and next, Notebooks.
Exit codes
A usage error or an unknown command exits 2. Any other failure exits 1. kubefit doctor always exits 0, so read its output rather than its status.
AMRAP command recall
kubefit amrap 5m starts a five-minute round. --section <id> narrows the question pool; kubefit amrap --sections lists IDs. kubefit amrap --reports reprints local reports. Pending uploads retry with kubefit sync. See AMRAP.