OS Manuals

/usr/bin/kapitan

Generic templated configuration management for Kubernetes, Terraform and other things, driven by a hierarchical reclass inventory and Jsonnet, Jinja2, Kadet, Helm and other input engines

From kapitan 0.36.3-r2 (enterprise-packages), captured 2026-11-08 by running kapitan --help (exit 0). permalink

usage: kapitan [-h] [--version] [--mp-method {spawn,fork,forkserver}] [--profile]
               [--profile-workers] [--profile-serial]
               [--profile-format {html,text,json,speedscope}]
               [--profile-interval PROFILE_INTERVAL] [--profile-output-dir PROFILE_OUTPUT_DIR]
               [--memory-profile] [--memory-profile-top MEMORY_PROFILE_TOP]
               {eval,e,compile,c,inventory,i,searchvar,sv,secrets,s,refs,r,lint,l,init} ...

Generic templated configuration management for Kubernetes, Terraform and other things

positional arguments:
  {eval,e,compile,c,inventory,i,searchvar,sv,secrets,s,refs,r,lint,l,init}
                        commands
    eval (e)            evaluate jsonnet file
    compile (c)         compile targets
    inventory (i)       show inventory
    searchvar (sv)      show all inventory files where var is declared
    secrets (s)         (DEPRECATED) please use refs
    refs (r)            manage refs
    lint (l)            linter for inventory and refs
    init                initialize a directory with the recommended kapitan project skeleton.

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --mp-method {spawn,fork,forkserver}
                        set multiprocessing start method

profiling:
  Optional CPU (pyinstrument) and memory (tracemalloc) profiling. Install pyinstrument with: pip
  install 'kapitan[profile]'

  --profile             enable CPU profiling via pyinstrument for the parent process
  --profile-workers     also CPU-profile multiprocessing workers; one report per worker PID.
                        Requires --profile.
  --profile-serial      run target compilation serially in the parent process (no
                        multiprocessing.Pool). Produces a single unified pyinstrument report with
                        full call-stack depth. Slower wall-clock but the only way to see *all*
                        stacks (including kadet/jinja/jsonnet internals) in one flame graph.
                        Implies/pairs well with --profile.
  --profile-format {html,text,json,speedscope}
                        pyinstrument output format (default: html)
  --profile-interval PROFILE_INTERVAL
                        pyinstrument sampling interval in seconds (default: 0.001)
  --profile-output-dir PROFILE_OUTPUT_DIR
                        directory for profile reports (default: ./kapitan-profiles)
  --memory-profile      enable memory profiling via tracemalloc; writes a top-N text report
  --memory-profile-top MEMORY_PROFILE_TOP
                        number of top allocators to include in the memory report (default: 30)
Options (11)
OptionDescriptionSource
-h, --helpshow this help message and exithelp
--versionshow program's version number and exithelp
--mp-method spawnset multiprocessing start methodhelp
--profileenable CPU profiling via pyinstrument for the parent processhelp
--profile-workersalso CPU-profile multiprocessing workers;help
--profile-serialrun target compilation serially in the parent process (no multiprocessing.Pool).help
--profile-format htmlpyinstrument output format (default: html)help
--profile-interval PROFILE_INTERVALpyinstrument sampling interval in seconds (default: 0.001)help
--profile-output-dir PROFILE_OUTPUT_DIRdirectory for profile reports (default: ./kapitan-profiles)help
--memory-profileenable memory profiling via tracemalloc;help
--memory-profile-top MEMORY_PROFILE_TOPnumber of top allocators to include in the memory report (default: 30)help

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.