KAS-DUMP(1)

NAME
kas-dump - kas dump plugin

SYNOPSIS

            kas dump [-h] [--skip STEP] [--force-checkout] [--update] [--indent INDENT]
                     [--sort] [--format {yaml,json}] [--resolve-refs] [--resolve-local]
                     [--resolve-env | --lock]
                     [config]

DESCRIPTION

Expand and dump the final config to stdout. when resolving branches, this is done before patches are applied.

This plugin implements the kas dump command.

When this command is executed in default mode, kas will parse all referenced config files, expand includes and print a flattened yaml version of the configuration to stdout. This config is semantically identical to the input, but does not include any references to other configuration files. The output of this command can be used to further analyze the build configuration.

When running with --lock, a locking spec is created which only contains the exact commit of each repository. This can be used to pin the commit of floating branches and tags, while still keeping an easy update path. For details on the locking support, see kas.plugins.lock <#module-kas.plugins.lock>.

Note:
        The options to create and update lock files have been moved to the lock plugin.

When running with --resolve-local, VCS tracking information of the root repo (the one with the kas-project.yml) is added to the output. The generated file can be used as single input to kas to reproduce the build environment. If the root repo is not under version control or contains uncommitted changes, a warning is emitted.

Please note:

    •   the dumped config is semantically identical but not bit-by-bit identical

    •   all referenced repositories are checked out to resolve cross-repo configs

    •   all branches are resolved before patches are applied

    •   the ordering of the keys is kept unless --sort is used. If you intend to store the flattened configs for comparison, it is recommended to sort the keys.

For example, to get a single config representing the final build config of kas-project.yml:target-override.yml you could run:

            kas dump kas-project.yml:target-override.yml > kas-project-expanded.yml

The generated config can be used as input for kas:

            kas build kas-project-expanded.yml

OPTIONS

Positional Arguments

    config
        Config file(s), separated by colon. Using .config.yaml in KAS_WORK_DIR if none is specified.

Named Arguments

    --skip=[]
        Skip build steps. To skip more than one step, use this argument multiple times.

        Possible choices: setup_dir, setup_home, make_non_interactive, init_setup_repos, repo_setup_loop, finish_setup_repos, repos_checkout, repos_apply_patches, setup_environ, write_bbconfig

    --force-checkout=False
        Always checkout the desired commit/branch/tag of each repository, discarding any local changes

    --update=False
        Pull new upstream changes to the desired branch even if it is already checked out locally

    --indent=2
        Line indent (# of spaces, default: 2)

    --sort=False
        Alphanumerically sort keys in output

    --format='yaml'
        Output format (default: yaml)

        Possible choices: yaml, json

    --resolve-refs=False
        Replace floating refs with exact SHAs. Overrides are removed

    --resolve-local=False
        Add tracking information of root repo

    --resolve-env=False
        Set env defaults to captured env value

    --lock=False
        Create lockfile with exact SHAs

SEE ALSO

kas-project-config(1), kas-checkout(1), kas-lock(1), kas-build(1)

KAS

Part of the kas(1) suite.

Author
Daniel Wagner, Jan Kiszka, Claudius Heine

Copyright
Siemens and contributors, 2017-2025