Commit Graph

8585 Commits

Author SHA1 Message Date
Paul Gaiduk
3751bb6d79 pkg build: fix builder config and certs not copied into new containers
LoadConfigFiles() was only called inside the container-inspect block,
so filesToLoadIntoContainer was never populated when no builder
container existed yet. The subsequent copyFilesToContainer() call
received a nil map, sending an empty tar archive and leaving
/etc/buildkit/ empty inside the newly created container.

Move the LoadConfigFiles() call before the inspect check so the config
and certificate data is always available when creating a fresh builder.

Co-Authored-By: Claude <noreply@anthropic.com>

Signed-off-by: Paul Gaiduk <paulg@zededa.com>
2026-03-12 20:28:03 +01:00
Justin Cormack
bdef7e865a Merge pull request #4205 from rucoder/rucoder/env-vars-for-ci
pkg build: add env var support for mirror, org, builder image and config
2026-03-12 11:42:30 +00:00
Mikhail Malyshev
666bbfdbd5 pkg build: add env var support for mirror, org, builder image and config
Introduce environment variables for key CI/CD flags so that self-hosted
runners (e.g. GitHub Actions) can configure registry mirrors and push
targets without modifying calling Makefiles:

- LINUXKIT_MIRROR         - equivalent to --mirror (space/comma-separated);
                            CLI flags take precedence (last SetProxy wins)
- LINUXKIT_PKG_ORG        - equivalent to --org for all pkg subcommands
- LINUXKIT_BUILDER_IMAGE  - equivalent to --builder-image
- LINUXKIT_BUILDER_CONFIG - equivalent to --builder-config

All env var constants are consolidated in pkg_build.go alongside the
existing LINUXKIT_CACHE, LINUXKIT_BUILDER_NAME, LINUXKIT_BUILDERS.

Priority for all: CLI flag > env var > built-in default

Adds a new Environment Variables section to docs/packages.md with a
reference table covering all LINUXKIT_* vars and a note explaining the
two-layer mirror configuration required in CI (linuxkit pulls vs
buildkit Dockerfile pulls).

Signed-off-by: Roman Shaposhnik <rucoder@gmail.com>
Signed-off-by: Mikhail Malyshev <mike.malyshev@gmail.com>
2026-03-12 10:48:39 +00:00
Justin Cormack
c766f572ce Merge pull request #4204 from rucoder/rucoder/per-user-builder-name
pkg build: make buildkit builder container name configurable
2026-03-12 10:27:40 +00:00
Mikhail Malyshev
72a76e5b79 pkg build: use named volume to persist buildkit cache across restarts
The moby/buildkit image declares VOLUME /var/lib/buildkit, which causes
Docker to create an anonymous volume when no explicit mount is given.
These anonymous volumes are orphaned every time the builder container is
recreated (--builder-restart, config change, privilege fix), leaking
disk space.

Switch to a named volume (<builder-name>-state) that is explicitly
mounted on container creation. This:

- Preserves build cache across container restarts, config changes, and
  privilege fixes, making rebuilds faster.
- Eliminates anonymous volume leaks.
- Removes the state volume when the builder image version changes, since
  buildkit state compatibility across versions is not guaranteed.

Signed-off-by: Mikhail Malyshev <mike.malyshev@gmail.com>
2026-03-07 13:29:37 +00:00
Mikhail Malyshev
a85160e4d6 pkg build: make buildkit builder container name configurable
On shared servers where multiple users build packages against the same
Docker daemon, all users fight over a single hardcoded builder container
named "linuxkit-builder". One user's build can destroy another's
in-flight build when builder lifecycle management detects mismatches.

Make the builder container name configurable:

1. --builder-name CLI flag (highest priority)
2. LINUXKIT_BUILDER_NAME environment variable
3. "linuxkit-builder" default (original behavior, unchanged)

The flag is available on both "linuxkit pkg build" and
"linuxkit pkg builder" (du/prune) commands. Users on shared servers
can set LINUXKIT_BUILDER_NAME or pass --builder-name to get per-user
isolation (e.g. LINUXKIT_BUILDER_NAME=linuxkit-builder-$USER).

Signed-off-by: Mikhail Malyshev <mike.malyshev@gmail.com>
2026-03-07 12:58:36 +00:00
Mikhail Malyshev
ccb0787e2a pkg build: refactor builder parameters into BuilderConfig struct
Group the four builder-related fields (name, image, config path, restart)
that always travel together into a BuilderConfig struct. This simplifies:

- DockerRunner interface (Build() and Builder() lose 3 params each)
- buildOpts struct (4 fields -> 1)
- buildArch() function signature (3 fewer params)
- DiskUsage() / PruneBuilder() / getClientForPlatform() signatures
- 4 WithBuildBuilder*() option functions -> 1 WithBuildBuilderConfig()

Also rename the confusingly-named "builderName" local variables in
buildArch() and getClientForPlatform() to "dockerContext", which better
reflects their actual purpose (they hold a Docker context name, not the
builder container name).

No behavioral changes.

Signed-off-by: Mikhail Malyshev <mike.malyshev@gmail.com>
2026-02-26 08:20:01 +00:00
Avi Deitcher
e0151386c8 bump buildkit version and deps (#4202)
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2026-01-18 14:32:24 +02:00
Avi Deitcher
4129cc7999 push release tags even when digest tag already is there (#4201)
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2026-01-15 20:01:04 +02:00
Avi Deitcher
367e1f832a update images.yaml for raw-efi (#4198)
* update images.yaml for raw-efi

Signed-off-by: Avi Deitcher <avi@deitcher.net>

* Fix mkimage-raw-efi script

Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
Signed-off-by: Avi Deitcher <avi@deitcher.net>

---------

Signed-off-by: Avi Deitcher <avi@deitcher.net>
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
Co-authored-by: Chris Irrgang <chris.irrgang@gmx.de>
2026-01-14 12:08:16 +02:00
Avi Deitcher
7c7ac4e640 runc enable GO111MODULE (#4195)
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-12-11 21:07:29 +02:00
Chris Irrgang
50025b8840 separate kernel series hashing (#4194)
* separate kernel series hashing

Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>

* fix issues with the update component sha script

- add bsd/gnu cross compatibility for sed
- also replace in */test.sh files
- replace potentially problematic xargs
- remove potentially problematic word boundary \b

Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>

* Move common kernel files to dedicated folder

Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>

* run update-kernel-yamls

Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>

---------

Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-12-11 21:06:47 +02:00
Chris Irrgang
62c4fdb3d7 fix remaining two files for 6.12.59 kernel update
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-12-11 15:57:11 +02:00
Chris Irrgang
a066b29c1d fix remaining two files for 6.6.71 kernel hash update
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-12-11 15:57:11 +02:00
Chris Irrgang
fe86d9c345 update 6.6.71 kernel hashes after manual image registry fix
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-12-11 15:57:11 +02:00
Chris Irrgang
5fd23cf059 update kernel yamls
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-12-11 15:57:11 +02:00
Chris Irrgang
f935f6b18c bump kernel to 6.12.59
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-12-11 15:57:11 +02:00
Chris Irrgang
2ffdb936ad enable kernel vmware vmci support
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-12-11 15:57:11 +02:00
Avi Deitcher
c4e3043089 update qemu to solve slow builds using qemu binfmt
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-12-05 09:45:42 +02:00
Avi Deitcher
a2753b8da3 remove unnecessary apkdb from final package for memlogd and runc
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-12-03 12:08:42 +02:00
Avi Deitcher
cde127790c remove unnecessary apk package info from sysctl package
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-12-02 18:29:34 +02:00
Avi Deitcher
478807bd58 bump runc v3.3.0
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-11-18 12:30:46 -05:00
Avi Deitcher
2dd1217392 bump containerd v2.2.0
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-11-18 12:30:46 -05:00
Chris Irrgang
56e37a842e Add raw-efi test + documentation
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-11-09 04:36:36 -05:00
Chris Irrgang
804d52374e Switch to systemd-boot for raw-efi builds
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-11-09 04:36:36 -05:00
Avi Deitcher
238449c2d6 more package hash updates
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-10-29 07:10:30 -04:00
Avi Deitcher
e9114d690c fix missing containerd-dev
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-10-29 07:10:30 -04:00
Avi Deitcher
f5c8db72f4 update images.yaml
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-10-29 07:10:30 -04:00
Avi Deitcher
f73fa3b088 update tools based on grub
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-10-29 07:10:30 -04:00
Avi Deitcher
91a857dbfc sanity check on images.yaml
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-10-29 07:10:30 -04:00
Avi Deitcher
8fa6ab79b6 revert rpi3 build change
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-10-29 07:10:30 -04:00
Avi Deitcher
1723cf9493 Update package tags
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-10-29 07:10:30 -04:00
Avi Deitcher
6786caa59b tests: Update tests cases to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2025-10-29 07:10:30 -04:00
Chris Irrgang
72de5c6476 Update package tags
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-29 07:10:30 -04:00
Chris Irrgang
38c84d8c3c pkgs: Update packages to the latest linuxkit/alpine
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-29 07:10:30 -04:00
Chris Irrgang
c56bc379e6 Update use of test packages to latest
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-29 07:10:30 -04:00
Chris Irrgang
7dfbca36c7 tests: Update packages to the latest linuxkit/alpine
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-29 07:10:30 -04:00
Chris Irrgang
315cead648 Update use of tools to latest
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-29 07:10:30 -04:00
Chris Irrgang
35ab913bfb tools: Update to the latest linuxkit/alpine
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-29 07:10:30 -04:00
Chris Irrgang
397d7c2943 Add systemd-boot to alpine
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-29 07:10:30 -04:00
Chris Irrgang
5673ee1bfb Update kernel config test hashes
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-26 14:09:16 +02:00
Chris Irrgang
dadefbc5eb Fix kernel config test for 6.12.x
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-26 14:09:16 +02:00
Chris Irrgang
5f0b5f292e Update remaining hashes in tests manually
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-26 14:09:16 +02:00
Chris Irrgang
17e9b4412b Update kernel versions/hashes
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-26 14:09:16 +02:00
Chris Irrgang
ffd4a12ba2 Enable CONFIG_INET_DIAG_DESTROY
GH-4167

Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-26 14:09:16 +02:00
Chris Irrgang
c5d422c9d7 Fix kernel show-tags output
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-26 14:09:16 +02:00
Chris Irrgang
07231ef799 Add new kernel tests
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-26 14:09:16 +02:00
Chris Irrgang
2e3df6e42b Configure EIF boot/stub
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-26 14:09:16 +02:00
Chris Irrgang
1200d24201 Add kernel apparmor support
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-26 14:09:16 +02:00
Chris Irrgang
be7c483e17 Create new kernel series 6.12.x
Signed-off-by: Chris Irrgang <chris.irrgang@gmx.de>
2025-10-26 14:09:16 +02:00