KAS-CONTAINER(1)

πŸ“¦
version 5.4 Β· 3 versions
, in ubuntu stonking

✨ NAME ✨

kas-container β€” a setup tool for bitbake based projects πŸ’…


🌸 SYNOPSIS 🌸

kas-container [OPTIONS] { build | shell } [KASOPTIONS] [KASFILE]
kas-container [OPTIONS] { checkout | dump | lock } [KASOPTIONS] [KASFILE]
kas-container [OPTIONS] { diff } [KASOPTIONS] config1 config2
kas-container [OPTIONS] for-all-repos [KASOPTIONS] [KASFILE] COMMAND
kas-container [OPTIONS] { clean | cleansstate | cleanall | purge} [KASFILE]
kas-container [OPTIONS] menu [KCONFIG]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so bestie, picture this: the kas-container script is a wrapper that runs kas inside a build container 😌 It gives you fine grained control over the data that gets mapped into the build, and it fully decouples the build environment from your host system. the whole point is that your messy little laptop does not get to touch the build. for the deets, see Environment Variables <#env-vars-label>. the wrapper also takes care of mounting the necessary directories and setting up the environment variables inside the container. it's giving personal assistant energy 🫢

🚨 note, bestie, pay attention: the kas-container script has limited support for Git worktrees. Regular Git operations on the checked-out repository are supported. However, executing any git worktree ... command inside the container is not allowed. not negotiable, not a vibe, just no 😭

by default kas-container uses the official images provided by the kas project: ghcr.io/siemens/kas/kas[-isar]:<version>. wanna bring your own? set the KAS_CONTAINER_IMAGE environment variable and go off πŸ‘‘ The kas-container script version should match the kas version inside the container. If kas detects that is was called from kas-container and the versions do not match, a warning is emitted. This limitation might be lessened in the future, once a stable interface between kas-container and kas is introduced. lowkey manifesting that for us ✨

from version 5.0 onward, kas offers images built on several base distributions. select a distribution by setting the environment variable KAS_CONTAINER_IMAGE_DISTRO to the desired value (e.g. debian-bookworm or debian-trixie). The corresponding image tags follow the pattern :<version>-<base-distro> (e.g. :5.0-debian-bookworm). Alternatively, you can adjust KAS_CONTAINER_IMAGE_DISTRO_DEFAULT in the kas-container script if you copy this into your downstream layer already for encoding the supported kas version. iconically flexible 🌈

as container backends, Docker and Podman are supported. To force the use of podman over docker, set KAS_CONTAINER_ENGINE=podman. For details, see Environment Variables <#env-vars-label>. pick your fighter, they both slay πŸ’…

Running under docker in rootless mode <https://docs.docker.com/engine/security/rootless/> is partially supported. It is recommended to use a distinct KAS_WORK_DIR outside of the calling directory (repo-dir), as kas temporarily changes the ownership of the working directory during its operation. All files managed by kas (including the repos) must not be written to from the host. To completely remove all data managed by kas, use kas-container purge. This also restores the directory owners of the dirs passed to kas, so they can be removed from the host. so like, purge is your bestie here, fr fr 🧚

🚨 another note for the girlies: The ISAR build system is compatible with rootless execution in isar-rootless mode only. The isar and isar-privileged modes fall back to the system docker or podman instance. no shortcuts, no exceptions πŸ’€

πŸ‘‘ KAS-CONTAINER COMMANDS πŸ‘‘

  • build β€” Check out repositories and build target. the main character move, honestly πŸ”₯
  • checkout β€” Check out repositories but do not build. window shopping bestie πŸ›οΈ
  • diff β€” Compare two kas configurations. spot the difference game ✨
  • dump β€” Check out repositories and write flat version of config to stdout. spill the tea to stdout πŸ«–
  • lock β€” Create and update kas project lockfiles. locking it down πŸ”’
  • shell β€” Run a shell in the build environment. get in there and poke around 🐚
  • for-all-repos β€” Run specified command in each repository. every single one, no skips πŸ’…
  • clean β€” Clean build artifacts, keep sstate cache and downloads. glow-up, but gentle 🧼
  • cleansstate β€” Clean build artifacts and sstate cache, keep downloads. bye sstate, you were cute πŸŽ€
  • cleanall β€” Clean build artifacts, sstate cache and downloads. scorched earth, no survivors πŸ’€
  • purge β€” Remove all data managed by kas. Run with --dry-run to check what would be removed. the nuclear option, and YES you check first πŸ™ˆ
  • menu β€” Provide configuration menu and trigger configured build. cute interactive moment πŸ“

πŸŽ€ OPTIONS πŸŽ€

  • --isar-privileged β€” Run an Isar build in privileged mode. To force the use
  • --isar-rootless β€” Run an Isar build in rootless mode.
  • --runtime-args β€” Additional arguments to pass to the container runtime.
  • -l, --log-level β€” Set log level (default=info).
  • --version β€” Print program version.
  • --ssh-dir β€” Directory containing SSH configurations.
  • --ssh-agent β€” Forward ssh-agent socket to the container.
  • --aws-dir β€” Directory containing AWScli configuration.
  • --git-credential-store β€” File path to the git credential store.
  • --git-credential-socket β€” Path to the git credential cache socket.
  • --no-proxy-from-env β€” Do not inherit proxy settings from environment.
  • --repo-ro β€” Mount current repository read-only
  • --repo-rw β€” Mount current repository writable
  • -h, --help β€” Show this help message and exit.

πŸ”₯ SEE ALSO πŸ”₯

kas(1),


πŸ’œ KAS πŸ’œ

Part of the kas(1) suite. yes, the whole family is iconic, iykyk πŸ‘‘

Author

Daniel Wagner, Jan Kiszka, Claudius Heine

Siemens and contributors, 2017-2025


and that's the whole page bestie, you ate this πŸ’… this little masterpiece is 5.4, dated Jun 25, 2026. go build something gorgeous, mwah 🫢✨🌈

πŸ“¦ where this page comes from