stacker

module
v0.40.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 22, 2023 License: Apache-2.0

README

stacker

stacker Build Status CodeQL Go Reference

Stacker is a tool for building OCI images natively via a declarative yaml format.

Features

  • Single binary
  • Rootless builds
  • Hermetically sealed builds using LXC containers
  • Also available as a GitHub action
Installation

Stacker has various build and runtime dependencies.

Hacking

See the hacking guide for tips on hacking/debugging stacker.

Usage

See the tutorial for a short introduction to how to use stacker.

See the stacker.yaml specification for full details on the stacker.yaml specification.

Additionally, there are some tips and tricks for common usage.

TODO / Roadmap
  • Upstream something to containers/image that allows for automatic detection of compression
  • Design/implement OCIv2 drafts + final spec when it comes out
Conference Talks
  • An Operator Centric Way to Update Application Containers FOSDEM 2019
  • Building OCI Images without Privilege OSS EU 2018
  • Building OCI Images without Privilege OSS NA 2018

(Note that despite the similarity in name of the 2018 talks, the content is mostly disjoint; I need to be more creative with naming.)

License

stacker is released under the Apache License, Version 2.0, and is:

Copyright (C) 2017-2022 Cisco Systems, Inc. and contributors

Directories

Path Synopsis
cmd
pkg
embed-exec
This is a package to go from an embed.FS + file name to an exec.Command; works only on recent linux kernels
This is a package to go from an embed.FS + file name to an exec.Command; works only on recent linux kernels
lib
lib/containers_storage
containers/image/storage has a dependency on libdevmapper.so; having this in its own package allows downstream users to import it if they want to use it, but means they can also avoid importing it if they don't want to add this dependency.
containers/image/storage has a dependency on libdevmapper.so; having this in its own package allows downstream users to import it if they want to use it, but means they can also avoid importing it if they don't want to add this dependency.
log
oci
overlay
A basic overlay storage backend.
A basic overlay storage backend.
squashfs
This package is a small go "library" (read: exec wrapper) around the mksquashfs binary that provides some useful primitives.
This package is a small go "library" (read: exec wrapper) around the mksquashfs binary that provides some useful primitives.
storage
common code used by storage backends
common code used by storage backends

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL