CLI Reference | kapitan inventory
kapitan inventory
Renders the resulting inventory values for a specific target.
For example, rendering the inventory for the mysql target:
kapitan inventory -t mysql
click to expand output
__reclass__:
environment: base
name: mysql
node: mysql
timestamp: Wed Nov 23 23:19:28 2022
uri: yaml_fs:///src/inventory/targets/examples/mysql.yml
applications: []
classes:
- kapitan.kube
- kapitan.generators.kubernetes
- kapitan.generators.argocd
- kapitan.generators.terraform
- kapitan.generators.rabbitmq
- kapitan.common
- common
- components.mysql
environment: base
exports: {}
parameters:
_reclass_:
environment: base
name:
full: mysql
short: mysql
components:
mysql:
config_maps:
config:
data:
mysql.cnf:
value: ignore-db-dir=lost+found
mytemplate.cnf:
template: components/mysql/mytemplate.cnf.j2
values:
mysql:
client:
port: 3306
socket: /var/run/mysqld/mysqld.sock
mysqld:
bind-address: 127.0.0.1
max_allowed_packet: 64M
thread_concurrency: 8
mount: /etc/mysql/conf.d/
env:
MYSQL_DATABASE: ''
MYSQL_PASSWORD:
secretKeyRef:
key: mysql-password
MYSQL_ROOT_PASSWORD:
secretKeyRef:
key: mysql-root-password
MYSQL_USER: ''
image: mysql:5.7.28
ports:
mysql:
service_port: 3306
secrets:
secrets:
data:
mysql-password:
value: ?{plain:targets/mysql/mysql-password||randomstr|base64}
mysql-root-password:
value: ?{plain:targets/mysql/mysql-root-password||randomstr:32|base64}
versioned: true
type: statefulset
volume_claims:
datadir:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: standard
volume_mounts:
datadir:
mountPath: /var/lib/mysql
docs:
- templates/docs/README.md
generators:
manifest:
default_config:
annotations:
manifests.kapicorp.com/generated: 'true'
service_account:
create: false
type: deployment
kapitan:
compile:
- input_paths:
- components/generators/kubernetes
input_type: kadet
output_path: manifests
output_type: yml
- input_params:
function: generate_docs
template_path: templates/docs/service_component.md.j2
input_paths:
- components/generators/kubernetes
input_type: kadet
output_path: docs
output_type: plain
- input_params:
function: generate_pre_deploy
input_paths:
- components/generators/kubernetes
input_type: kadet
output_path: pre-deploy
output_type: yml
- input_paths:
- components/generators/argocd
input_type: kadet
output_path: argocd
output_type: yml
- input_params:
generator_root: resources.tf
input_paths:
- components/generators/terraform
input_type: kadet
output_path: terraform
output_type: json
- ignore_missing: true
input_paths:
- resources/state/mysql/.terraform.lock.hcl
input_type: copy
output_path: terraform/
- input_paths:
- components/generators/rabbitmq
input_type: kadet
output_path: rabbitmq
output_type: yml
- input_paths:
- templates/docs/README.md
input_type: jinja2
output_path: docs
- input_paths: []
input_type: jinja2
output_path: scripts
- input_paths: []
input_type: jsonnet
output_path: manifests
output_type: yml
dependencies:
- output_path: lib/kube.libsonnet
source: https://raw.githubusercontent.com/bitnami-labs/kube-libsonnet/master/kube.libsonnet
type: https
- output_path: lib/kube-platforms.libsonnet
source: https://raw.githubusercontent.com/bitnami-labs/kube-libsonnet/master/kube-platforms.libsonnet
type: https
- output_path: components/generators/kubernetes
ref: master
source: https://github.com/kapicorp/kapitan-reference.git
subdir: components/generators/kubernetes
type: git
- output_path: components/generators/terraform
ref: master
source: https://github.com/kapicorp/kapitan-reference.git
subdir: components/generators/terraform
type: git
vars:
target: mysql
manifests: []
mysql:
settings:
client:
port: 3306
socket: /var/run/mysqld/mysqld.sock
mysqld:
bind-address: 127.0.0.1
max_allowed_packet: 64M
thread_concurrency: 8
namespace: mysql
scripts: []
target_name: mysql
Flags
The table below is generated from Kapitan's argument parser at docs-build time, so it always matches the installed version. See also the global flags accepted by every command, and the .kapitan dotfile to set any of these permanently.
| Flag | Default | Choices | Description |
|---|---|---|---|
--inventory-backend |
reclass |
reclass, reclass-rs, omegaconf | Select the inventory backend to use (default=reclass) |
--migrate |
False |
Migrate your inventory to your selected inventory backend. | |
--compose-target-name |
False |
Create same subfolder structure from inventory/targets inside compiled folder | |
--enable-class-wildcards |
False |
Enable glob pattern expansion in classes: lists (default: off). Patterns such as clusters., dev- and * are expanded to all matching class names discovered under inventory/classes/. This flag is intentionally opt-in: inventories that contain literal glob metacharacters in class names (e.g. config[html]) or Reclass references that include ? would be incorrectly treated as patterns if expansion were always on. | |
--target-name, -t |
set target name, default is all targets | ||
--inventory-path |
./inventory |
set inventory path, default is "./inventory" | |
--flat, -F |
False |
flatten nested inventory variables | |
--pattern, -p |
filter pattern (e.g. parameters.mysql.storage_class, or storage_class, or storage_*), default is "" | ||
--verbose, -v |
False |
set verbose mode | |
--indent, -i |
2 |
Indentation spaces for inventory output, default is 2 | |
--topics |
show aggregated topics instead of target inventory | ||
--multiline-string-style, -L |
double-quotes |
literal, folded, double-quotes | set multiline string style to STYLE, default is 'double-quotes' |