366 Commits

Author SHA1 Message Date
Avi Deitcher
d7a6bc8899 Merge pull request #4077 from deitch/docker-bump
bump docker deps to v27.2.0
2024-09-08 13:00:19 +03:00
Avi Deitcher
2159aacb09 bump docker deps to v27.2.0
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-09-08 12:22:57 +03:00
Avi Deitcher
fa3207c86e Merge pull request #4072 from christoph-zededa/docker_cache_consider_architecture
moby: check architecture for docker image
2024-08-29 22:15:19 +03:00
Avi Deitcher
1d6d5fa612 Merge pull request #4074 from deitch/efi-kernel
remove linuxefi grub EFI handover to normal linux loading
2024-08-29 21:13:48 +03:00
Avi Deitcher
ba25e59640 remove linuxefi grub EFI handover to normal linux loading
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-08-29 17:30:57 +03:00
Avi Deitcher
6979859e76 Merge pull request #4073 from deitch/init-debug-no-control
use only stdout/stderr or file for runc output
2024-08-28 15:28:33 +03:00
Avi Deitcher
5848a2856f use only stdout/stderr or file for runc output
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-08-28 14:45:26 +03:00
Christoph Ostarek
cb8f36adf3 moby: check architecture for docker image
under certain cases the container image is already in the local docker
registry, but with the wrong architecture; in this case just pretend
it is not there and let the caller decide if they want to build it

Signed-off-by: Christoph Ostarek <christoph@zededa.com>
2024-08-27 15:49:21 +02:00
Avi Deitcher
5f09346e1e Merge pull request #4070 from deitch/verbose-runc
more verbose runc messages
2024-08-22 20:55:44 +03:00
Avi Deitcher
15c808c4ee more verbose runc messages
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-08-22 20:23:44 +03:00
Avi Deitcher
745da8f4c0 Merge pull request #4069 from deitch/fix-ro-volumes
when building read-only volumes, still use overlayfs
2024-08-22 19:20:35 +03:00
Avi Deitcher
b36cad081b when building read-only volumes, still use overlayfs
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-08-22 18:49:08 +03:00
Avi Deitcher
370bf51cdf Merge pull request #4067 from deitch/runc-debug-options
support cmdline-driven debugging mode for runc
2024-08-22 15:53:46 +03:00
Avi Deitcher
2af30c5503 support cmdline-driven debugging mode for runc
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-08-22 15:14:35 +03:00
Avi Deitcher
270fd1c5aa Merge pull request #4066 from deitch/ssh-support
support for pkg build ssh
2024-07-28 13:32:42 +03:00
Avi Deitcher
51727db254 support for pkg build ssh
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-28 11:39:55 +03:00
Avi Deitcher
34304b1e63 Merge pull request #4065 from deitch/volumes
Volumes
2024-07-21 20:33:02 +03:00
Avi Deitcher
38a0cb6376 test cases for volumes
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-21 20:02:40 +03:00
Avi Deitcher
a5085fc9ea pkg/init support for volumes
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-21 17:48:39 +03:00
Avi Deitcher
b953d1781c add support for volumes
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-21 17:48:38 +03:00
Avi Deitcher
fa08581fd5 Merge pull request #4064 from deitch/containerd-config-2
containerd config.toml v2
2024-07-19 09:54:34 +03:00
Avi Deitcher
d665a978a1 containerd config.toml v2
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-18 22:01:15 +03:00
Avi Deitcher
d68494ba4b Merge pull request #4063 from deitch/bump-containerd-1.7.20
containerd to 1.7.20
2024-07-18 21:40:39 +03:00
Avi Deitcher
55e13c914e containerd to 1.7.20
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-18 20:51:31 +03:00
Avi Deitcher
c3c6dc7735 Merge pull request #4062 from deitch/debug-containerd
include example for debugging containerd
2024-07-17 14:30:46 +03:00
Avi Deitcher
5d9f3e0aa0 include example for debugging containerd
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-17 14:29:29 +03:00
Avi Deitcher
690a4eecb5 Merge pull request #4061 from deitch/multi-pkg-deps
Multi pkg deps
2024-07-16 18:33:59 +03:00
Avi Deitcher
cd65ec385b Merge pull request #4060 from deitch/linuxkit-deps
bump docker deps in linuxkit binary
2024-07-16 12:58:01 +03:00
Avi Deitcher
f13aee1041 update rngd/extend/init usage in yml
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-16 12:29:10 +03:00
Avi Deitcher
315a1dbf20 pkg/extend bump x/sys version
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-16 12:24:48 +03:00
Avi Deitcher
7ac157e61b pkg/host-timesync-daemon bump x/sys version
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-16 12:23:24 +03:00
Avi Deitcher
53f848a229 pkg/rngd bump x/sys version
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-16 12:23:23 +03:00
Avi Deitcher
4ad55951e1 bump docker deps in linuxkit binary
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-16 12:15:22 +03:00
Avi Deitcher
5d940f4770 Merge pull request #4059 from deitch/more-init-alerts
bump pkg/init containerd, runc and image-spec to fix CVEs
2024-07-16 12:07:32 +03:00
Avi Deitcher
1fe9d0ea76 bump pkg/init containerd, runc and image-spec to fix CVEs
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-16 10:55:01 +03:00
Avi Deitcher
7b114bfa36 Merge pull request #4058 from deitch/init-security-alerts
update package versions and go version for pkg/init
2024-07-16 09:50:54 +02:00
Avi Deitcher
6bbda93914 update package versions and go version for pkg/init
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-16 10:11:23 +03:00
Avi Deitcher
e6ffc8a8f3 Merge pull request #4057 from deitch/build-targets-all-not-macos
make targets separated by OS
2024-07-11 19:03:20 +02:00
Avi Deitcher
e6ac960951 make targets separated by OS
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-11 18:09:48 +02:00
Avi Deitcher
933445f071 Merge pull request #4056 from deitch/handle-cross-compilation-macos
separate release builds of macOS CGO from others
2024-07-11 17:24:05 +02:00
Avi Deitcher
7acc8262f2 separate release builds of macOS CGO from others
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-11 16:55:51 +02:00
Avi Deitcher
bfac135e4e Merge pull request #4055 from deitch/include-semver-in-version
properly save linuxkit version
2024-07-11 15:41:20 +02:00
Avi Deitcher
8bb9174b28 properly save linuxkit version
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-11 15:16:26 +02:00
Avi Deitcher
8d76ae282f Merge pull request #4054 from christoph-zededa/fix_build_command_args
cmd: allow more than one config yaml for build
2024-07-10 19:00:52 +03:00
Christoph Ostarek
04dc9042cf cmd: allow more than one config yaml for build
according to the documentation the following command is valid:
`linuxkit build equinixmetal.yml equinixmetal.arm64.yml`
(docs/platform-equinixmetal.md)

So, make it valid.

Signed-off-by: Christoph Ostarek <christoph@zededa.com>
2024-07-10 17:24:53 +02:00
Avi Deitcher
c90f2ee8f2 Merge pull request #4052 from deitch/packet-to-metal
Packet to metal
2024-07-07 16:39:18 +03:00
Avi Deitcher
ad4c97c430 switch linuxkit from deprecated packngo to equinixmetal go-sdk
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-05 17:57:48 +03:00
Avi Deitcher
8f6ea3c85e switch Packet references to Equinix Metal
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-07-05 17:22:25 +03:00
Avi Deitcher
3f80ca694f Merge pull request #4049 from danrzs/master
ensured dumpFollow of logread includes 'follow' behaviour
2024-07-03 19:57:34 +03:00
Daniel Smith
cda7577e3c ensured dumpFollow of logread includes 'follow' behaviour
Signed-off-by: Daniel Smith <daniel@razorsecure.com>
2024-07-03 13:55:46 +01:00
Avi Deitcher
be7dfdd42c Merge pull request #4046 from jalaziz/4045
Improve support for third-party registry images
2024-06-24 11:08:04 -07:00
Jameel Al-Aziz
21e9f0fa1c add tests
Signed-off-by: Jameel Al-Aziz <jameel@bastion.io>
2024-06-22 01:58:37 -04:00
Jameel Al-Aziz
5e42d050a7 Improve support for third-party registry images
Update `ReferenceExpand` to support image references from remote
registries. This fixes local image lookup and pulling with newer
versions of Docker.

fixes #4045

Signed-off-by: Jameel Al-Aziz <jameel@bastion.io>
2024-06-18 21:57:51 -07:00
Avi Deitcher
4f89f4f67e Merge pull request #4043 from deitch/buildkit-bump 2024-06-11 18:29:11 +03:00
Avi Deitcher
977afa7510 remove no longer necessary rand.Seed
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-06-11 17:42:55 +03:00
Avi Deitcher
7c46ac8c5d bump buildkit to latest v0.13.2 with deps
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-06-11 15:55:42 +03:00
Avi Deitcher
f48e442a46 Merge pull request #4044 from deitch/go-1.22
bump actions/setup-go to v5 and go-version to 1.22.3
2024-06-11 15:55:13 +03:00
Avi Deitcher
4c3d189a1a bump actions/setup-go to v5 and go-version to 1.22.3
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-06-11 15:20:58 +03:00
Avi Deitcher
9e06024567 Merge pull request #4040 from deitch/export-formats
add cache export format OCI
2024-05-16 15:48:20 +03:00
Avi Deitcher
f5dcefc7c2 add cache export format OCI
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-05-16 14:38:19 +03:00
Avi Deitcher
6d37353ca1 Merge pull request #4039 from deitch/split-moby
move moby components that do not have runtime dependencies to own directory
2024-05-07 20:27:35 +03:00
Avi Deitcher
379617ca0d move moby components that do not have runtime dependencies to own directory
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-05-07 19:51:25 +03:00
Avi Deitcher
b49e32af98 Merge pull request #4036 from deitch/fix-action-script-v7 2024-04-28 16:30:14 +03:00
Avi Deitcher
5299f948e3 use proper path for github-script properties
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-04-28 15:56:53 +03:00
Avi Deitcher
e171750da6 Merge pull request #4035 from deitch/action-script-v7 2024-04-28 15:25:33 +03:00
Avi Deitcher
c32c74bc1d github script v7
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-04-28 14:43:52 +03:00
Avi Deitcher
d3257af256 Merge pull request #4034 from deitch/token-for-actions 2024-04-28 13:58:27 +03:00
Avi Deitcher
2578ae23c6 explicitly use GITHUB_TOKEN for actions script
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-04-28 12:58:10 +03:00
Avi Deitcher
38e62bb61d Merge pull request #4033 from jacobweinstock/cgroupsv2-as-default
Make cgroups v2 the default in the init pkg
2024-04-28 11:45:00 +03:00
Jacob Weinstock
2fe19f7561 Update dependencies
Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
2024-04-27 15:40:30 -06:00
Jacob Weinstock
803747f01a Make cgroups v2 the default:
cgroups v2 has been out since 2015. Not having
to set a kernel parameter helps improve the user
experience by not requiring it when it is required
by services in a build. Making this the default was
discussed back in 2021.

Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
2024-04-27 15:40:00 -06:00
Avi Deitcher
8afecd5204 Merge pull request #4031 from deitch/update-actions
bump actions to v4 to avoid deprecation
2024-04-25 12:19:07 +03:00
Avi Deitcher
e6b0ae05eb Merge pull request #4030 from deitch/canonicalize-pull
use canonical ref when looking in cache
2024-04-25 11:50:19 +03:00
Avi Deitcher
04792e0d44 bump actions to v4 to avoid deprecation
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-04-25 11:44:38 +03:00
Avi Deitcher
c836e54d22 use canonical ref when looking in cache
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-04-24 15:00:39 +03:00
Avi Deitcher
bc5d08d6a3 Merge pull request #4028 from largemouth/master
chore: fix function name in comment
2024-04-24 13:27:34 +03:00
largemouth
4ce13640cd chore: fix function name in comment
Signed-off-by: largemouth <largemouth@aliyun.com>
2024-04-22 19:45:14 +08:00
Avi Deitcher
cea4c0d419 Merge pull request #4027 from deitch/not-same-file
prevent using same file for input tar and output tar
2024-04-21 13:55:30 +03:00
Avi Deitcher
dc12b9be69 prevent using same file for input tar and output tar
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-04-21 13:19:57 +03:00
Avi Deitcher
dd1ae909d6 Merge pull request #4026 from deitch/increment-tar-output
add support for input-tar
2024-04-19 17:08:03 +03:00
Avi Deitcher
632b4065d4 add support for input-tar
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-04-19 16:30:06 +03:00
Avi Deitcher
a610332100 Merge pull request #4025 from deitch/tag-sources-in-tar
include image reference as source in every tar file header
2024-04-18 16:34:05 +03:00
Avi Deitcher
1fe8cba107 include image reference as source in every tar file header
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-04-18 16:03:34 +03:00
Avi Deitcher
47d02ecd61 Merge pull request #4024 from deitch/fix-kernel-tools-build
fix kernel tools build.yml files to reflect correct dockerfiles
2024-04-17 11:41:18 +03:00
Avi Deitcher
4d212000ec fix kernel tools build.yml files to reflect correct dockerfiles
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-04-16 19:30:28 +03:00
Avi Deitcher
9e18c9247c Merge pull request #4023 from deitch/commit-tag-arg
add tag to args passed for package builds
2024-04-16 15:14:25 +03:00
Avi Deitcher
6af6291afe add tag to args passed for package builds
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-04-16 13:52:49 +03:00
Avi Deitcher
de79880fff Merge pull request #3960 from Fabsolute/fix-disk-parameter-for-virtualization 2024-04-12 16:50:03 +02:00
Fabsolute
f2240fbeea FIX disk parameter usage
Signed-off-by: Fabsolute <ahmetturk93@gmail.com>
2024-04-12 16:07:30 +02:00
Avi Deitcher
b7bb183d49 Merge pull request #4020 from christoph-zededa/fix_doc_build_iso-efi
README.md: fix format parameter
2024-03-20 09:10:12 +01:00
Christoph Ostarek
6a7cea9dbd README.md: fix format parameter
linuxkit build expects '--format' or '-f' and not
'-format'

Signed-off-by: Christoph Ostarek <christoph@zededa.com>
2024-03-19 18:01:22 +01:00
Avi Deitcher
3ff5dac063 Merge pull request #4018 from christoph-zededa/fix_pulling_from_localhost_registry
util: allow pulling from local registry
2024-03-17 00:57:54 -07:00
Christoph Ostarek
4496612c70 util: allow pulling from local registry
before a command like
linuxkit cache pull 127.0.0.1:5000/pkgalpine

would result in trying to pull the following image:
docker.io/127.0.0.1:5000/pkgalpine

and this is wrong

Signed-off-by: Christoph Ostarek <christoph@zededa.com>
2024-03-15 18:36:31 +01:00
Avi Deitcher
1b1007a9da Merge pull request #4017 from deitch/pkg-release-cmds
missing pipe in package_release workflow
2024-03-11 08:57:55 -07:00
Avi Deitcher
c3b151ea42 missing pipe in package_release workflow
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-11 17:21:22 +02:00
Avi Deitcher
7952421e2b Merge pull request #4016 from deitch/next-fix-releases
fix pkg-release flow for building linuxkit
2024-03-11 08:18:50 -07:00
Avi Deitcher
88ff3ac7a7 fix pkg-release flow for building linuxkit
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-11 16:47:12 +02:00
Avi Deitcher
719ae0082a Merge pull request #4015 from deitch/pkg-tag-workflow
ensure package release flow is picked up
2024-03-11 07:41:41 -07:00
Avi Deitcher
15730ea617 ensure package release flow is picked up
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-11 14:19:07 +02:00
Avi Deitcher
55963aa26f Merge pull request #4014 from deitch/fix-release-pkgs
fix pkg release action workflow
2024-03-11 03:30:17 -07:00
Avi Deitcher
14f5433943 fix pkg release action workflow
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-11 11:34:34 +02:00
Avi Deitcher
10bbf86397 Merge pull request #4013 from deitch/pkg-release
add support for pkg release tags
2024-03-11 01:55:24 -07:00
Avi Deitcher
4df07ddb6e add support for pkg release tags
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-11 10:07:43 +02:00
Avi Deitcher
b8b00e8c82 Merge pull request #4012 from deitch/remote-tag-with-copy
remote-tag enable copying across repositories and registries
2024-03-06 03:55:22 -08:00
Avi Deitcher
51696d2905 remote-tag enable copying across repositories and registries
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-06 13:23:19 +02:00
Avi Deitcher
0d89422386 Merge pull request #4011 from deitch/kernel-push-builder
Kernel push builder
2024-03-06 01:58:21 -08:00
Avi Deitcher
3087e9055a fix builder image tagging using new remote-tag option of linuxkit
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-06 11:28:38 +02:00
Avi Deitcher
17ed8938e0 kernel builder handle push properly
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-06 10:45:21 +02:00
Avi Deitcher
67afa5d380 Merge pull request #4010 from deitch/remote-tag-rename
add pkg remote-tag option to tag descriptors remotely without pulling…
2024-03-06 00:44:59 -08:00
Avi Deitcher
58b7ae5b66 add pkg remote-tag option to tag descriptors remotely without pulling and pushing
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-06 10:14:28 +02:00
Avi Deitcher
70ae026b5d Merge pull request #4009 from deitch/cache-push-nopush-option
cache push only overrides remote if explicit
2024-03-05 10:37:56 -08:00
Avi Deitcher
71096c4301 cache push only overrides remote if explicit
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-05 20:05:01 +02:00
Avi Deitcher
60da9b92e4 Merge pull request #4008 from deitch/kernel-publish-ci
make kernel read/build and check part of CI
2024-03-05 08:27:34 -08:00
Avi Deitcher
2389221c4a make kernel read/build and check part of CI
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-05 17:49:28 +02:00
Avi Deitcher
17f5ecaefd Merge pull request #4007 from deitch/fix-update-component-too-broad-match
Fix update component too broad match
2024-03-05 00:16:15 -08:00
Avi Deitcher
533d582bad update 6.6.x test hash versions
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-04 21:33:23 +02:00
Avi Deitcher
3d0cd9d5da properly handle sed for update-component-sha.sh
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-04 21:32:19 +02:00
Avi Deitcher
470a9287e6 Merge pull request #4006 from deitch/kernel-hash-updates
hash for kernel changed, updating in test cases
2024-03-04 10:29:52 -08:00
Avi Deitcher
0abb1ac179 hash for kernel changed, updating in test cases
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-04 19:51:57 +02:00
Avi Deitcher
413f3f3e67 Merge pull request #4005 from deitch/kernel-makefile-regex
ensure kernel replacement matches middle of line too
2024-03-04 06:24:06 -08:00
Avi Deitcher
81f8a91d70 ensure kernel replacement matches middle of line too
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-04 15:54:08 +02:00
Avi Deitcher
83efa26b65 Merge pull request #4004 from deitch/missing-kernel-hashes
add missing hashes for kernel version-specific test cases
2024-03-04 05:12:28 -08:00
Avi Deitcher
3f10329ec2 add missing hashes for kernel version-specific test cases
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-04 14:25:46 +02:00
Avi Deitcher
600e12f184 Merge pull request #4003 from deitch/fix-kernel-makefile-replace
in kernel makefile tag update, ensure we only replace non-hashed semver
2024-03-04 03:40:00 -08:00
Avi Deitcher
916390860d in kernel makefile tag update, ensure we only replace non-hashed semver
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-04 12:45:28 +02:00
Avi Deitcher
b94b3af341 Merge pull request #4002 from deitch/kernel-tag-in-tests
Kernel tag in tests
2024-03-04 02:29:56 -08:00
Avi Deitcher
e381f9cac2 kernel generic test cases updated
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-04 11:53:11 +02:00
Avi Deitcher
e297d98f81 kernel series-specific test cases reference with hash
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-04 11:08:21 +02:00
Avi Deitcher
2f81ee674d Merge pull request #4001 from deitch/kernel-makefile-all-yamls-update
update kernel Makefile for targets for yamls
2024-03-04 01:04:29 -08:00
Avi Deitcher
d47a9284b4 update kernel Makefile for targets for yamls
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-03 17:06:45 +02:00
Avi Deitcher
62d04af55b Merge pull request #4000 from deitch/kernel-ci
kernel makefile target to replace tags using update-component-sha.sh
2024-03-03 06:59:23 -08:00
Avi Deitcher
b25b82c106 kernel makefile target to replace tags using update-component-sha.sh
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-03 16:19:34 +02:00
Avi Deitcher
47bd13a5a5 Merge pull request #3999 from deitch/move-kernel-version-to-directory
move kernel series status into series dir
2024-03-03 03:43:09 -08:00
Avi Deitcher
3e7df6c869 move kernel series status into series dir
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-03 12:49:17 +02:00
Avi Deitcher
de6978908f Merge pull request #3998 from deitch/missing-builder-label-on-kernel
in kernel build, have ARG in correct place to be usable
2024-03-03 01:50:38 -08:00
Avi Deitcher
a40251bf14 in kernel build, have ARG in correct place to be usable
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-03 11:17:57 +02:00
Avi Deitcher
10e6d57505 Merge pull request #3993 from deitch/kernel-build-with-linuxkit
switch kernel builds to linuxkit pkg build for simplicity
2024-03-02 12:07:40 -08:00
Avi Deitcher
000b6f4bb1 switch kernel builds to linuxkit pkg build for simplicity
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-02 21:22:05 +02:00
Avi Deitcher
7e45f8ef2e Merge pull request #3997 from deitch/build-args-files-trim
when reading build-args from file, always trim whitespace for key and…
2024-03-02 11:21:22 -08:00
Avi Deitcher
a5d5bb87c2 when reading build-args from file, always trim whitespace for key and value
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-01 16:03:54 +02:00
Avi Deitcher
58c36c9eb0 Merge pull request #3995 from deitch/cache-push-options
push arch-specific tags optional
2024-03-01 04:50:10 -08:00
Avi Deitcher
51a4c3b3eb push arch-specific tags optional
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-03-01 13:41:59 +02:00
Avi Deitcher
c72f700910 Merge pull request #3994 from deitch/pkg-build-progress
option to control progress in pkg build
2024-02-29 05:53:12 -08:00
Avi Deitcher
354c1c31e1 option to control progress in pkg build
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-02-29 15:21:28 +02:00
Avi Deitcher
898039595d Merge pull request #3992 from deitch/cache-tag
option to push local image to somewhere else
2024-02-28 10:49:57 -08:00
Avi Deitcher
1766f61aed option to push local image to somewhere else
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-02-28 16:28:07 +02:00
Avi Deitcher
41cd91e0e3 Merge pull request #3991 from deitch/cache-pull-push
add support for pushing and pulling images
2024-02-28 04:06:00 -08:00
Avi Deitcher
54d9db8650 add support for pushing and pulling images
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-02-28 13:08:47 +02:00
Avi Deitcher
8b9b3f673b Merge pull request #3989 from deitch/kernel-build-dirs
restructure kernel builds into directories
2024-02-27 07:01:21 -08:00
Avi Deitcher
cd12a8613d restructure kernel builds into directories
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-02-27 15:14:06 +02:00
Avi Deitcher
51102106b3 Merge pull request #3966 from mestery/mestery/issue3965
Enable VRF in kernel configurations
2024-02-26 07:09:46 -08:00
Kyle Mestery
bdc15ae9f6 Enable VRF in kernel configurations
Signed-off-by: Kyle Mestery <mestery@mestery.com>
2024-02-26 07:59:21 -06:00
Avi Deitcher
86d11e2879 Merge pull request #3988 from deitch/yaml-template
template in yaml file
2024-02-25 02:03:15 -08:00
Avi Deitcher
1f57ac5280 fix yaml in test case with duplicate key
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-02-25 11:28:54 +02:00
Avi Deitcher
06a05badf6 template in yaml file
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-02-23 15:43:45 +02:00
Avi Deitcher
36f379abe5 Merge pull request #3987 from deitch/build-arg-file
add support for build-arg files
2024-02-22 07:24:35 -08:00
Avi Deitcher
56543ed0a2 add support for build-arg files
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-02-22 16:41:49 +02:00
Avi Deitcher
72be49c81c Merge pull request #3986 from deitch/dockerfile-in-build-yml
Dockerfile in build yml and CLI; tag templates
2024-02-21 12:21:17 -08:00
Avi Deitcher
83a8c5cae2 add support for tag templates
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-02-21 21:45:39 +02:00
Avi Deitcher
0c31697e10 add support for specifying dockerfile in build process
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-02-21 21:15:08 +02:00
Avi Deitcher
2cff5681b5 Merge pull request #3985 from deitch/cache-load
enable import of images from tar files
2024-02-20 04:44:16 -08:00
Avi Deitcher
f04e28d291 enable import of images from tar files
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-02-20 13:59:14 +02:00
Avi Deitcher
4cdfd5ff9c Merge pull request #3983 from beriberikix/usbip
Rebased and re-implemented USBIP configs
2024-02-18 06:31:32 -08:00
Jonathan Beri
b12a7d584f Rebased and re-implemented USBIP configs
Signed-off-by: Jonathan Beri <jberi@golioth.io>

Revert to master

Signed-off-by: Jonathan Beri <jberi@golioth.io>

Modify USBIP modules by hand

Signed-off-by: Jonathan Beri <jberi@golioth.io>
2024-02-18 05:39:52 -08:00
Avi Deitcher
0895d146d4 Merge pull request #3984 from deitch/fix-dev-nul
use proper null in script and not mispelled nul
2024-02-18 05:03:56 -08:00
Avi Deitcher
bd582fa474 use proper null in script and not mispelled nul
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-02-18 11:40:33 +02:00
Avi Deitcher
657b33805e Merge pull request #3982 from christoph-zededa/bump_runc_cve-2024-21626
runc: bump to newest version
2024-02-05 03:44:32 -08:00
Christoph Ostarek
819d83b716 runc: bump to newest version
./scripts/update-component-sha.sh --pkg ./pkg/runc

Signed-off-by: Christoph Ostarek <christoph@zededa.com>
2024-02-05 11:45:39 +01:00
Christoph Ostarek
c2b9970241 runc: bump to newest version
This version includes a fix for CVE-2024-21626 which
allowed an attacker in bad circumstances to
"escape containerized environments".

See also https://access.redhat.com/security/cve/cve-2024-21626

Signed-off-by: Christoph Ostarek <christoph@zededa.com>
2024-02-05 11:44:41 +01:00
Avi Deitcher
23c1b5797b Merge pull request #3981 from deitch/kernel-cross-build
kernels Makefile support custom builders and archs
2024-02-01 06:38:53 -08:00
Avi Deitcher
4e070077c9 kernels Makefile support custom builders and archs
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-02-01 15:39:16 +02:00
Avi Deitcher
bafbf0ac0f Merge pull request #3980 from deitch/kernel-document
updated kernel documents
2024-01-31 01:36:09 -08:00
Avi Deitcher
c388177596 updated kernel documents
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-31 10:54:47 +02:00
Avi Deitcher
6c29f580ae Merge pull request #3971 from deitch/update-alpine-base
bump alpine base for kernel, regenerate configs
2024-01-30 04:10:00 -08:00
Avi Deitcher
fa4af07faf update deps of check-kernel-config
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-30 10:25:08 +02:00
Avi Deitcher
e5fbf8a972 update kernel perf
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-30 10:15:28 +02:00
Avi Deitcher
b405b39c48 bump xfs to use kernel 6.6 and latest format
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-30 10:15:28 +02:00
Avi Deitcher
480ff67ddc update bcc version
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-30 10:15:28 +02:00
Avi Deitcher
4b3eb1ff38 kernel 6.6.x config
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-30 10:15:27 +02:00
Avi Deitcher
316886c946 add 6.6.13 to tests
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-29 15:28:01 +02:00
Avi Deitcher
752a35b1aa restructure kernel/Makefile
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-29 15:28:00 +02:00
Avi Deitcher
421b48d43a bump alpine base for kernel, regenerate configs
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 22:27:59 +02:00
Avi Deitcher
605f09ef78 Merge pull request #3978 from deitch/zstd-static
include zstd-static library
2024-01-28 12:26:21 -08:00
Avi Deitcher
3a6398e351 Update package tags
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 20:53:32 +02:00
Avi Deitcher
d018c425f6 pkgs: Update packages to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 20:51:39 +02:00
Avi Deitcher
909e5c97ff Update use of test packages to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 20:51:24 +02:00
Avi Deitcher
eff77819a4 tests: Update packages to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 20:51:16 +02:00
Avi Deitcher
927997930b Update use of tools to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 20:51:14 +02:00
Avi Deitcher
7977310c52 tools: Update to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 20:51:04 +02:00
Avi Deitcher
8bd896a955 tools/alpine: Update to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 20:50:01 +02:00
Avi Deitcher
7276939ad2 Update linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 20:47:44 +02:00
Avi Deitcher
3607a34892 Merge pull request #3977 from deitch/python3-dev
Python3 dev
2024-01-28 09:08:19 -08:00
Avi Deitcher
0d15d8d9bb Update package tags
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 15:32:09 +02:00
Avi Deitcher
d907c675d2 pkgs: Update packages to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 15:31:01 +02:00
Avi Deitcher
b2a3badd5f Update use of test packages to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 15:30:49 +02:00
Avi Deitcher
f8f690f6f3 tests: Update packages to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 15:30:36 +02:00
Avi Deitcher
449ec61222 Update use of tools to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 15:30:31 +02:00
Avi Deitcher
d9027d543d tools: Update to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 15:30:18 +02:00
Avi Deitcher
1676b1a538 tools/alpine: Update to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 15:29:14 +02:00
Avi Deitcher
59bae229c2 Update linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 15:26:51 +02:00
Avi Deitcher
e4ba559605 Merge pull request #3976 from deitch/llvm17-gtest-again
Llvm17 gtest again
2024-01-28 02:44:35 -08:00
Avi Deitcher
45d7ab8fed Update package tags
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 10:57:05 +02:00
Avi Deitcher
b71ac70742 pkgs: Update packages to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 10:55:04 +02:00
Avi Deitcher
8a23691591 Update use of test packages to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 10:54:43 +02:00
Avi Deitcher
1bd9e9b5a2 tests: Update packages to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 10:54:20 +02:00
Avi Deitcher
9cf5d809e8 Update use of tools to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 10:54:09 +02:00
Avi Deitcher
a538a1efcf tools: Update to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 10:53:56 +02:00
Avi Deitcher
09c85aa0ad tools/alpine: Update to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 10:53:19 +02:00
Avi Deitcher
6c4eac84c2 Update linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 10:50:35 +02:00
Avi Deitcher
66509eb115 Merge pull request #3975 from deitch/py3-pip
Py3 pip
2024-01-28 00:35:59 -08:00
Avi Deitcher
5954e9308a revert xfs changes because it is kernel sensitive
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 09:54:43 +02:00
Avi Deitcher
6b5be65a33 Update package tags
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 22:28:11 +02:00
Avi Deitcher
cbe149e97a pkgs: Update packages to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 22:27:54 +02:00
Avi Deitcher
68308dc20b Update use of test packages to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 22:27:29 +02:00
Avi Deitcher
41311cbe2b tests: Update packages to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 22:27:20 +02:00
Avi Deitcher
79e91dedf8 Update use of tools to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 22:27:14 +02:00
Avi Deitcher
6db6bc84aa tools: Update to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 22:26:58 +02:00
Avi Deitcher
86382030f5 tools/alpine: Update to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 22:25:54 +02:00
Avi Deitcher
55fe1761e3 Update linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 22:23:03 +02:00
Avi Deitcher
44403f6f56 Merge pull request #3974 from deitch/llvm7-gtest-pkg
Add llvm17-gtest pkg
2024-01-27 11:41:11 -08:00
Avi Deitcher
7fa10ce83a Update package tags
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 21:09:58 +02:00
Avi Deitcher
73d160e356 pkgs: Update packages to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 21:09:45 +02:00
Avi Deitcher
791b4630ef Update use of test packages to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 21:09:43 +02:00
Avi Deitcher
c6be190454 tests: Update packages to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 21:09:30 +02:00
Avi Deitcher
7defa568a2 Update use of tools to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 21:09:30 +02:00
Avi Deitcher
bc1a7d60df tools: Update to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 21:09:30 +02:00
Avi Deitcher
64ce82b692 tools/alpine: Update to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-27 21:09:30 +02:00
Avi Deitcher
7271619a8b Merge pull request #3973 from deitch/alpine-319
Alpine 319
2024-01-26 03:23:21 -08:00
Avi Deitcher
ab0473d953 revert xfs changes because of kernel version sensitivity
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-26 12:49:06 +02:00
Avi Deitcher
7a0ae251c0 update alpine base comments
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-26 12:44:34 +02:00
Avi Deitcher
1b3e13c880 Update package tags
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-25 23:24:06 +02:00
Avi Deitcher
96df8f8fda pkgs: Update packages to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-25 23:23:34 +02:00
Avi Deitcher
13926f6593 Update use of test packages to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-25 23:23:04 +02:00
Avi Deitcher
846e4c9c4e tests: Update packages to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-25 23:22:53 +02:00
Avi Deitcher
d6f9f6129e Update use of tools to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-25 23:22:41 +02:00
Avi Deitcher
22cc9343b4 tools: Update to the latest linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-25 23:20:43 +02:00
Avi Deitcher
35dbd157bb tools/alpine: Update to latest
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-25 23:19:18 +02:00
Avi Deitcher
3d20dfe386 Update linuxkit/alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-25 23:15:38 +02:00
Avi Deitcher
ed7dacb72b Merge pull request #3972 from deitch/dockerfile-bcc-extra-package
Dockerfile bcc extra package
2024-01-25 07:04:43 -08:00
Avi Deitcher
a1baf077f2 remove extra package which only is available in later alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-25 16:27:43 +02:00
Avi Deitcher
b0d8897189 Merge pull request #3969 from yzewei/master
Add support for loongarch64

Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-24 19:11:30 +02:00
Avi Deitcher
1957c8d126 Merge pull request #3969 from yzewei/master
Add support for loongarch64
2024-01-09 00:55:02 -08:00
yzewei
27c08f25ad Add loongarch64 support to binfmt_misc
Signed-off-by: yzewei <yangzewei@loongson.cn>
2024-01-09 09:04:36 +08:00
Avi Deitcher
59245e88e8 Merge pull request #3968 from christoph-zededa/fix_logread_socket_closed_too_early
logread: do not close socket too early
2023-12-18 06:33:32 -08:00
Christoph Ostarek
cc374a5ea8 logread: do not close socket too early
only close socket once reading is finished

Signed-off-by: Christoph Ostarek <christoph@zededa.com>
2023-12-18 14:12:40 +01:00
Avi Deitcher
3a0405298a Merge pull request #3967 from deitch/build-after-pull-if-missing
when pulling image to cache, if it is missing target arch, indicate an error
2023-12-16 23:37:25 -08:00
Avi Deitcher
821dddcffc when pulling image to cache, if it is missing target arch, indicate an error
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-12-15 14:49:07 +02:00
Avi Deitcher
e115ce8dca Merge pull request #3963 from deitch/fix-image-pull-with-attestations
Fix image pull with attestations
2023-12-04 00:34:17 -08:00
Avi Deitcher
6e54a7bd6e properly write index when pulling image, including all manifests
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-12-03 15:44:53 +02:00
Avi Deitcher
e1d3a09976 when filling cache, ensure we include attestations
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-12-03 13:57:52 +02:00
Avi Deitcher
87bbbd184b Merge pull request #3964 from deitch/list-package-cache-during-tests
report package cache contents at each stage of CI
2023-12-03 03:57:14 -08:00
Avi Deitcher
782a38dcae report package cache contents at each stage
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-12-03 13:25:46 +02:00
Avi Deitcher
d1a0596bee Merge pull request #3959 from deitch/manifest-with-sboms
fix merging indexes in pkg manifest command
2023-11-22 04:23:40 -08:00
Avi Deitcher
4e75efc8aa fix merging indexes in pkg manifest command
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-11-22 12:48:34 +02:00
Avi Deitcher
4c14831d6b Merge pull request #3958 from deitch/bump-pkgs-again
noop to force pkg rebuild
2023-11-20 06:53:04 -08:00
Avi Deitcher
a2c6ed4205 noop to force pkg rebuild
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-11-20 12:05:52 +02:00
Avi Deitcher
54bd9073c2 Merge pull request #3957 from deitch/push-with-sboms
push sboms as well
2023-11-20 01:59:22 -08:00
Avi Deitcher
6d62579c08 push sboms as well
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-11-19 15:42:02 +02:00
Avi Deitcher
483e76c7f4 Merge pull request #3956 from deitch/bump-pkgs-to-generate-sbom
changed some packages to force new package versions, rebuild with sbom
2023-11-19 00:20:44 -08:00
Avi Deitcher
f227b73a39 changed some packages to force new package versions, rebuild with sbom
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-11-16 10:28:22 +02:00
Avi Deitcher
b26c169797 Merge pull request #3920 from vouch-opensource/fix/service-restarts-with-memlogd
Allow service restarts when using memlogd
2023-11-14 06:23:58 -08:00
Avi Deitcher
bbd9b85fc1 Merge pull request #3954 from deitch/sbom-inheritor
sbom support
2023-11-14 06:16:56 -08:00
Avi Deitcher
33cd7b749a sbom support
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-11-14 14:14:45 +02:00
Avi Deitcher
9742bfa5f7 Merge pull request #3953 from deitch/handle-cgroupsv2-last-cmdline-entry
Handle cgroupsv2 last cmdline entry
2023-10-26 20:26:14 +03:00
Avi Deitcher
d052901b35 update dependencies on init
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-10-25 18:34:32 +03:00
Avi Deitcher
0e2f17a05a correctly handle fields in cmdline for cgroupsv2
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-10-25 18:33:28 +03:00
Avi Deitcher
5d78de48f7 Merge pull request #3951 from deitch/proper-efi-arch
pass target arch to final image builder as TARGETARCH; use TARGETARCH…
2023-10-08 10:08:38 +03:00
Avi Deitcher
7ab99eac1f pass target arch to final image builder as TARGETARCH; use TARGETARCH when generating raw and iso, fallback to build arch; use updated images that read TARGETARCH; ensure grub has EFI for all archs
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-10-06 12:22:09 +03:00
Avi Deitcher
6c3f3e8eb1 Merge pull request #3950 from deitch/context-for-rebuilt
ensure passing context when creating builder runner
2023-10-06 12:20:04 +03:00
Avi Deitcher
cb86e280b6 ensure passing context when creating builder runner
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-10-05 12:17:30 +03:00
Avi Deitcher
c72f6b49e2 Merge pull request #3948 from testwill/pkg-import
chore: import packages only once
2023-09-26 15:01:33 +03:00
guoguangwu
02f3bdcbe7 chore: import packages only once
Signed-off-by: guoguangwu <guoguangwu@magic-shield.com>
2023-09-26 18:47:25 +08:00
Rolf Neugebauer
959dce294c Merge pull request #3904 from qdeslandes/master
Disable CONFIG_BPFILTER for 5.4.x-x86_64 kernel configuration
2023-08-17 10:02:56 +01:00
Avi Deitcher
fec28d2493 Merge pull request #3942 from deitch/poweroff-as-package
move poweroff to full-fledged package
2023-07-26 12:02:47 +03:00
Avi Deitcher
5a9755a433 move poweroff to full-fledged package
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-07-24 20:06:14 +03:00
Avi Deitcher
03c97c3584 Merge pull request #3939 from deitch/logread-as-lib
expose logread function
2023-07-03 11:41:17 +03:00
Avi Deitcher
997c074db6 expose logread function
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-06-30 06:02:16 +03:00
Avi Deitcher
48e0eca4f5 Merge pull request #3938 from PIG208/doc
Fix broken links in the documentation.
2023-06-27 11:01:43 -07:00
Zixuan James Li
2d2df02a5a Fix broken links in the documentation.
Arguably the long term fix is to introduce a check for links in the
documentation with tools like markdown-link-check.

Signed-off-by: Zixuan James Li <p359101898@gmail.com>
2023-06-23 22:27:55 -04:00
Avi Deitcher
8e790a5417 Merge pull request #3937 from deitch/logread-exit-not-panic
logread should not panic on an EOF, instead exiting gracefully
2023-06-20 00:03:43 -07:00
Avi Deitcher
77b66b5572 Merge pull request #3936 from deitch/ctr-go-binaries
Ctr go binaries
2023-06-20 00:02:56 -07:00
Avi Deitcher
b7002c0eb2 logread should not panic on an EOF, instead exiting gracefully
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-06-19 17:50:35 +03:00
Avi Deitcher
4ee6387366 updated containerd-dev and downstream dependencies
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-06-19 14:17:43 +03:00
Avi Deitcher
7164b2c04d Merge pull request #3935 from deitch/ggcr-for-manifest
replace complex manifest-tool with straight go-containerregistry
2023-06-16 03:20:56 -07:00
Avi Deitcher
1b22e6f194 replace complex manifest-tool with straight go-containerregistry
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-06-16 10:13:24 +03:00
Avi Deitcher
9eef398d64 Merge pull request #3933 from deitch/main-version-binaries
Main version binaries
2023-06-15 00:31:24 -07:00
Avi Deitcher
3aeac872a0 update pkg/metadata with better logging
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-06-13 12:10:48 +03:00
Avi Deitcher
b633950059 replace ancient debian version in binfmt
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-06-12 15:58:04 +03:00
Avi Deitcher
0cb961e082 update examples, tests, projects, etc.
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-06-12 14:02:30 +03:00
Avi Deitcher
d4b5d5df79 include main.Version in binaries
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-06-12 14:02:30 +03:00
Avi Deitcher
655c7fb807 Merge pull request #3934 from deitch/fix-name-output-build-bug
handle conflict with name and output
2023-06-12 04:01:53 -07:00
Avi Deitcher
b1fa7d23c4 handle conflict with name and output
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-06-12 13:08:35 +03:00
Avi Deitcher
aab61a16de Merge pull request #3932 from deitch/build-args-with-versions
include source repo, revision and go package version as build-args
2023-06-12 01:26:08 -07:00
Avi Deitcher
de13ee521d include source repo, revision and go package version as build-args
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-06-08 18:24:25 +03:00
Avi Deitcher
aad12b570f Merge pull request #3931 from jprendes/update-capabilities
Update capabilities
2023-06-06 19:58:52 +03:00
Jorge Prendes
813f2a5bc1 Use gocapability/capability to get list of all capabilities
Signed-off-by: Jorge Prendes <jorge.prendes@gmail.com>
2023-06-06 10:44:48 +01:00
Jorge Prendes
f8b62fd0ac Vendor gocapability/capability in cmd/linuxkit
Signed-off-by: Jorge Prendes <jorge.prendes@gmail.com>
2023-06-06 10:44:26 +01:00
Avi Deitcher
740787a79e Merge pull request #3927 from deitch/multi-arch-guestfs 2023-05-22 23:45:02 -07:00
Avi Deitcher
a9f432ab34 update linuxkit command with newer vhd/dynamicvhd/vmdk/gcp images
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-05-22 10:23:35 +01:00
Avi Deitcher
23d44f6084 update downstream from guestfs
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-05-22 09:47:47 +01:00
Avi Deitcher
81f42a2b3b guestfs native arm64
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-05-22 09:34:44 +01:00
Frédéric Dalleau
c2df261e01 Add a target for building kernel with buildx (#3792)
* Use latest kernel in linuxkit

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

* Parallelize kernel source compression

This surpringly saves a lot of time:
M1: from 340 to 90 seconds
Intel: from 527 to 222 seconds (2 cores 4 threads)

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

* Add buildx target

buildx can use remote builders and automatically generate the multiarch manifest.
A properly configured builder is required :

First create docker context for the remote builders :
$ docker context create node-<arch> --docker "host=ssh://<user>@<host>"

Then create a buildx configuration using the remote builders:
$ docker buildx create --name kernel_builder --platform linux/amd64
$ docker buildx create --name kernel_builder --node node-arm64 --platform linux/arm64 --append
$ docker buildx use kernel_builder
$ docker buildx ls

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

* Add a PLATFORMS variable to declare platforms needed for buildx

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

* Make image name customizable

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

* Do not tag use the architecture suffix for images built with buildx

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

* Add make kconfigx to upgrade configs using buildx

To update configuration for 5.10 kernels use :
make -C kernel KERNEL_VERSIONS=5.10.104 kconfigx

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

---------

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2023-04-28 11:49:08 +03:00
Stijn Opheide
247d919a81 remove file at fifo logging location if it exists
Signed-off-by: Stijn Opheide <stijn@opheide.be>
2023-04-18 14:28:01 +02:00
David Gageot
eb81457111 Avoid running git command 254 times (#3915)
Signed-off-by: David Gageot <david.gageot@docker.com>
2023-03-23 10:55:21 +02:00
Erik Nordmark
c79558cc5a Retain /lib/apk/db for SBOM tools (#3913)
This allows SBOM tools to look at /lib/apk/db/installed to determine
which package versions are included in the container. This should
probably be applied across all of the linuxkit containers.

Signed-off-by: eriknordmark <erik@zededa.com>
2023-03-14 18:27:09 -04:00
Birol Bilgin
d4a8e284f6 added vmware metadata provider (#3526)
cloud-init data from vmware guest info as it described in the link below
https://github.com/vmware/cloud-init-vmware-guestinfo

Signed-off-by: Birol Bilgin <birolbilgin@gmail.com>
Co-authored-by: Birol Bilgin <birol.bilgin@basefarm.com>
2023-03-04 19:50:46 +02:00
Rolf Neugebauer
7d9f1f03a8 Merge pull request #3891 from fredericdalleau/qemu-virtiofs
Add virtiofs command line option for qemu run
2023-02-28 21:32:44 +00:00
Frédéric Dalleau
e4b1a5b192 Add virtualization framework virtiofs command line option
Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2023-02-25 07:53:53 +01:00
Frédéric Dalleau
13426fe805 Add qemu virtiofs command line option
Enables support for C version of virtiofs
A qemu option allows to specify virtiofsd path.
config.StatePath is used for storing the virtiofs sockets
Note that virtiofsd requires to start as root

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2023-02-25 07:52:59 +01:00
Avi Deitcher
f0f21bec52 update to latest manifest-tool, oras-v2, remove all replace in go.mod (#3912)
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-02-16 14:46:29 -08:00
Rolf Neugebauer
f4e9579e4b cmd: Remove s390x as a default arch (#3911)
* cmd: Remove s390x as a default arch

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>

* Update pkg/swap hash to latest

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>

---------

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2023-02-14 06:18:01 -08:00
Avi Deitcher
c51ce2551e use latest go-compile (#3906)
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-02-01 10:38:01 +02:00
Avi Deitcher
500fdb163b update go.mod deps (#3903)
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-01-29 11:42:36 +02:00
Quentin Deslandes
9b9d337037 Disable CONFIG_BPFILTER for 5.4.x-x86_64 kernel configuration
bpfilter is not meant to be used at all at this point. Only the module's
boilerplate is available on upstream kernels.

Signed-off-by: Quentin Deslandes <qde@naccy.de>
2023-01-27 11:55:50 +01:00
Itxaka
ea6268dd74 Bump go-diskfs to latest (#3902)
Also fix cdrom provider use of the new diskfs

Signed-off-by: Itxaka <itxaka@spectrocloud.com>

Signed-off-by: Itxaka <itxaka@spectrocloud.com>
Co-authored-by: Itxaka <itxaka@spectrocloud.com>
2023-01-23 16:19:32 +02:00
Avi Deitcher
7bba32e56c bump actions artifact upload/download and cache versions (#3901)
Signed-off-by: Avi Deitcher <avi@deitcher.net>

Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-01-22 14:08:25 +02:00
Avi Deitcher
6d95833759 ensure push when already found image locally (#3899)
Signed-off-by: Avi Deitcher <avi@deitcher.net>

Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-01-19 18:00:27 +02:00
David Gageot
f9f1ec7de4 Fix swap.sh (#3897)
The script used to compare “10M” with “10” as if
they were both integers.

Signed-off-by: David Gageot <david.gageot@docker.com>

Signed-off-by: David Gageot <david.gageot@docker.com>
2023-01-12 09:50:47 +00:00
Avi Deitcher
e668b25a82 Alpine 317 (#3888) 2023-01-05 07:26:50 +02:00
Avi Deitcher
ac8c24934c Test pkgs ci makefile (#3892)
* simplify test/pkg/Makefile

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

* ensure pkg and test/pkg built before downstream workflows in CI

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

Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-01-04 11:52:48 +02:00
Avi Deitcher
a91c4a77b0 Logwrite sync with memlogd (#3890)
* sync logwrite with memlogd

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

* update linuxkit/logwrite and linuxkit/memlogd dependencies

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

Signed-off-by: Avi Deitcher <avi@deitcher.net>
2023-01-03 10:47:42 +02:00
Rolf Neugebauer
6062f91648 Merge pull request #3889 from deitch/troubleshooting
start troubleshooting doc
2022-12-30 22:45:57 +00:00
Avi Deitcher
0b6441ccbc start troubleshooting doc
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-12-30 10:41:34 +02:00
Avi Deitcher
b84548b039 fix alpine base update docs (#3886)
Signed-off-by: Avi Deitcher <avi@deitcher.net>

Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-12-29 16:47:29 +02:00
Rolf Neugebauer
6700de3a74 Merge pull request #3830 from jf/fix_docs_aws_example
Fix examples/platform-aws.yml: add dhcpcd service to keep instance reachable after lease
2022-12-29 14:44:50 +00:00
Rolf Neugebauer
eb9376ff12 Merge pull request #3887 from deitch/fix-show-tags
allow multiple packages for show-tag
2022-12-29 14:38:42 +00:00
Avi Deitcher
0673db4493 allow multiple packages for show-tag
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-12-29 11:45:30 +02:00
Avi Deitcher
154f943d01 switch from flags to cobra (#3884)
Signed-off-by: Avi Deitcher <avi@deitcher.net>

Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-12-29 10:31:57 +02:00
Petr Fedchenkov
8b04a8c92a Update buildkit to 0.11.0-rc2 (#3882)
Seems buildkit breaks API compatibility with previous OCI implementation
 in new RC release, let's update it

Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>

Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>
2022-12-15 12:53:38 +02:00
Petr Fedchenkov
893bee6b81 Fix return code of rungetty.sh (#3881)
* Fix return code of rungetty.sh

In case of INITGETTY defined we will return exit code 1 which is not
expected

Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>

* Update getty sha

Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>

* restore package cache in LinuxKit Build Tests

Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>

Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>
2022-12-15 12:12:19 +02:00
Petr Fedchenkov
c3b4a588c9 Fix handling of platform flag (#3880)
* Update of buildkit to the last version

Commit contains the version of buildkit from output of
`go list -m -json github.com/moby/buildkit@c0ac5e8b9b51603c5a93795fcf1373d6d44d3a85`:

go get -u github.com/moby/buildkit@v0.11.0-rc1.0.20221213132957-c0ac5e8b9b51
go mod tidy
go mod vendor

Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>

* Fix handling of platform flag

In case of 'FROM --platform' defined I can see 'ERROR: no match for
platform in manifest: not found'. The problem was fixed on buildkit side

Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>

Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>
2022-12-13 21:04:29 +02:00
Avi Deitcher
d1452385cc unify apk installed db for base layer (#3879) 2022-12-06 16:57:04 +01:00
Avi Deitcher
bbd62314ed if nothing to build, do not push (#3876)
Signed-off-by: Avi Deitcher <avi@deitcher.net>

Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-11-20 10:29:28 -05:00
Avi Deitcher
7c5b1f1b30 catch new untracked and unignored files (#3875) 2022-11-20 10:29:05 -05:00
Avi Deitcher
dee4c37648 Merge pull request #3878 from giggsoff/manifest-issues
Do not pass credentials into PushManifest
2022-11-17 15:56:02 +02:00
Petr Fedchenkov
0c8b3c8b22 Do not pass credentials into PushManifest
Seems we should not use own credential extraction logic as it should be
aligned with resolver internally to select correct information for the
host we want to push manifest. I.e. we may want to push manifest onto
ghcr.io, and in that case we will hit errors as we will extract
credentials for docker.io instead.

Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>
2022-11-17 15:23:59 +03:00
Avi Deitcher
a9c7a126cf Merge pull request #3877 from giggsoff/propagate-manifest-option
Propagate manifest option into push
2022-11-16 19:35:46 +02:00
Petr Fedchenkov
d58a3fc0a3 Propagate manifest option into push
We have distinct manifest option which is not used. Let's implement
different behavior.

Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>
2022-11-16 11:54:00 +03:00
Avi Deitcher
61caf54c54 Merge pull request #3874 from giggsoff/update-buildkit-speedup
Update buildkit version to speed up start time
2022-11-14 19:50:39 +02:00
Petr Fedchenkov
249bc953bb Update buildkit version to speed up start time
Let's update buildkit version to include startup speed fix
0bb8505e86

Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>
2022-11-14 19:45:15 +03:00
Avi Deitcher
aa24821236 Merge pull request #3871 from the-maldridge/nobind
pkg/sshd: Remove default bind of /root/.ssh
2022-11-10 10:14:17 +02:00
Michael Aldridge
06aaba5e05 pkg/sshd: Remove default bind of /root/.ssh
Signed-off-by: Michael Aldridge <aldridge.mac@gmail.com>
2022-11-09 18:50:44 -06:00
Avi Deitcher
4f23407838 Merge pull request #3870 from deitch/fix-registry-check-error-handler
when cannot get remote manifest in checking registry, that is just a …
2022-11-09 08:59:13 +02:00
Avi Deitcher
01c444ec89 Merge pull request #3866 from deitch/cache-clean-published
add options to clean only part of the cache
2022-11-09 08:53:41 +02:00
Avi Deitcher
bb9a80c80a when cannot get remote manifest in checking registry, that is just a sign that it does not exist there
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-11-08 22:51:12 +02:00
Avi Deitcher
2090b2c2b6 add options to clean only part of the cache
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-11-07 13:16:40 +02:00
Avi Deitcher
860163a9c7 Merge pull request #3863 from deitch/rationalize-build-pull
Rationalize build pull
2022-11-07 09:54:48 +02:00
Avi Deitcher
bfa4a33b0d Merge pull request #3865 from deitch/bump-vz
bump virtualization-framework library to v3.0.0
2022-11-07 09:54:08 +02:00
Avi Deitcher
121002bae4 Merge pull request #3862 from deitch/canonical-tag
option to show canonical tag
2022-11-07 09:53:50 +02:00
Avi Deitcher
11fe19138d bump virtualization-framework library to v3.0.0
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-11-02 20:20:59 +02:00
Avi Deitcher
a3995bb724 build should check and only pull if requested
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-11-01 22:00:50 +02:00
Avi Deitcher
f870c16ea6 option to show canonical tag
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-11-01 15:15:09 +02:00
Avi Deitcher
9ea2d6dcd9 rationalize pull build
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-11-01 12:51:44 +02:00
Avi Deitcher
b17c93a635 Merge pull request #3860 from deitch/shard-packages-tests
add sharding option
2022-11-01 12:50:48 +02:00
Avi Deitcher
cf7d83bb13 add sharding option
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-10-30 11:16:42 +02:00
Avi Deitcher
f8947c6ae6 Merge pull request #3859 from deitch/safety-check-platforms
catch error with descriptor missing platform
2022-10-30 11:15:58 +02:00
Avi Deitcher
302c0051ec Merge pull request #3857 from deitch/fix-network-control
fix network build modes
2022-10-30 11:15:42 +02:00
Rolf Neugebauer
5200e52816 Merge pull request #3858 from deitch/makefile-rtf-tests
move rtf commands from GHA into make test; remove unused artifacts
2022-10-25 00:10:37 +01:00
Avi Deitcher
33180047f5 catch error with descriptor missing platform
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-10-24 21:44:50 +03:00
Avi Deitcher
7c2b9b3b3a move rtf commands from GHA into make test; remove unused artifacts
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-10-24 12:50:28 +03:00
Avi Deitcher
2dfc1dcf3e fix network build modes
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-10-24 11:45:45 +03:00
Rolf Neugebauer
25c8e68f98 Merge pull request #3855 from dgageot/retore-pad4
Fix initrd image padding
2022-10-22 11:40:25 +01:00
Rolf Neugebauer
7ff1e91875 Merge pull request #3856 from deitch/update-buildkit
update latest buildkit library to support advanced dockerfile scanning, other libs, go 1.19
2022-10-22 11:38:04 +01:00
Avi Deitcher
eafdb0db0c update latest buildkit library to support advanced dockerfile scanning. Also go 1.19 and other libs
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2022-10-20 13:47:42 +03:00
David Gageot
c61ddd0482 Remove pad4 writer because it's buggy and doesn't seem required
According to https://docs.kernel.org/driver-api/early-userspace/buffer-format.html

Signed-off-by: David Gageot <david.gageot@docker.com>
2022-10-18 19:03:49 +02:00
Jeffrey 'jf' Lim
3950e55e00 Fix examples/platform-aws.yml: add dhcpcd service to keep instance reachable after lease
Signed-off-by: Jeffrey 'jf' Lim <jf@users.noreply.github.com>
2022-10-02 17:09:16 +08:00
7688 changed files with 1086727 additions and 486786 deletions

View File

@@ -35,14 +35,14 @@ jobs:
runs-on: ${{ matrix.target.runner }}
steps:
- name: Set up Go 1.19
uses: actions/setup-go@v3
- name: Set up Go 1.22
uses: actions/setup-go@v5
with:
go-version: 1.19.2
go-version: 1.22.3
id: go
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set path
run: echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
@@ -50,9 +50,9 @@ jobs:
GOPATH: ${{runner.workspace}}
- name: golangci-lint CLI
uses: golangci/golangci-lint-action@v3
uses: golangci/golangci-lint-action@v6
with:
version: v1.50.0
version: v1.59.0
working-directory: src/cmd/linuxkit
args: --verbose --timeout=10m
- name: go vet CLI
@@ -79,7 +79,7 @@ jobs:
GOPATH: ${{runner.workspace}}
- name: Upload binary
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: linuxkit-${{matrix.target.suffix}}
path: |
@@ -93,14 +93,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set up binfmt
# Only register arm64 as we are on amd64 already. s390x is not reliable
run: docker run --privileged --rm tonistiigi/binfmt --install arm64
- name: Download linuxkit
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: linuxkit-amd64-linux
path: bin
@@ -112,7 +112,7 @@ jobs:
/usr/local/bin/linuxkit version
- name: Cache Packages
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.linuxkit/cache/
key: ${{ runner.os }}-linuxkit-${{ github.sha }}
@@ -124,13 +124,43 @@ jobs:
run: |
make OPTIONS="-v --skip-platforms linux/s390x" -C pkg build
- name: Build Test Packages
# ensures that the test packages are in linuxkit cache when we need them for tests later
# Skip s390x as emulation is unreliable
run: |
make OPTIONS="-v --skip-platforms linux/s390x" -C test/pkg build
- name: Check Kernel Dependencies up to date
# checks that any kernel dependencies are up to date.
# if they are, then running `make update-kernel-yamls` will not change anything
run: |
echo "checking git diff before running make update-kernel-yamls"
git diff --exit-code
echo "running make update-kernel-yamls"
make -C kernel update-kernel-yamls
echo "checking git diff again after running make update-kernel-yamls; should be no changes"
git diff --exit-code
- name: Build Kernels
# ensures that the kernel packages are in linuxkit cache when we need them for tests later
# no need for excluding s390x, as each build.yml in the kernel explicitly lists archs
run: |
make OPTIONS="-v" -C kernel build
- name: list cache contents
run: |
linuxkit cache ls
test_packages:
name: Packages Tests
needs: [ build_packages, build ]
runs-on: ubuntu-latest
strategy:
matrix:
shard: [1/10,2/10,3/10,4/10,5/10,6/10,7/10,8/10,9/10,10/10]
steps:
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Pre-Requisites
run: |
@@ -140,7 +170,7 @@ jobs:
- name: Restore RTF From Cache
id: cache-rtf
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: bin
key: rtf-${{hashFiles('Makefile')}}
@@ -154,7 +184,7 @@ jobs:
sudo ln -s $(pwd)/bin/rtf /usr/local/bin/rtf
- name: Download linuxkit
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: linuxkit-amd64-linux
path: bin
@@ -166,71 +196,82 @@ jobs:
/usr/local/bin/linuxkit version
- name: Restore Package Cache
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.linuxkit/cache/
key: ${{ runner.os }}-linuxkit-${{ github.sha }}
restore-keys: |
${{ runner.os }}-linuxkit-
- name: list cache contents
run: |
linuxkit cache ls
- name: Run Tests
run: make test TEST_SUITE=linuxkit.packages TEST_SHARD=${{ matrix.shard }}
test_kernel:
name: Kernel Tests
needs: [ build_packages, build ]
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Install Pre-Requisites
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -qy qemu-utils qemu-system-x86 expect
- name: Restore RTF From Cache
id: cache-rtf
uses: actions/cache@v4
with:
path: bin
key: rtf-${{hashFiles('Makefile')}}
- name: Build RTF
if: steps.cache-rtf.outputs.cache-hit != 'true'
run: make bin/rtf
- name: Symlink RTF
run: |
sudo ln -s $(pwd)/bin/rtf /usr/local/bin/rtf
- name: Download linuxkit
uses: actions/download-artifact@v4
with:
name: linuxkit-amd64-linux
path: bin
- name: Symlink Linuxkit
run: |
chmod ugo+x bin/linuxkit-amd64-linux
sudo ln -s $(pwd)/bin/linuxkit-amd64-linux /usr/local/bin/linuxkit
/usr/local/bin/linuxkit version
- name: Restore Package Cache
uses: actions/cache@v4
with:
path: ~/.linuxkit/cache/
key: ${{ runner.os }}-linuxkit-${{ github.sha }}
restore-keys: |
${{ runner.os }}-linuxkit-
- name: list cache contents
run: |
linuxkit cache ls
- name: Run Tests
run: |
cd test
rtf -l build -v run -x linuxkit.packages
test_kernel:
name: Kernel Tests
needs: build
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Install Pre-Requisites
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -qy qemu-utils qemu-system-x86 expect
- name: Restore RTF From Cache
id: cache-rtf
uses: actions/cache@v2
with:
path: bin
key: rtf-${{hashFiles('Makefile')}}
- name: Build RTF
if: steps.cache-rtf.outputs.cache-hit != 'true'
run: make bin/rtf
- name: Symlink RTF
run: |
sudo ln -s $(pwd)/bin/rtf /usr/local/bin/rtf
- name: Download linuxkit
uses: actions/download-artifact@v2
with:
name: linuxkit-amd64-linux
path: bin
- name: Symlink Linuxkit
run: |
chmod ugo+x bin/linuxkit-amd64-linux
sudo ln -s $(pwd)/bin/linuxkit-amd64-linux /usr/local/bin/linuxkit
/usr/local/bin/linuxkit version
- name: Run Tests
run: |
cd test
rtf -l build -v run -x linuxkit.kernel
run: make test TEST_SUITE=linuxkit.kernel
test_linuxkit:
name: LinuxKit Build Tests
needs: build
needs: [ build_packages, build ]
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Pre-Requisites
run: |
@@ -240,11 +281,19 @@ jobs:
- name: Restore RTF From Cache
id: cache-rtf
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: bin
key: rtf-${{hashFiles('Makefile')}}
- name: Restore Package Cache
uses: actions/cache@v4
with:
path: ~/.linuxkit/cache/
key: ${{ runner.os }}-linuxkit-${{ github.sha }}
restore-keys: |
${{ runner.os }}-linuxkit-
- name: Build RTF
if: steps.cache-rtf.outputs.cache-hit != 'true'
run: make bin/rtf
@@ -254,7 +303,7 @@ jobs:
sudo ln -s $(pwd)/bin/rtf /usr/local/bin/rtf
- name: Download linuxkit
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: linuxkit-amd64-linux
path: bin
@@ -265,18 +314,20 @@ jobs:
sudo ln -s $(pwd)/bin/linuxkit-amd64-linux /usr/local/bin/linuxkit
/usr/local/bin/linuxkit version
- name: Run Tests
- name: list cache contents
run: |
cd test
rtf -l build -v run -x linuxkit.build
linuxkit cache ls
- name: Run Tests
run: make test TEST_SUITE=linuxkit.build
test_platforms:
name: Platform Tests
needs: build
needs: [ build_packages, build ]
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Pre-Requisites
run: |
@@ -286,7 +337,7 @@ jobs:
- name: Restore RTF From Cache
id: cache-rtf
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: bin
key: rtf-${{hashFiles('Makefile')}}
@@ -300,7 +351,7 @@ jobs:
sudo ln -s $(pwd)/bin/rtf /usr/local/bin/rtf
- name: Download linuxkit
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: linuxkit-amd64-linux
path: bin
@@ -311,18 +362,28 @@ jobs:
sudo ln -s $(pwd)/bin/linuxkit-amd64-linux /usr/local/bin/linuxkit
/usr/local/bin/linuxkit version
- name: Run Tests
- name: Restore Package Cache
uses: actions/cache@v4
with:
path: ~/.linuxkit/cache/
key: ${{ runner.os }}-linuxkit-${{ github.sha }}
restore-keys: |
${{ runner.os }}-linuxkit-
- name: list cache contents
run: |
cd test
rtf -l build -v run -x linuxkit.platforms
linuxkit cache ls
- name: Run Tests
run: make test TEST_SUITE=linuxkit.platforms
test_security:
name: Security Tests
needs: build
needs: [ build_packages, build ]
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Pre-Requisites
run: |
@@ -332,7 +393,7 @@ jobs:
- name: Restore RTF From Cache
id: cache-rtf
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: bin
key: rtf-${{hashFiles('Makefile')}}
@@ -346,7 +407,7 @@ jobs:
sudo ln -s $(pwd)/bin/rtf /usr/local/bin/rtf
- name: Download linuxkit
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: linuxkit-amd64-linux
path: bin
@@ -357,7 +418,17 @@ jobs:
sudo ln -s $(pwd)/bin/linuxkit-amd64-linux /usr/local/bin/linuxkit
/usr/local/bin/linuxkit version
- name: Run Tests
- name: Restore Package Cache
uses: actions/cache@v4
with:
path: ~/.linuxkit/cache/
key: ${{ runner.os }}-linuxkit-${{ github.sha }}
restore-keys: |
${{ runner.os }}-linuxkit-
- name: list cache contents
run: |
cd test
rtf -l build -v run -x linuxkit.security
linuxkit cache ls
- name: Run Tests
run: make test TEST_SUITE=linuxkit.security

38
.github/workflows/package_release.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: Release Tagged Packages
on:
create:
jobs:
release:
name: Release packages
if: github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/pkg-v')
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.22
uses: actions/setup-go@v5
with:
go-version: 1.22.3
id: go
- name: Check out code
uses: actions/checkout@v4
- name: Ensure bin/ directory
run: mkdir -p bin
- name: Install linuxkit
run: |
go -C ./src/cmd/linuxkit build -o $(pwd)/bin/linuxkit
sudo mv bin/linuxkit /usr/local/bin/
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Publish Packages as Release
# this should not build anything, as they all should be built already
# however, it can fail if we push the tag before the merge-to-master build is complete, since that may publish
# so *always* wait for any merge-to-master to complete before publishing pkg-v* tags
run: |
RELEASE_TAG=${GITHUB_REF#refs/tags/pkg-}
echo "RELEASE_TAG=${RELEASE_TAG}"
[ -n "${RELEASE_TAG}" ] || { echo "Not a tag"; exit 1; }
make OPTIONS="--skip-platforms linux/s390x" -C pkg push PUSHOPTIONS="--nobuild --release ${RELEASE_TAG}"

View File

@@ -14,14 +14,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Ensure bin/ directory
run: mkdir -p bin
- name: Download linuxkit
uses: actions/github-script@v3.1.0
uses: actions/github-script@v7
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
var artifacts = await github.actions.listWorkflowRunArtifacts({
var artifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{github.event.workflow_run.id }},
@@ -29,7 +30,7 @@ jobs:
var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
return artifact.name == "${{ env.linuxkit_file }}"
})[0];
var download = await github.actions.downloadArtifact({
var download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
@@ -45,7 +46,7 @@ jobs:
sudo ln -s $(pwd)/bin/${{ env.linuxkit_file }} /usr/local/bin/linuxkit
/usr/local/bin/linuxkit version
- name: Restore Package Cache
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.linuxkit/cache/
key: ${{ runner.os }}-linuxkit-${{ github.sha }}
@@ -63,3 +64,11 @@ jobs:
# Skip s390x as emulation is unreliable
run: |
make OPTIONS="--skip-platforms linux/s390x" -C pkg push PUSHOPTIONS="--nobuild"
- name: Publish Kernels
# this should only push changed ones:
# - unchanged: already in the registry
# - changed: already built and cached, so only will push
# No need to skip s390x, since kernel build.yml files all have explicit archs
run: |
make -C kernel push

View File

@@ -1,24 +1,23 @@
name: Release a tag
name: Release Tagged Linuxkit
on:
create:
tags:
- v*
jobs:
build:
name: Build all targets
runs-on: macos-latest
build-all:
name: Build all targets expect macOS
if: github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.19
uses: actions/setup-go@v3
- name: Set up Go 1.122
uses: actions/setup-go@v5
with:
go-version: 1.19.2
go-version: 1.22.3
id: go
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set path
run: echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
@@ -27,10 +26,67 @@ jobs:
- name: Build
run: |
make build-all-targets
make build-targets-linux build-targets-windows
env:
GOPATH: ${{runner.workspace}}
- uses: actions/upload-artifact@v4
with:
name: release-targets-except-cgo
path: bin/
# separate macos build because macos needs CGO, and it is very hard to cross-compile that
build-macos:
name: Build macOS target
if: github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/v')
runs-on: macos-latest
steps:
- name: Set up Go 1.122
uses: actions/setup-go@v5
with:
go-version: 1.22.3
id: go
- name: Check out code
uses: actions/checkout@v4
- name: Set path
run: echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
env:
GOPATH: ${{runner.workspace}}
- name: Build
run: |
make build-targets-macos
env:
GOPATH: ${{runner.workspace}}
- uses: actions/upload-artifact@v4
with:
name: release-targets-macos
path: bin/
release-artifacts:
needs: [build-all, build-macos]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: release-targets-except-cgo
path: bintmp/release-targets-except-cgo
- uses: actions/download-artifact@v4
with:
name: release-targets-macos
path: bintmp/release-targets-macos
- name: Combine Artifacts
run: |
mkdir -p bin/
cp bintmp/*/* bin/
- name: Checksum Artifacts
run: |
make checksum-targets
- name: GitHub Release
uses: softprops/action-gh-release@1e07f4398721186383de40550babbdf2b84acfc5
env:
@@ -38,4 +94,4 @@ jobs:
with:
draft: true
files: bin/*
generate_release_notes: true
generate_release_notes: true

View File

@@ -1,6 +1,10 @@
VERSION="v0.8+"
GO_COMPILE=linuxkit/go-compile:7b1f5a37d2a93cd4a9aa2a87db264d8145944006
# test suite to run, blank for all
TEST_SUITE ?=
TEST_SHARD ?=
GO_COMPILE=linuxkit/go-compile:c97703655e8510b7257ffc57f25e40337b0f0813
ifeq ($(OS),Windows_NT)
LINUXKIT?=$(CURDIR)/bin/linuxkit.exe
@@ -30,7 +34,7 @@ export VERSION GO_COMPILE GOOS GOARCH LOCAL_TARGET LINUXKIT
default: linuxkit $(RTF)
all: default
RTF_COMMIT=2351267f358ce6621c0c0d9a069f361268dba5fc
RTF_COMMIT=b74a4f7c78e5cddcf7e6d2e6be7be312b9f645fc
RTF_CMD=github.com/linuxkit/rtf/cmd
RTF_VERSION=0.0
$(RTF): tmp_rtf_bin.tar | bin
@@ -78,10 +82,7 @@ sign:
.PHONY: test
test:
$(MAKE) -C test
.PHONY: collect-artifacts
collect-artifacts: artifacts/test.img.tar.gz artifacts/test-ltp.img.tar.gz
$(MAKE) -C test TEST_SUITE=$(TEST_SUITE) TEST_SHARD=$(TEST_SHARD)
.PHONY: ci ci-tag ci-pr
ci: test-cross
@@ -118,18 +119,27 @@ endif
./scripts/update-component-sha.sh --image $${img}$(image); \
done
.PHONY: build-all-targets
build-all-targets: bin
$(MAKE) GOOS=darwin GOARCH=arm64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-darwin-arm64 local-build
file bin/linuxkit-darwin-arm64
$(MAKE) GOOS=darwin GOARCH=amd64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-darwin-amd64 local-build
file bin/linuxkit-darwin-amd64
.PHONY: build-targets-all build-targets-linux build-targets-windows build-targets-macos checksum-targets
build-targets-all: build-targets-linux build-targets-windows build-targets-macos
build-targets-linux: bin
$(MAKE) GOOS=linux GOARCH=arm64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-linux-arm64 local-build
file bin/linuxkit-linux-arm64
$(MAKE) GOOS=linux GOARCH=amd64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-linux-amd64 local-build
file bin/linuxkit-linux-amd64
$(MAKE) GOOS=linux GOARCH=s390x LOCAL_TARGET=$(CURDIR)/bin/linuxkit-linux-s390x local-build
file bin/linuxkit-linux-s390x
build-targets-windows: bin
$(MAKE) GOOS=windows GOARCH=amd64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-windows-amd64.exe local-build
file bin/linuxkit-windows-amd64.exe
build-targets-macos: bin
$(MAKE) GOOS=darwin GOARCH=arm64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-darwin-arm64 local-build
file bin/linuxkit-darwin-arm64
$(MAKE) GOOS=darwin GOARCH=amd64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-darwin-amd64 local-build
file bin/linuxkit-darwin-amd64
checksum-targets: bin
cd bin && openssl sha256 -r linuxkit-* | tr -d '*' > checksums.txt

View File

@@ -63,8 +63,8 @@ Once you have built the tool, use
```
linuxkit build linuxkit.yml
```
to build the example configuration. You can also specify different output formats, eg `linuxkit build -format raw-bios linuxkit.yml` to
output a raw BIOS bootable disk image, or `linuxkit build -format iso-efi linuxkit.yml` to output an EFI bootable ISO image. See `linuxkit build -help` for more information.
to build the example configuration. You can also specify different output formats, eg `linuxkit build --format raw-bios linuxkit.yml` to
output a raw BIOS bootable disk image, or `linuxkit build --format iso-efi linuxkit.yml` to output an EFI bootable ISO image. See `linuxkit build -help` for more information.
### Booting and Testing
@@ -87,7 +87,7 @@ Currently supported platforms are:
- [OpenStack](docs/platform-openstack.md) `[x86_64]`
- [Scaleway](docs/platform-scaleway.md) `[x86_64]`
- Baremetal:
- [packet.net](docs/platform-packet.md) `[x86_64, arm64]`
- [deploy.equinix.com](docs/platform-equinixmetal.md) `[x86_64, arm64]`
- [Raspberry Pi Model 3b](docs/platform-rpi3.md) `[arm64]`

View File

@@ -30,7 +30,7 @@ spec:
operator: Exists
effect: NoSchedule
containers:
- image: linuxkit/open-vm-tools:4c3158c7ba27f7ad0ede5d383ca25b57c5588a26
- image: linuxkit/open-vm-tools:728ddf726474178eea97604c0baeabd52edab7e9
name: open-vm-tools
resources:
requests:

View File

@@ -130,8 +130,9 @@ following which is an explanation of each one.
```sh
# Update tools packages
cd $LK_ROOT/tools
$LK_ROOT/scripts/update-component-sha.sh --pkg $LK_ROOT/tools/alpine
git checkout grub/Dockerfile
$LK_ROOT/scripts/update-component-sha.sh --image $LK_ALPINE
git checkout grub-dev/Dockerfile
git checkout mkimage-rpi3/Dockerfile
git commit -a -s -m "tools: Update to the latest linuxkit/alpine"
# Update tools dependencies
@@ -143,7 +144,7 @@ git commit -a -s -m "Update use of tools to latest"
# Update test packages
cd $LK_ROOT/test/pkg
$LK_ROOT/scripts/update-component-sha.sh --pkg $LK_ROOT/tools/alpine
$LK_ROOT/scripts/update-component-sha.sh --image $LK_ALPINE
git commit -a -s -m "tests: Update packages to the latest linuxkit/alpine"
# Update test packages dependencies
@@ -155,12 +156,12 @@ git commit -a -s -m "Update use of test packages to latest"
# Update test cases to latest linuxkit/alpine
cd $LK_ROOT/test/cases
$LK_ROOT/scripts/update-component-sha.sh --pkg $LK_ROOT/tools/alpine
$LK_ROOT/scripts/update-component-sha.sh --image $LK_ALPINE
git commit -a -s -m "tests: Update tests cases to the latest linuxkit/alpine"
# Update packages to latest linuxkit/alpine
cd $LK_ROOT/pkg
$LK_ROOT/scripts/update-component-sha.sh --pkg $LK_ROOT/tools/alpine
$LK_ROOT/scripts/update-component-sha.sh --image $LK_ALPINE
git commit -a -s -m "pkgs: Update packages to the latest linuxkit/alpine"
# update package tags - may want to include the release in it if set
@@ -179,8 +180,13 @@ On your primary build machine, update the other tools packages.
Note, the `git checkout` reverts the changes made by
`update-component-sha.sh` to files which are accidentally updated.
Important is the `git checkout` of `grub`. This is a bit old and only can be built with specific
older versions of packages like `gcc`, and should not be updated.
Important is the `git checkout` of some sensitive packages that only can be built with
specific older versions of upstream packages:
* `grub-dev`
* `mkimage-rpi3`
Only update those if you know what you are doing with them.
Then we update any dependencies of these tools.

19
docs/cmdline.md Normal file
View File

@@ -0,0 +1,19 @@
# Kernel command-line options
The kernel command-line is a string of text that the kernel parses as it is starting up. It is passed by the boot loader
to the kernel and specifies parameters that the kernel uses to configure the system. The command-line is a list of command-line
options separated by spaces. The options are parsed by the kernel and can be used to enable or disable certain features.
LinuxKit passes all command-line options to the kernel, which uses them in the usual way.
There are several options that can be used to control the behaviour of linuxkit itself, or specifically packages
within linuxkit. Unless standard Linux options exist, these all are prefaced with `linuxkit.`.
| Option | Description |
|---|---|
| `linuxkit.unified_cgroup_hierarchy=0` | Start up cgroups v1. If not present or set to 1, default to cgroups v1. |
| `linuxkit.runc_debug=1` | Start runc for `onboot` and `onshutdown` containers to run with `--debug`, and add extra logging messages for each stage of starting those containers. If not present or set to 0, default to usual mode. |
| `linuxkit.runc_console=1` | Send logs for runc for `onboot` and `onshutdown` containers, as well as the output of the containers themselves, to the console, instead of the normal output to logfiles. If not present or set to 0, default to usual mode. |
It often is useful to combine both of the `linuxkit.runc_debug` and `linuxkit.runc_console` options to get the most
information about what is happening with `onboot` containers.

View File

@@ -10,17 +10,51 @@ The LinuxKit kernels are based on the latest stable releases and are
updated frequently to include bug and security fixes. For some
kernels we do carry additional patches, which are mostly back-ported
fixes from newer kernels. The full kernel source with patches can be
found on [github](https://github.com/linuxkit/linux). Each kernel
image is tagged with the full kernel version (e.g.,
`linuxkit/kernel:4.9.33`) and with the full kernel version plus the
hash of the files it was created from (git tree hash of the `./kernel`
directory). For selected kernels (mostly the LTS kernels and latest
stable kernels) we also compile/push kernels with additional debugging
enabled. The hub images for these kernels have the `-dbg` suffix in
the tag. For some kernels, we also provide matching packages
containing the `perf` utility for debugging and performance tracing.
The perf package is called `kernel-perf` and is tagged the same way as
the kernel packages.
found on [github](https://github.com/linuxkit/linux).
## Kernel Image Naming and Tags
We publish the following kernel images:
* primary kernel
* debug kernel
* tools for the specific kernel build - bcc and perf
* builder image for the specific kernel build, useful for compiling compatible kernel modules
### Primary Kernel Images
Each kernel image is tagged with:
* the full kernel version, e.g. `linuxkit/kernel:6.6.13`. This is a multi-arch index, and should be used whenever possible.
* the full kernel version plus hash of the files it was created from (git tree hash of the `./kernel` directory), e.g. `6.6.13-c0d96951e9892a7447a8e7965d2d6bd7e621c3fd`. This is a multi-arch index.
* the full kernel version plus architecture, e.g. `linuxkit/kernel:6.6.13-amd64` or `linuxkit/kernel:6.6.13-arm64`. Each of these is architecture specific.
* the full kernel version plus hash of the files it was created from (git tree hash of the `./kernel` directory) plus architecture, e.g. `6.6.13-c0d96951e9892a7447a8e7965d2d6bd7e621c3fd-arm64`.
### Debug Kernel Images
With each kernel image, we also publish kernels with additional debugging enabled.
These have the same image name and the same tags as the primary kernel, with the `-dbg`
suffix added immediately after the version. E.g.
* `linuxkit/kernel:6.6.13-dbg`
* `linuxkit/kernel:6.6.13-dbg-c0d96951e9892a7447a8e7965d2d6bd7e621c3fd`
* `linuxkit/kernel:6.6.13-dbg-amd64`
* `linuxkit/kernel:6.6.13-dbg-c0d96951e9892a7447a8e7965d2d6bd7e621c3fd-amd64`
### Tools
With each kernel image, we also publish images with various tools. As of this writing,
those tools are `perf` and `bcc`.
The tools images are named `linuxkit/kernel-<tool>`, followed by the same tags as the
primary kernel. For example:
* `linuxkit/kernel-perf:6.6.13`
* `linuxkit/kernel-perf:6.6.13-c0d96951e9892a7447a8e7965d2d6bd7e621c3fd`
* `linuxkit/kernel-perf:6.6.13-amd64`
* `linuxkit/kernel-perf:6.6.13-c0d96951e9892a7447a8e7965d2d6bd7e621c3fd-amd64`
## Additional Contributions
In addition to the official images, there are also some
[scripts](../contrib/foreign-kernels) which repackage kernels packages
@@ -32,7 +66,6 @@ use cases for the promising IoT scenarios. All -rt patches are grabbed from
https://www.kernel.org/pub/linux/kernel/projects/rt/. But so far we just
enable it over 4.14.x.
## Loading kernel modules
Most kernel modules are autoloaded with `mdev` but if you need to `modprobe` a module manually you can use the `modprobe` package in the `onboot` section like this:
@@ -67,7 +100,7 @@ For example:
* `linuxkit/kernel:5.15.15` has builder `linuxkit/kernel:5.15.15-builder`
With the above in hand, you can create a multi-stage `Dockerfile` build to compile your modules.
There is an [example](../test/cases/020_kernel/011_kmod_4.9.x), but
There is an [example](../test/cases/020_kernel/113_kmod_5.10.x), but
basically one can use a multi-stage build to compile the kernel
modules:
@@ -87,7 +120,7 @@ To use the kernel module, we recommend adding a final stage to the
Dockerfile above, which copies the kernel module from the `build`
stage and performs a `insmod` as the entry point. You can add this
package to the `onboot` section in your YAML
file. [kmod.yml](../test/cases/020_kernel/010_kmod_4.9.x/kmod.yml)
file. [test.yml](../test/cases/020_kernel/113_kmod_5.10.x/test.yml)
contains an example for the configuration.
### Builder Backups
@@ -121,51 +154,241 @@ FROM linuxkit/kernel:5.10.104 AS ksrc
FROM linuxkit/alpine:2be490394653b7967c250e86fd42cef88de428ba AS build
```
## Modifying the kernel config
## Building and Modifying
Each series of kernels has a config file dedicated to it
in [../kernel/](../kernel),
e.g.
[config-4.9.x-x86_64](../kernel/config-4.9.x-x86_64),
which is applied during the kernel build process.
This section describes how to build kernels, and how to modify existing ones.
If you need to modify the kernel config, `make kconfig` in
the [kernel](../kernel) directory will create a local
`linuxkit/kconfig` Docker image, which contains the patched sources
for all support kernels and architectures in
`/linux-4.<minor>.<rev>`. The kernel source also has the kernel config
copied to the default kernel config.
Throughout the document, the terms used are:
Running the image like:
* kernel version: actual semver version of a kernel, e.g. `6.6.13` or `5.15.27`
* kernel series: major.minor version of a kernel, e.g. `6.6.x` or `5.15.x`
```sh
docker run --rm -ti -v $(pwd):/src linuxkit/kconfig
Throughout this document, the architecture used is the kernel-recognized one, available
on most systems as `uname -m`, e.g. `aarch64` or `x86_64`. You may be familiar with the alpine
or golang one, e.g. `amd64` or `amd64`, which are not used here.
**Note:** After changing _and committing any changes_ to the kernel directory or any
subdirectories, you must update tests, examples and other dependencies. This is done
via:
```bash
make update-kernel-yamls
```
will give you a interactive shell where you can modify the kernel
configuration you want, either by editing the config file, or via
`make menuconfig` etc. Once you are done, save the file as `.config`
and copy it back to the source tree,
e.g. `/src/kernel-config-4.9.x-x86_64`.
Each series of kernels has a dedicated directory in [../kernel/](../kernel),
e.g. [6.6.x](../kernel/6.6.x) or [5.15.x](../kernel/5.15.x).
Variants, like rt kernels, have their own directory as well, e.g. [5.11.x-rt](../kernel/5.11.x-rt).
However, for variants, the patches from _both_ the common kernel, e.g. [5.11.x](../kernel/5.11.x),
and the variant, e.g. [5.11.x-rt](../kernel/5.11.x-rt), are applied, and the configs from _both_ are combined.
You can also configure other architectures other than the native
one. For example to configure the arm64 kernel on x86_64, use:
Within the series-dedicated directory, there are:
```
make ARCH=arm64 defconfig
make ARCH=arm64 oldconfig # or menuconfig
```
* kernel config file for each architecture named `config-<arch>`, e.g. [6.6.13/config-x86_64](../kernel/6.6.13/config-x86_64), one per target architecture.
* optional patches directory, e.g. [6.6.13/patches](../kernel/6.6.13/patches), which contains patches to apply to the kernel source
The config file and patches are applied during the kernel build process.
**Note**: We try to keep the differences between kernel versions and
architectures to a minimum, so if you make changes to one
configuration also try to apply it to the others. The script [kconfig-split.py](../scripts/kconfig-split.py) can be used to compare kernel config files. For example:
```sh
../scripts/kconfig-split.py config-4.9.x-aarch64 config-4.9.x-x86_64
../scripts/kconfig-split.py 5.15.x/config-aarch64 5.15.x/config-x86_64
```
creates a file with the common and the x86_64 and arm64 specific
config options for the 4.9.x kernel series.
config options for the 5.15.x kernel series.
**Note**: The CI pipeline does *not* push out kernel images.
Anyone modifying a kernel should:
1. Follow the steps below for the desired changes and commit them.
1. Run appropriate `make build` or variants to ensure that it works.
1. Open a PR with the changes. This may fail, as the CI pipeline may not have access to the modified kernels.
1. A maintainer should run `make push` to push out the images.
1. Run (or rerun) the tests.
#### Build options
The targets and variants for building are as follows:
* `make build` - make all kernels in the version list and their variants
* `make build-<version>` - make all variants of a specific kernel version
* `make buildkernel-<version>` - make all variants of a specific kernel version
* `make buildplainkernel-<version>` - make just the provided version's kernel
* `make builddebugkernel-<version>` - make just the provided version's debug kernel
* `make buildtools-<version>` - make just the provided version's tools
To push:
* `make push` - push all kernels in the version list and their variants
* `make push-<version>` - push all variants of a specific kernel version
Finally, for convenience:
* `make list` - list all kernels in the version list
By default, it builds for all supported architectures. To build just for a specific
architecture:
```sh
make build ARCH=amd64
```
The variable `ARCH` should use the golang variants only, i.e. `amd64` and `arm64`.
To build for multiple architectures, call it multiple times:
```sh
make build ARCH=amd64
make build ARCH=arm64
```
When building for a specific architecture, the build process will use your local
Docker, passing it `--platforms` for the architecture. If you have a builder on a different
architecture, e.g. you are running on an Apple Silicon Mac (arm64) and want to build for
`x86_64` without emulating (which can be very slow), you can use the `BUILDER` variable:
```sh
make build ARCH=x86_64 BUILDER=remote-amd64-builder
```
Builder also supports a builder pattern. If `BUILDER` contains the string `{{.Arch}}`,
it will be replaced with the architecture being built.
For example:
```sh
make build ARCH=x86_64 BUILDER=remote-{{.Arch}}-builder
make build ARCH=aarch64 BUILDER=remote-{{.Arch}}-builder
```
will build `x86_64` on `remote-amd64-builder` and `aarch64` on `remote-arm64-builder`.
Finally, if no `BUILDER` is specified, the build will look for a builder named
`linuxkit-linux-{{.Arch}}-builder`, e.g. `linuxkit-linux-amd64-builder` or
`linuxkit-linux-arm64-builder`. If that builder does not exist, it will fall back to
your local Docker setup.
### Modifying the kernel config
The process of modifying the kernel configuration is as follows:
1. Create a `linuxkit/kconfig` container image: `make kconfig`. This is not pushed out.
1. Run a container based on `linuxkit/kconfig`.
1. In the container, modify the config to suit your needs using normal kernel tools like `make defconfig` or `make menuconfig`.
1. Save the config from the image.
The `linuxkit/kconfig` image contains the patched sources
for all support kernels and architectures in `/linux-<major>.<minor>.<rev>`.
The kernel source also has the kernel config copied to the default kernel config location,
so that `make menuconfig` and `make defconfig` work correctly.
Run the container as follows:
```sh
docker run --rm -ti -v $(pwd):/src linuxkit/kconfig
```
This will give you a interactive shell where you can modify the kernel
configuration you want, while mounting the directory, so that you can save the
modified config.
To create or modify the config, you must cd to the correct directory,
e.g.
```sh
cd /linux-6.6.13
# or
cd /linux-5.15.27
```
Now you can build the config.
When `make defconfig` or `make menuconfig` is done,
the modified config file will be in `.config`; save the file back to `/src`,
e.g.
```sh
cp .config /src/6.6.x/config-x86_64
```
You can also configure other architectures other than the native
one. For example to configure the arm64 kernel on x86_64, use:
```sh
make ARCH=arm64 defconfig
make ARCH=arm64 oldconfig # or menuconfig
```
Note that the generated file **must** be final. When you actually build the kernel,
it will check that running `make defconfig` will have no changes. If there are changes,
the build will fail.
The easiest way to check it is to rerun `make defconfig` inside the kconfig container.
1. Finish your creation of the config file, as above.
1. Copy the `.config` file to the target location, as above.
1. Copy the `.config` file to the source location for defconfig, e.g. `cp .config arch/x86/configs/x86_64_config` or `cp. config /linux/arch/arm64/configs/defconfig`
1. Run `make defconfig` again, and check that there are no changes, e.g. `diff .config arch/x86/configs/x86_64_config` or `diff .config /linux/arch/arm64/configs/defconfig`
If there are no differences, then you can commit the new config file.
Finally, test that you can build the kernel with that config as `make build-<version>`, e.g. `make build-5.15.148`.
## Adding a new kernel version
If you want to add a new kernel version within an existing series, e.g. `5.15.27` already exists
and you want to add (or replace it with) `5.15.148`, apply the following process.
1. Determine the series, i.e. the kernel major.minor version, followed by `x`. E.g. for `5.15.148`, the series is `5.15.x`.
1. Modify the `KERNEL_VERSION` in the `build-args` file in the series directory to the new version. E.g. `5.15.x/build-args`.
1. Create a new `linuxkit/kconfig` container image: `make kconfig`. This is not pushed out.
1. Run a container based on `linuxkit/kconfig`.
```sh
docker run --rm -ti -v $(pwd):/src linuxkit/kconfig
```
1. In the container, change directory to the kernel source directory for the new version, e.g. `cd /linux-5.15.148`.
1. Run `make defconfig` to create the default config file.
1. If the config file has changed, copy it out of the container and check it in, e.g. `cp .config /src/5.15.x/config-x86_64`.
1. Repeat for other architectures.
1. Commit the changed config files.
1. Test that you can build the kernel with that config as `make build-<version>`, e.g. `make build-5.15.148`.
## Adding a new kernel series
To add a new kernel series, you need to:
1. Create new directory for the series, e.g. `6.7.x`
1. Create config files for each architecture in that directory
1. Optionally, create a `patches/` subdirectory in that directory with any patches to add
1. Create a `build-args` file in that directory with at least the following settings:
```bash
KERNEL_VERSION=<version>
KERNEL_SERIES=<series>
BUILD_IMAGE=linuxkit/alpine:<builder>
```
Since the last major series likely is the best basis for the new one, subject to additional modifications, you can use
the previous one as a starting point.
1. Make the directory for the new series, e.g. `mkdir 7.0.x`
1. Create a new `linuxkit/kconfig` container image: `make kconfig`. This is not pushed out.
1. Run a container based on `linuxkit/kconfig`.
```sh
docker run --rm -ti -v $(pwd):/src linuxkit/kconfig
```
1. In the container, change directory to the kernel source directory for the new version, e.g. `cd /linux-7.0.5`.
1. Copy the existing config file for the previous series, e.g. `cp /src/6.6.x/config-x86_64 .config`.
1. Run `make oldconfig` to create the config file for the new series from the old one. Answer any questions.
1. Save the newly generated config file `.config` to the source directory, e.g. `cp .config /src/7.0.x/config-x86_64`.
1. Repeat for other architectures.
1. Commit the new config files.
1. Test that you can build the kernel with that config as `make build-<version>`, e.g. `make build-7.0.5`.
In addition, there are tests that are applied to a specific kernel version, notably the tests in
[020_kernel](../test/cases/020_kernel/). You will need to add a new test case for the new series,
copying an existing one and modifying it as needed.
## Building and using custom kernels
@@ -391,3 +614,31 @@ Alpine `zfs` utilities are available in `linuxkit/alpine` and the
version of the kernel module should match the version of the
tools. The container where you run the `zfs` tools might also need
`CAP_SYS_MODULE` to be able to load the kernel modules.
## Kernels in examples and tests
All of the linuxkit `.yml` files use the images from `linuxkit/kernel:<tag>`.
When updating the kernel, you run commands to update the tests. The updates to any file that contains
references to `linuxkit/kernel` in this repository work as follows:
- Semver tags are replaced by the most recent kernel version. For example, `linuxkit/kernel:5.10.104` will become `6.6.13` when available, and then `6.6.15`, and then `7.0.1`, etc. The highest semver always is used.
- Semver+hash tags are replaced by the most recent hash and patch version for that series. For example, `linuxkit/kernel:5.10.104-abcdef1234` will become `5.10.104-aaaa54232` (same semver, newer hash), and then `5.10.105-bbbb12345` (newer semver, newer hash), etc. The highest semver+hash always is used.
This is not an inherent characteristic of `linuxkit` tool, which **never** will change your `.yml` files. It is part of
the update process for yml files _in this repository_.
The net of the above is the following rule:
* If you want a reference to a specific kernel series, e.g. a test or example that works only with `5.10.x`, then use a specific hash, e.g. `linuxkit/kernel:5.10.104-abcdef1234`. The hash and patch version will update, but not more. The most common use case for this is kernel version-specific tests.
* If you want a reference to the most recent kernel, whatever version it is, then use a semver tag, e.g. `linuxkit/kernel:6.6.13`. The most common use case for this is examples that work with any kernel version, which is the vast majority of cases.
You can get the current hash by executing the following:
```bash
$ cd kernel
$ make tag-plain-kernel-<version>
# for example:
$ make tag-plain-kernel-6.6.13
linuxkit/kernel:6.6.13-3a8b3faf92390265b1fbee792b9a3fe14d14c26e
```

View File

@@ -63,6 +63,21 @@ This hierarchy can then be used by individual containers, who can bind
mount the config sub-directory into their namespace where it is
needed.
## A note on SSH
Supported providers will extract public keys from metadata to a file
located at `/run/config/ssh/authorized_keys`. You must bind this path
into the `sshd` namespace in order to make use of these keys. Use a
configuration similar to the one shown below to enable root login
based on keys from the metadata service:
```
- name: sshd
image: linuxkit/sshd:4696ba61c3ec091328e1c14857d77e675802342f
binds.add:
- /run/config/ssh/authorized_keys:/root/.ssh/authorized_keys
```
# Metadata image creation
`linuxkit run` backends accept two options to pass metadata to the VM in a platform specific

View File

@@ -50,6 +50,7 @@ A package source consists of a directory containing at least two files:
- `image` _(string)_: *(mandatory)* The name of the image to build
- `org` _(string)_: The hub/registry organisation to which this package belongs
- `dockerfile` _(string)_: The dockerfile to use to build this package, must be in this directory or below (default: `Dockerfile`)
- `arches` _(list of string)_: The architectures which this package should be built for (valid entries are `GOARCH` names)
- `extra-sources` _(list of strings)_: Additional sources for the package outside the package directory. The format is `src:dst`, where `src` can be relative to the package directory and `dst` is the destination in the build context. This is useful for sharing files, such as vendored go code, between packages.
- `gitrepo` _(string)_: The git repository where the package source is kept.
@@ -264,6 +265,25 @@ linuxkit pkg build --platforms=linux/arm64 --builders linux/arm64=my-remote-arm6
linuxkit will try to build for `linux/arm64` using the context `my-remote-arm64`. Since that context does not exist, you will get an error.
##### Preset build arguments
When building packages, the following build-args automatically are set for you:
* `SOURCE` - the source repository of the package
* `REVISION` - the git commit that was used for the build
* `GOPKGVERSION` - the go package version or pseudo-version per https://go.dev/ref/mod#glos-pseudo-version
* `PKG_HASH` - the git tree hash of the package directory, e.g. `45a1ad5919f0b6acf0f0cf730e9434abfae11fe6`; tag part of `linuxkit pkg show-tag`
* `PKG_IMAGE` - the name of the image that is being built, e.g. `linuxkit/init`; image name part of `linuxkit pkg show-tag`. Combine with `PKG_HASH` for the full tag.
Note that the above are set **only** if you do not set them in `build.yaml`. Your settings _always_
override these built-in ones.
To use them, simply address them in your `Dockerfile`:
```dockerfile
ARG SOURCE
```
### Build packages as a maintainer
All official LinuxKit packages are multi-arch manifests and most of
@@ -360,3 +380,16 @@ ARG all_proxy
LinuxKit does not judge between lower-cased or upper-cased variants of these options, e.g. `http_proxy` vs `HTTP_PROXY`,
as `docker build` does not either. It just passes them through "as-is".
## Releases
Normally, whenever a package is updated, CI will build and push the package to Docker Hub by calling `linuxkit pkg push`.
This automatically creates a tag based on the git tree hash of the package's directory.
For example, the package in `./pkg/init` is tagged as `linuxkit/init:45a1ad5919f0b6acf0f0cf730e9434abfae11fe6`.
In addition, you can release semver tags for packages by adding a tag to the git repository that begins with `pkg-` and is
followed by a valid semver tag. For example, `pkg-v1.0.0`. This will cause CI to build and push the package to Docker Hub
with the tag `v1.0.0`.
Pure semver tags, like `v1.0.0`, are not used for package releases. They are used for the linuxkit project itself and to
publish releases of the `linuxkit` binary.

View File

@@ -0,0 +1,142 @@
# LinuxKit with bare metal on Equinix Metal
[Equinix Metal](http://deploy.equinix.com) is a bare metal hosting provider.
You will need to [create an Equinix Metal account] and a project to
put this new machine into. You will also need to [create an API key]
with appropriate read/write permissions to allow the image to boot.
[create an Equinix Metal account]:https://console.equinix.com/sign-up
[create an API key]:https://deploy.equinix.com/developers/docs/metal/identity-access-management/api-keys/
The `linuxkit run equinixmetal` command can mostly either be configured via
command line options or with environment variables. see `linuxkit run
equinixmetal --help` for the options and environment variables.
By default, `linuxkit run` will provision a new machine and remove it
once you are done. With the `-keep` option the provisioned machine
will not be removed. You can then use the `-device` option with the
device ID on subsequent `linuxkit run` invocations to re-use an
existing machine. These subsequent runs will update the iPXE data so
you can boot alternative kernels on an existing machine.
There is an example YAML file for [x86_64](../examples/equinixmetal.yml) and
an additional YAML for [arm64](../examples/equinixmetal.arm64.yml) servers
which provide both access to the serial console and via ssh and
configures bonding for network devices via metadata (if supported).
For x86_64 builds for Intel servers we strongly recommend adding
`ucode: intel-ucode.cpio` to the kernel section in the YAML. This
updates the Intel CPU microcode to the latest by prepending it to the
generated initrd file. The `ucode` entry is only recommended when
booting on baremetal. It should be omitted (but is harmless) when
building images to boot in VMs.
**Note**: The update of the iPXE configuration sometimes may take some
time and the first boot may fail. Hitting return on the console to
retry the boot typically fixes this.
## Boot
LinuxKit on Equinix Metal boots the `kernel+initrd` output from moby via
[iPXE](https://deploy.equinix.com/developers/docs/metal/operating-systems/custom-ipxe/)
which also requires a iPXE script. iPXE booting requires a HTTP server
on which you can store your images. The `-base-url` option specifies
the URL to a HTTP server from which `<name>-kernel`,
`<name>-initrd.img`, and `<name>-equinixmetal.ipxe` can be downloaded during
boot.
If you have your own HTTP server, you can use `linuxkit push equinixmetal`
to create the files (including the iPXE script) you need to make
available.
If you don't have a public HTTP server at hand, you can use the
`-serve` option. This will create a local HTTP server which can either
be run on another Equinix Metal machine or be made accessible with tools
like [ngrok](https://ngrok.com/).
For example, to boot the [example](../examples/platform-equinixmetal.yml)
with a local HTTP server:
```sh
linuxkit build platform-equinixmetal.yml
# run the web server
# run 'ngrok http 8080' in another window
METAL_AUTH_TOKEN=<API key> METAL_PROJECT_ID=<Project ID> \
linuxkit run equinixmetal -serve :8080 -base-url <ngrok url> equinixmetal
```
To boot a `arm64` image for Type 2a machine (`-machine baremetal_2a`)
you currently need to build using `linuxkit build equinixmetal.yml
equinixmetal.arm64.yml` and then un-compress both the kernel and the initrd
before booting, e.g:
```sh
mv equinixmetal-initrd.img equinixmetal-initrd.img.gz && gzip -d equinixmetal-initrd.img.gz
mv equinixmetal-kernel equinixmetal-kernel.gz && gzip -d equinixmetal-kernel.gz
```
The LinuxKit image can then be booted with:
```sh
METAL_API_TOKEN=<API key> METAL_PROJECT_ID=<Project ID> \
linuxkit run equinixmetal -machine baremetal_2a -serve :8080 -base-url -base-url <ngrok url> equinixmetal
```
Alternatively, `linuxkit push equinixmetal` will uncompress the kernel and
initrd images on arm machines (or explicitly via the `-decompress`
flag. There is also a `linuxkit serve` command which will start a
local HTTP server serving the specified directory.
**Note**: It may take several minutes to deploy a new server. If you
are attached to the console, you should see the BIOS and the boot
messages.
## Console
By default, `linuxkit run equinixmetal ...` will connect to the
Equinix Metal
[SOS ("Serial over SSH") console](https://deploy.equinix.com/developers/docs/metal/resilience-recovery/serial-over-ssh/). This
requires `ssh` access, i.e., you must have uploaded your SSH keys to
Equinix Metal beforehand.
You can exit the console vi `~.` on a new line once you are
disconnected from the serial, e.g. after poweroff.
**Note**: We also require that the Equinix Metal SOS host is in your
`known_hosts` file, otherwise the connection to the console will
fail. There is a Equinix Metal SOS host per zone.
You can disable the serial console access with the `-console=false`
command line option.
## Disks
At this moment the Linuxkit server boots from RAM, with no persistent
storage. We are working on adding persistent storage support on Equinix Metal.
## Networking
On the baremetal type 2a system (arm64 Cavium Thunder X) the network device driver does not get autoloaded by `mdev`. Please add:
```
- name: modprobe
image: linuxkit/modprobe:<hash>
command: ["modprobe", "nicvf"]
```
to your YAML files before any containers requiring the network to be up, e.g., the `dhcpcd` container.
Some Equinix Metal server types have bonded networks; the `metadata` package has support for setting
these up, and also for adding additional IP addresses.
## Integration services and Metadata
Equinix Metal supports [user state](https://deploy.equinix.com/developers/docs/metal/server-metadata/user-data/)
during system bringup, which enables the boot process to be more informative about the
current state of the boot process once the kernel has loaded but before the
system is ready for login.

View File

@@ -20,7 +20,7 @@ The HyperKit backend currently supports booting:
You need to select the boot method manually using the command line
options. The default is `kernel+initrd`. `kernel+squashfs` can be
selected using `-squashfs` and to boot a ISO with EFI you have to
specify `-iso -uefi`.
specify `--iso --uefi`.
The `kernel+initrd` uses a RAM disk for the root filesystem. If you
have RAM constraints or large images we recommend using either the

View File

@@ -8,7 +8,7 @@ manage the Hyper-V VMs.
Example:
```sh
linuxkit.exe run -disk size=1 linuxkit-efi.iso
linuxkit.exe run --disk size=1 linuxkit-efi.iso
```
The Hyper-V VM, by default, is named after the prefix of the ISO, ie

View File

@@ -1,151 +0,0 @@
# LinuxKit with bare metal on Packet
[Packet](http://packet.net) is a bare metal hosting provider.
You will need to [create a Packet account] and a project to
put this new machine into. You will also need to [create an API key]
with appropriate read/write permissions to allow the image to boot.
[create a Packet account]:https://app.packet.net/#/registration/
[create an API key]:https://help.packet.net/quick-start/api-integrations
Linuxkit is known to boot on the [Type 0]
and [Type 1] servers at Packet.
Support for other server types, including the [Type 2A] ARM server,
is a work in progress.
[Type 0]:https://www.packet.net/bare-metal/servers/type-0/
[Type 1]:https://www.packet.net/bare-metal/servers/type-1/
[Type 2A]:https://www.packet.net/bare-metal/servers/type-2a/
The `linuxkit run packet` command can mostly either be configured via
command line options or with environment variables. see `linuxkit run
packet --help` for the options and environment variables.
By default, `linuxkit run` will provision a new machine and remove it
once you are done. With the `-keep` option the provisioned machine
will not be removed. You can then use the `-device` option with the
device ID on subsequent `linuxkit run` invocations to re-use an
existing machine. These subsequent runs will update the iPXE data so
you can boot alternative kernels on an existing machine.
There is an example YAML file for [x86_64](../examples/packet.yml) and
an additional YAML for [arm64](../examples/packet.arm64.yml) servers
which provide both access to the serial console and via ssh and
configures bonding for network devices via metadata (if supported).
For x86_64 builds for Intel servers we strongly recommend adding
`ucode: intel-ucode.cpio` to the kernel section in the YAML. This
updates the Intel CPU microcode to the latest by prepending it to the
generated initrd file. The `ucode` entry is only recommended when
booting on baremetal. It should be omitted (but is harmless) when
building images to boot in VMs.
**Note**: The update of the iPXE configuration sometimes may take some
time and the first boot may fail. Hitting return on the console to
retry the boot typically fixes this.
## Boot
LinuxKit on Packet boots the `kernel+initrd` output from moby via
[iPXE](https://help.packet.net/technical/infrastructure/custom-ipxe)
which also requires a iPXE script. iPXE booting requires a HTTP server
on which you can store your images. The `-base-url` option specifies
the URL to a HTTP server from which `<name>-kernel`,
`<name>-initrd.img`, and `<name>-packet.ipxe` can be downloaded during
boot.
If you have your own HTTP server, you can use `linuxkit push packet`
to create the files (including the iPXE script) you need to make
available.
If you don't have a public HTTP server at hand, you can use the
`-serve` option. This will create a local HTTP server which can either
be run on another Packet machine or be made accessible with tools
like [ngrok](https://ngrok.com/).
For example, to boot the [example](../examples/packet.net)
with a local HTTP server:
```sh
linuxkit build packet.yml
# run the web server
# run 'ngrok http 8080' in another window
PACKET_API_KEY=<API key> PACKET_PROJECT_ID=<Project ID> \
linuxkit run packet -serve :8080 -base-url <ngrok url> packet
```
To boot a `arm64` image for Type 2a machine (`-machine baremetal_2a`)
you currently need to build using `linuxkit build packet.yml
packet.arm64.yml` and then un-compress both the kernel and the initrd
before booting, e.g:
```sh
mv packet-initrd.img packet-initrd.img.gz && gzip -d packet-initrd.img.gz
mv packet-kernel packet-kernel.gz && gzip -d packet-kernel.gz
```
The LinuxKit image can then be booted with:
```sh
PACKET_API_KEY=<API key> PACKET_PROJECT_ID=<Project ID> \
linuxkit run packet -machine baremetal_2a -serve :8080 -base-url -base-url <ngrok url> packet
```
Alternatively, `linuxkit push packet` will uncompress the kernel and
initrd images on arm machines (or explicitly via the `-decompress`
flag. There is also a `linuxkit serve` command which will start a
local HTTP server serving the specified directory.
**Note**: It may take several minutes to deploy a new server. If you
are attached to the console, you should see the BIOS and the boot
messages.
## Console
By default, `linuxkit run packet ...` will connect to the
Packet
[SOS ("Serial over SSH") console](https://help.packet.net/technical/networking/sos-rescue-mode). This
requires `ssh` access, i.e., you must have uploaded your SSH keys to
Packet beforehand.
You can exit the console vi `~.` on a new line once you are
disconnected from the serial, e.g. after poweroff.
**Note**: We also require that the Packet SOS host is in your
`known_hosts` file, otherwise the connection to the console will
fail. There is a Packet SOS host per zone.
You can disable the serial console access with the `-console=false`
command line option.
## Disks
At this moment the Linuxkit server boots from RAM, with no persistent
storage. We are working on adding persistent storage support on Packet.
## Networking
On the baremetal type 2a system (arm64 Cavium Thunder X) the network device driver does not get autoloaded by `mdev`. Please add:
```
- name: modprobe
image: linuxkit/modprobe:<hash>
command: ["modprobe", "nicvf"]
```
to your YAML files before any containers requiring the network to be up, e.g., the `dhcpcd` container.
Some Packet server types have bonded networks; the `metadata` package has support for setting
these up, and also for adding additional IP addresses.
## Integration services and Metadata
Packet supports [user state](https://help.packet.net/technical/infrastructure/user-state)
during system bringup, which enables the boot process to be more informative about the
current state of the boot process once the kernel has loaded but before the
system is ready for login.

View File

@@ -24,9 +24,9 @@ specified with `-arch` and currently accepts `x86_64`, `aarch64`, and
`linuxkit run qemu` can boot in different types of images:
- `kernel+initrd`: This is the default mode of `linuxkit run qemu` [`x86_64`, `arm64`, `s390x`]
- `kernel+squashfs`: `linuxkit run qemu -squashfs <path to directory>`. This expects a kernel and a squashfs image. [`x86_64`, `arm64`, `s390x`]
- `iso-bios`: `linuxkit run qemu -iso <path to iso>` [`x86_64`]
- `iso-efi`: `linuxkit run qemu -iso -uefi <path to iso>`. This looks in `/usr/share/ovmf/bios.bin` for the EFI firmware by default. Can be overwritten with `-fw`. [`x86_64`, `arm64`]
- `kernel+squashfs`: `linuxkit run qemu --squashfs <path to directory>`. This expects a kernel and a squashfs image. [`x86_64`, `arm64`, `s390x`]
- `iso-bios`: `linuxkit run qemu --iso <path to iso>` [`x86_64`]
- `iso-efi`: `linuxkit run qemu --iso --uefi <path to iso>`. This looks in `/usr/share/ovmf/bios.bin` for the EFI firmware by default. Can be overwritten with `-fw`. [`x86_64`, `arm64`]
- `qcow-bios`: `linuxkit run qemu disk.qcow2` [`x86_64`]
- `raw-bios`: `linuxkit run qemu disk.img` [`x86_64`]
- `aws`: `linuxkit run qemu disk.img` boots a raw AWS disk image. [`x86_64`]

View File

@@ -21,7 +21,7 @@ The Virtualization.Framework backend currently supports booting:
You need to select the boot method manually using the command line
options. The default is `kernel+initrd`. `kernel+squashfs` can be
selected using `-squashfs` and to boot a ISO with EFI you have to
specify `-iso -uefi`.
specify `--iso --uefi`.
The `kernel+initrd` uses a RAM disk for the root filesystem. If you
have RAM constraints or large images we recommend using either the

72
docs/sbom.md Normal file
View File

@@ -0,0 +1,72 @@
# Software Bill-of-Materials
LinuxKit bootable images are composed of existing OCI images.
OCI images, when built, often are scanned to create a
software bill-of-materials (SBoM). The buildkit builder
system itself contains the [ability to integrate SBoM scanning and generation into the build process](https://docs.docker.com/build/attestations/sbom/).
When LinuxKit composes an operating system image using `linuxkit build`,
it will, by default, combine the SBoMs of all the OCI images used to create
the final image.
It looks for SBoMs in the following locations:
* [image attestation storage](https://docs.docker.com/build/attestations/attestation-storage/)
Future support for [OCI Image-Spec v1.1 Artifacts](https://github.com/opencontainers/image-spec)
is under consideration, and will be reviewed when it is generally available.
When building packages with `linuxkit pkg build`, it also has the ability to generate an SBoM for the
package, which later can be consumed by `linuxkit build`.
## Consuming SBoM From Packages
When `linuxkit build` is run, it does the following for dealing with SBoMs:
1. For each OCI image that it processes:
1. check if the image contains an SBoM attestation; it not, skip this step.
1. Retrieve the SBoM attestation.
1. After generating the root filesystem, combine all of the individual SBoMs into a single unified SBoM.
1. Save the output single SBoM into the root of the image as `sbom.spdx.json`.
Currently, only SPDX json format is supported.
### SBoM Scanner and Output Format
By default, linuxkit combines the SBoMs into a file with output format SPDX json,
and the file saved to the filename `sbom.spdx.json`.
In addition, in order to assist with reproducible builds, the creation date/time of the SBoM is
a fixed date/time set by linuxkit, rather than the current date/time. Note, however, that even
with a fixed date/time, reproducible builds depends on reproducible SBoMs on the underlying container images.
This is not always the case, as the unique IDs for each package and file might be deterministic, but it might not.
This can be overridden by using the CLI flags:
* `--no-sbom`: do not find and consolidate the SBoMs
* `--sbom-output <filename>`: the filename to save the output to in the image.
* `--sbom-current-time true|false`: whether or not to use the current time for the SBoM creation date/time (default `false`)
### Disable SBoM for Images
To disable SBoM generation when running `linuxkit build`, use the CLI flag `--sbom false`.
## Generating SBoM For Packages
When `linuxkit pkg build` is run, by default it enables generating an SBoM using the
[SBoM generating capabilities of buildkit](https://www.docker.com/blog/generate-sboms-with-buildkit/).
This means that it inherits all of those capabilities as well, and saves the SBoM in the same location,
as an attestation on the image.
### SBoM Scanner
By default, buildkit runs [syft](http://hub.docker.com/r/anchore/syft) with output format SPDX json,
specifically via its integration image [buildkit-syft-scanner](docker.io/docker/buildkit-syft-scanner).
You can select a different image to run a scanner, provided it complies with the
[buildkit SBoM protocol](https://github.com/moby/buildkit/blob/master/docs/attestations/sbom-protocol.md),
by passing the CLI flag `--sbom-scanner <image>`.
### Disable SBoM for Packages
To disable SBoM generation when running `linuxkit pkg build`, use the CLI flag `--sbom-scanner=false`.

36
docs/troubleshooting.md Normal file
View File

@@ -0,0 +1,36 @@
# Troubleshooting
This document contains a list of known issues related to using, building or testing linuxkit.
## Images
## Packages
### Invalid MediaType
**Problem**
```
Error: error building and pushing "linuxkit/mkimage-iso-efi-initrd:0e66171ffde9bb735b0e014f811f9626fc8b9bc9": PUT https://index.docker.io/v2/linuxkit/mkimage-iso-efi-initrd/manifests/0e66171ffde9bb735b0e014f811f9626fc8b9bc9: MANIFEST_INVALID: manifest invalid; if present, mediaType in image index should be 'application/vnd.oci.image.index.v1+json' not 'application/vnd.docker.distribution.manifest.list.v2+json'
```
The above message is caused by registries, notably docker hub, refusing to accept indexes with the
docker media type of `application/vnd.docker.distribution.manifest.list.v2+json`, rather than the OCI
one `application/vnd.oci.image.index.v1+json`.
Linuxkit _does_ use the OCI media type, however, if the image _already_ exists in the registry, linuxkit will
pull the index down, update it, and push it back up. The above error occurs because the index that exists in
the hub, the one that is pulled down, has the older media type, from when the registry accepted it.
**Solution**
The solution is to force an entirely new build, which will generate the images and index with the correct media
type.
```
linuxkit pkg build --force <path>
linuxkit pkg push <path>
```
## Testing

View File

@@ -3,7 +3,7 @@
The `linuxkit build` command assembles a set of containerised components into in image. The simplest
type of image is just a `tar` file of the contents (useful for debugging) but more useful
outputs add a `Dockerfile` to build a container, or build a full disk image that can be
booted as a linuxKit VM. The main use case is to build an assembly that includes
booted as a linuxkit VM. The main use case is to build an assembly that includes
`containerd` to run a set of containers, but the tooling is very generic.
The yaml configuration specifies the components used to build up an image . All components
@@ -16,8 +16,10 @@ The Docker images are optionally verified with Docker Content Trust.
For private registries or private repositories on a registry credentials provided via
`docker login` are re-used.
## Sections
The configuration file is processed in the order `kernel`, `init`, `onboot`, `onshutdown`,
`services`, `files`. Each section adds files to the root file system. Sections may be omitted.
`services`, `files`, `volumes`. Each section adds files to the root file system. Sections may be omitted.
Each container that is specified is allocated a unique `uid` and `gid` that it may use if it
wishes to run as an isolated user (or user namespace). Anywhere you specify a `uid` or `gid`
@@ -40,7 +42,7 @@ files:
mode: "0600"
```
## `kernel`
### `kernel`
The `kernel` section is only required if booting a VM. The files will be put into the `boot/`
directory, where they are used to build bootable images.
@@ -50,6 +52,9 @@ which should contain a `kernel` file that will be booted (eg a `bzImage` for `am
called `kernel.tar` which is a tarball that is unpacked into the root, which should usually
contain a kernel modules directory. `cmdline` specifies the kernel command line options if required.
The contents of `cmdline` are passed to the kernel as-is. There are several special values that are
used to control the behaviour of linuxkit packages. See [kernel command line options](../docs/cmdline.md).
To override the names, you can specify the kernel image name with `binary: bzImage` and the tar image
with `tar: kernel.tar` or the empty string or `none` if you do not want to use a tarball at all.
@@ -57,7 +62,7 @@ Kernel packages may also contain a cpio archive containing CPU microcode which n
the initrd. To select this option, recommended when booting on bare metal, add `ucode: intel-ucode.cpio`
to the kernel section.
## `init`
### `init`
The `init` section is a list of images that are used for the `init` system and are unpacked directly
into the root filesystem. This should bring up `containerd`, start the system and daemon containers,
@@ -65,14 +70,14 @@ and set up basic filesystem mounts. in the case of a LinuxKit system. For ease o
modification `runc` and `containerd` images, which just contain these programs are added here
rather than bundled into the `init` container.
## `onboot`
### `onboot`
The `onboot` section is a list of images. These images are run before any other
images. They are run sequentially and each must exit before the next one is run.
These images can be used to configure one shot settings. See [Image
specification](#image-specification) for a list of supported fields.
## `onshutdown`
### `onshutdown`
This is a list of images to run on a clean shutdown. Note that you must not rely on these
being run at all, as machines may be be powered off or shut down without having time to run
@@ -81,18 +86,67 @@ run and when they are not. Most systems are likely to be "crash only" and not ha
but you can attempt to deregister cleanly from a network service here, rather than relying
on timeouts, for example.
## `services`
### `services`
The `services` section is a list of images for long running services which are
run with `containerd`. Startup order is undefined, so containers should wait
on any resources, such as networking, that they need. See [Image
specification](#image-specification) for a list of supported fields.
## `files`
### `volumes`
The volumes section is a list of named volumes that can be used by other containers,
including those in `services`, `onboot` and `onshutdown`. The volumes are created in a directory
chosen by linuxkit at build-time. The volumes then can be referenced by other containers and
mounted into them.
Volumes normally are blank directories. If an image is provided, the contents of that image
will be used to populate the volume.
The `volumes` section can declare a volume to be read-write or read-only. If the volume is read-write,
a volume that is mounted into a container can be mounted read-only or read-write. If the volume is read-only,
it can be mounted into a container read-only; attempting to do so read-write will generate a build-time error.
By default, volumes are created read-write, and are mounted read-write.
Volume names **must** be unique, and must contain only lower-case alphanumeric characters, hyphens, and
underscores.
Sample `volumes` section:
```yml
volumes:
- name: vola
image: alpine:latest
readonly: true
- name: volb
image: alpine:latest
readonly: false
- name: volc
readonly: false
```
In the above example:
* `vola` is populated by the contents of `alpine:latest` and is read-only.
* `volb` is populated by the contents of `alpine:latest` and is read-write.
* `volc` is an empty volume and is read-write.
Sample usage of volumes in `services` section:
```yml
services:
- name: myservice
image: alpine:latest
binds:
- volA:/mnt/volA:ro
- volB:/mnt/volB
```
### `files`
The files section can be used to add files inline in the config, or from an external file.
```
```yml
files:
- path: dir
directory: true
@@ -118,16 +172,20 @@ user's home directory.
In addition there is a `metadata` option that will generate the file. Currently the only value
supported here is `"yaml"` which will output the yaml used to generate the image into the specified
file:
```
```yml
- path: etc/linuxkit.yml
metadata: yaml
```
Note that if you use templates in the yaml, the final resolved version will be included in the image,
and not the original input template.
Because a `tmpfs` is mounted onto `/var`, `/run`, and `/tmp` by default, the `tmpfs` mounts will shadow anything specified in `files` section for those directories.
## Image specification
Entries in the `onboot` and `services` sections specify an OCI image and
Entries in the `onboot`, `onshutdown`, `volumes` and `services` sections specify an OCI image and
options. Default values may be specified using the `org.mobyproject.config` image label.
For more details see the [OCI specification](https://github.com/opencontainers/runtime-spec/blob/master/spec.md).
@@ -202,7 +260,8 @@ which specifies some actions to take place when the container is being started.
- `namespace` overrides the LinuxKit default containerd namespace to put the container in; only applicable to services.
An example of using the `runtime` config to configure a network namespace with `wireguard` and then run `nginx` in that namespace is shown below:
```
```yml
onboot:
- name: dhcpcd
image: linuxkit/dhcpcd:<hash>
@@ -293,3 +352,43 @@ binds:
- /var:/var:rshared,rbind
rootfsPropagation: shared
```
## Templates
The `yaml` file supports templates for the names of images. Anyplace an image is used in a file and begins
with the character `@`, it indicates that it is not an actual name, but a template. The first word after
the `@` indicates the type of template, and the rest of the line is the argument to the template. The
templates currently supported are:
* `@pkg:` - the argument is the path to a linuxkit package. For example, `@pkg:./pkg/init`.
For `pkg`, linuxkit will resolve the path to the package, and then run the equivalent of `linuxkit pkg show-tag <dir>`.
For example:
```yaml
init:
- "@pkg:../pkg/init"
```
Will cause linuxkit to resolve `../pkg/init` to a package, and then run `linuxkit pkg show-tag ../pkg/init`.
The paths are relative to the directory of the yaml file.
You can specify absolute paths, although it is not recommended, as that can make the yaml file less portable.
The `@pkg:` templating is supported **only** when the yaml file is being read from a local filesystem. It does not
support when using via stdin, e.g. `cat linuxkit.yml | linuxkit build -`, or URLs, e.g. `linuxkit build https://example.com/foo.yml`.
The `@pkg:` template currently supports only default `linuxkit pkg` options, i.e. `build.yml` and `tag` options. There
are no command-line options to override them.
**Note:** The character `@` is reserved in yaml. To use it in the beginning of a string, you must put the entire string in
quotes.
If you use the template, the actual derived value, and not the initial template, is what will be stored in the final
image when adding it via:
```yaml
files:
- path: etc/linuxkit.yml
metadata: yaml
```

View File

@@ -1,25 +1,25 @@
kernel:
image: linuxkit/kernel:5.4.30
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
binds.add:
# this will keep all of the existing ones as well
- /var/tmp:/var/tmp
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
files:
- path: etc/getty.shadow
# sample sets password for root to "abcdefgh" (without quotes)

View File

@@ -1,34 +1,34 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: sysfs
image: linuxkit/sysfs:c3bdb00c5e23bf566d294bafd5f7890ca319056f
image: linuxkit/sysfs:ec174e06ca756f492e7a3fd6200d5c1672b97511
- name: format
image: linuxkit/format:7efa07559dd23cb4dbebfd3ab48c50fd33625918
image: linuxkit/format:e040f4f045f03138a1ee8a22bb6feae7fd5596a6
- name: mount
image: linuxkit/mount:422b219bb1c7051096126ac83e6dcc8b2f3f1176
image: linuxkit/mount:19ff89c251a4156bda8ed11c95faad2f40eb770e
command: ["/usr/bin/mountie", "/var/lib/docker"]
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: ntpd
image: linuxkit/openntpd:d6c36ac367ed26a6eeffd8db78334d9f8041b038
image: linuxkit/openntpd:c90c6dd90f5dfb0ca71a73aac2dad69c8d956af3
- name: docker
image: docker:20.10.6-dind
@@ -46,7 +46,7 @@ services:
- /etc/docker/daemon.json:/etc/docker/daemon.json
command: ["/usr/local/bin/docker-init", "/usr/local/bin/dockerd"]
- name: cadvisor
image: linuxkit/cadvisor:38174e03a9495a2ba8a8a049458f585a8b8e4a59
image: linuxkit/cadvisor:c57efffad1139b2c5df1c3f66c1e3d586ce9e07d
files:
- path: var/lib/docker
directory: true

View File

@@ -0,0 +1,4 @@
cliopts="--log-level trace"
stderr="/var/log/containerd.err.log"
stdout="/var/log/containerd.out.log"

View File

@@ -0,0 +1,42 @@
# example with volumes, both blank and populated
kernel:
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
onshutdown:
- name: shutdown
image: busybox:latest
command: ["/bin/echo", "so long and thanks for all the fish"]
services:
- name: getty
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:cdb919e4aee49fed0bf6075f0a104037cba83c39
- name: nginx
image: nginx:1.19.5-alpine
capabilities:
- CAP_NET_BIND_SERVICE
- CAP_CHOWN
- CAP_SETUID
- CAP_SETGID
- CAP_DAC_OVERRIDE
binds:
- /etc/resolv.conf:/etc/resolv.conf
files:
- path: etc/linuxkit-config
metadata: yaml
- path: /etc/containerd/runtime-config.toml
source: "containerd-debug-runtime-config.toml" # must include the file runtime-config.toml in this directory
mode: "0644"

View File

@@ -1,31 +1,31 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: format
image: linuxkit/format:7efa07559dd23cb4dbebfd3ab48c50fd33625918
image: linuxkit/format:e040f4f045f03138a1ee8a22bb6feae7fd5596a6
command: ["/usr/bin/format", "/dev/sda"]
- name: mount
image: linuxkit/mount:422b219bb1c7051096126ac83e6dcc8b2f3f1176
image: linuxkit/mount:19ff89c251a4156bda8ed11c95faad2f40eb770e
command: ["/usr/bin/mountie", "/dev/sda1", "/var/external"]
- name: loop
image: linuxkit/losetup:43e40be0c82cbccf171ebd2a8065246e2e84f66e
image: linuxkit/losetup:65e3ad6336a321749394f58c3f28003cfce1e28c
command: ["/usr/bin/loopy", "--create", "/var/external/storage_file"]
- name: dm-crypt
image: linuxkit/dm-crypt:908d3a270650aff7388092a307673c44d86e1ed0
image: linuxkit/dm-crypt:d49723bc9d10c5ada9e03b0670f4e57416d5d084
command: ["/usr/bin/crypto", "crypt_loop_dev", "/dev/loop0"]
- name: mount
image: linuxkit/mount:422b219bb1c7051096126ac83e6dcc8b2f3f1176
image: linuxkit/mount:19ff89c251a4156bda8ed11c95faad2f40eb770e
command: ["/usr/bin/mountie", "/dev/mapper/crypt_loop_dev", "/var/secure_storage"]
- name: bbox
image: busybox
@@ -34,11 +34,11 @@ onboot:
- /var:/var
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
files:
- path: etc/dm-crypt/key
# the below key is just to keep the example self-contained

View File

@@ -1,25 +1,25 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: format
image: linuxkit/format:7efa07559dd23cb4dbebfd3ab48c50fd33625918
image: linuxkit/format:e040f4f045f03138a1ee8a22bb6feae7fd5596a6
command: ["/usr/bin/format", "/dev/sda"]
- name: dm-crypt
image: linuxkit/dm-crypt:908d3a270650aff7388092a307673c44d86e1ed0
image: linuxkit/dm-crypt:d49723bc9d10c5ada9e03b0670f4e57416d5d084
command: ["/usr/bin/crypto", "crypt_dev", "/dev/sda1"]
- name: mount
image: linuxkit/mount:422b219bb1c7051096126ac83e6dcc8b2f3f1176
image: linuxkit/mount:19ff89c251a4156bda8ed11c95faad2f40eb770e
command: ["/usr/bin/mountie", "/dev/mapper/crypt_dev", "/var/secure_storage"]
- name: bbox
image: busybox
@@ -28,11 +28,11 @@ onboot:
- /var:/var
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
files:
- path: etc/dm-crypt/key
# the below key is just to keep the example self-contained

View File

@@ -16,7 +16,7 @@ $ linuxkit build -format iso-efi docker-for-mac.yml
To run the VM with a 4G disk:
```
linuxkit run hyperkit -networking=vpnkit -vsock-ports=2376 -disk size=4096M -data-file ./metadata.json -iso -uefi docker-for-mac-efi
linuxkit run hyperkit --networking=vpnkit --vsock-ports=2376 --disk size=4096M --data-file ./metadata.json --iso --uefi docker-for-mac-efi
```
Where the file `./metadata.json` should contain the desired docker daemon

View File

@@ -1,32 +1,32 @@
# This is an example for building the open source components of Docker for Mac
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=ttyS0 page_poison=1"
init:
- linuxkit/vpnkit-expose-port:87ac61469247b2a0483cbd1fd2915f220e078b78 # install vpnkit-expose-port and vpnkit-iptables-wrapper on host
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/vpnkit-expose-port:77e45e4681c78d59f1d8a48818260948d55f9d05 # install vpnkit-expose-port and vpnkit-iptables-wrapper on host
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
# support metadata for optional config in /run/config
- name: metadata
image: linuxkit/metadata:646c00ad6c0b3fc246b6af9ccfcd6b1eb6b6da8a
image: linuxkit/metadata:b082f1bf97a9034d1e4c0e36a5d2923f4e58f540
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: sysfs
image: linuxkit/sysfs:c3bdb00c5e23bf566d294bafd5f7890ca319056f
image: linuxkit/sysfs:ec174e06ca756f492e7a3fd6200d5c1672b97511
- name: binfmt
image: linuxkit/binfmt:a17941b47f5cb262638cfb49ffc59ac5ac2bf334
image: linuxkit/binfmt:68604c81876812ca1c9e2d9f098c28f463713e61
# Format and mount the disk image in /var/lib/docker
- name: format
image: linuxkit/format:7efa07559dd23cb4dbebfd3ab48c50fd33625918
image: linuxkit/format:e040f4f045f03138a1ee8a22bb6feae7fd5596a6
- name: mount
image: linuxkit/mount:422b219bb1c7051096126ac83e6dcc8b2f3f1176
image: linuxkit/mount:19ff89c251a4156bda8ed11c95faad2f40eb770e
command: ["/usr/bin/mountie", "/var/lib"]
# make a swap file on the mounted disk
- name: swap
image: linuxkit/swap:77305236719ed7ab4be0f3bccc179c583fe7f5ff
image: linuxkit/swap:c57f3319ce770515357f0058035e40519c22b752
command: ["/swap.sh", "--path", "/var/lib/swap", "--size", "1024M"]
# mount-vpnkit mounts the 9p share used by vpnkit to coordinate port forwarding
- name: mount-vpnkit
@@ -44,41 +44,41 @@ onboot:
- /var:/host_var
command: ["sh", "-c", "mv -v /host_var/log /host_var/lib && ln -vs /var/lib/log /host_var/log"]
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
# Enable acpi to shutdown on power events
- name: acpid
image: linuxkit/acpid:c05a368754f6436b326945dc16135ba547568d8d
image: linuxkit/acpid:3b1560c81d3884e049ebbd9d9bf94ccb394e6cd3
# Enable getty for easier debugging
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
# Run ntpd to keep time synchronised in the VM
- name: ntpd
image: linuxkit/openntpd:d6c36ac367ed26a6eeffd8db78334d9f8041b038
image: linuxkit/openntpd:c90c6dd90f5dfb0ca71a73aac2dad69c8d956af3
# VSOCK to unix domain socket forwarding. Forwards guest /var/run/docker.sock
# to a socket on the host.
- name: vsudd
image: linuxkit/vsudd:89980cd551d3174b6d8528f39fbd7fd1ca049161
image: linuxkit/vsudd:b4d80d243733f80906cdbcf77f367a7b5744dc09
binds:
- /var/run:/var/run
command: ["/vsudd", "-inport", "2376:unix:/var/run/docker.sock"]
# vpnkit-forwarder forwards network traffic to/from the host via VSOCK port 62373.
# It needs access to the vpnkit 9P coordination share
- name: vpnkit-forwarder
image: linuxkit/vpnkit-forwarder:ea4dded7386b09dd647e854664b029be0a4f420f
image: linuxkit/vpnkit-forwarder:a89ec807d7d675dccd53773c07382bc707db3396
binds:
- /var/vpnkit:/port
net: host
command: ["/vpnkit-forwarder", "-vsockPort", "62373"]
# Monitor for image deletes and invoke a TRIM on the container filesystem
- name: trim-after-delete
image: linuxkit/trim-after-delete:533ed712cf5cede1d5aec121c3f8afc1f471f723
image: linuxkit/trim-after-delete:6ba98bfb111a808b7a1ca890aca9fc2b3709fca2
# When the host resumes from sleep, force a clock resync
- name: host-timesync-daemon
image: linuxkit/host-timesync-daemon:cc7c2f88c0e585c292624b9665412c9aca615d55
image: linuxkit/host-timesync-daemon:0d351aee24b5cf853927647e4f5e6998014959db
# Run dockerd with the vpnkit userland proxy from the vpnkit-forwarder container.
# Bind mounts /var/run to allow vsudd to connect to docker.sock, /var/vpnkit
# for vpnkit coordination and /run/config/docker for the configuration file.

View File

@@ -1,32 +1,32 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: sysfs
image: linuxkit/sysfs:c3bdb00c5e23bf566d294bafd5f7890ca319056f
image: linuxkit/sysfs:ec174e06ca756f492e7a3fd6200d5c1672b97511
- name: format
image: linuxkit/format:7efa07559dd23cb4dbebfd3ab48c50fd33625918
image: linuxkit/format:e040f4f045f03138a1ee8a22bb6feae7fd5596a6
- name: mount
image: linuxkit/mount:422b219bb1c7051096126ac83e6dcc8b2f3f1176
image: linuxkit/mount:19ff89c251a4156bda8ed11c95faad2f40eb770e
command: ["/usr/bin/mountie", "/var/lib/docker"]
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
- name: ntpd
image: linuxkit/openntpd:d6c36ac367ed26a6eeffd8db78334d9f8041b038
image: linuxkit/openntpd:c90c6dd90f5dfb0ca71a73aac2dad69c8d956af3
- name: docker
image: docker:20.10.6-dind
capabilities:

View File

@@ -1,25 +1,25 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
# to make insecure with passwordless root login, uncomment following lines
#env:
# - INSECURE=true
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
files:
- path: etc/getty.shadow
# sample sets password for root to "abcdefgh" (without quotes)

View File

@@ -1,16 +1,16 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
onshutdown:
- name: shutdown
@@ -18,7 +18,7 @@ onshutdown:
command: ["/bin/echo", "so long and thanks for all the fish"]
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
runtime:
@@ -30,7 +30,7 @@ services:
destination: writeable-host-etc
options: ["rw", "lowerdir=/etc", "upperdir=/run/hostetc/upper", "workdir=/run/hostetc/work"]
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: nginx
image: nginx:1.13.8-alpine
capabilities:

View File

@@ -1,18 +1,18 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: influxdb

View File

@@ -1,23 +1,23 @@
# Simple example of using an external logging service
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/memlogd:014f86dce2ea4bb2ec13e92ae5c1e854bcefec40
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
- linuxkit/memlogd:cb79fd19e6485cfc61b85c607ca172cd860554c5
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
# Inside the getty type `/proc/1/root/usr/bin/logread -F` to follow the log
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
# A service which generates log messages for testing
@@ -25,6 +25,6 @@ services:
image: alpine:3.13
command: ["/bin/sh", "-c", "while /bin/true; do echo hello $(date); sleep 1; done" ]
- name: write-and-rotate-logs
image: linuxkit/logwrite:4d8aa07d4a7130239fc62b09f33e3401ecf62a38
image: linuxkit/logwrite:c1c66d246080a40658903916d650206f2dcd707a
- name: kmsg
image: linuxkit/kmsg:b2f6cd4ce9041120e30a4b5ab36bb8db4f5eb458
image: linuxkit/kmsg:423844f262467e1199480dc93d69e38610c78133

View File

@@ -1,16 +1,16 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
onboot:
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true

View File

@@ -1,18 +1,18 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
- name: node_exporter
image: linuxkit/node_exporter:bd11bc62e0cdf7a600556c0cb9f6582bf055f245
image: linuxkit/node_exporter:9bcd8479b7ba2844773ef4f01a60c901c4800982

View File

@@ -1,26 +1,26 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=ttyS0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:646c00ad6c0b3fc246b6af9ccfcd6b1eb6b6da8a
image: linuxkit/metadata:b082f1bf97a9034d1e4c0e36a5d2923f4e58f540
command: ["/usr/bin/metadata", "openstack"]
services:
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: sshd
image: linuxkit/sshd:4696ba61c3ec091328e1c14857d77e675802342f
binds:
image: linuxkit/sshd:75f399fbfb6455dfccd4cb30543d0b4b494d28c8
binds.add:
- /run/config/ssh/authorized_keys:/root/.ssh/authorized_keys
- name: nginx
image: nginx:1.13.8-alpine

View File

@@ -1,25 +1,28 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=ttyS0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:646c00ad6c0b3fc246b6af9ccfcd6b1eb6b6da8a
image: linuxkit/metadata:b082f1bf97a9034d1e4c0e36a5d2923f4e58f540
services:
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: dhcpcd2
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf"]
- name: sshd
image: linuxkit/sshd:4696ba61c3ec091328e1c14857d77e675802342f
binds:
image: linuxkit/sshd:75f399fbfb6455dfccd4cb30543d0b4b494d28c8
binds.add:
- /run/config/ssh/authorized_keys:/root/.ssh/authorized_keys
- name: nginx
image: nginx:1.13.8-alpine

View File

@@ -1,21 +1,23 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=ttyS0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
services:
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
- name: sshd
image: linuxkit/sshd:4696ba61c3ec091328e1c14857d77e675802342f
image: linuxkit/sshd:75f399fbfb6455dfccd4cb30543d0b4b494d28c8
binds.add:
- /root/.ssh:/root/.ssh
files:
- path: root/.ssh/authorized_keys
source: ~/.ssh/id_rsa.pub

View File

@@ -0,0 +1,14 @@
# This YAML snippet is to be used in conjunction with equinixmetal.yml to
# build a arm64 image for Equinix Metal. It adds a modprobe of the NIC
# driver and overrides the kernel section to disable prepending the
# Intel CPU microcode to the initrd. If writing a YAML specifically
# for arm64 then the 'ucode' line in the kernel section can be left
# out.
kernel:
image: linuxkit/kernel:6.6.13
cmdline: "console=ttyAMA0"
ucode: ""
onboot:
- name: modprobe
image: linuxkit/modprobe:ab5ac4d5e7e7a5f2d103764850f7846b69230676
command: ["modprobe", "nicvf"]

View File

@@ -0,0 +1,38 @@
kernel:
image: linuxkit/kernel:6.6.13
cmdline: console=ttyS1
ucode: intel-ucode.cpio
init:
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
- linuxkit/firmware:8def159583422181ddee3704f7024ecb9c02d348
onboot:
- name: rngd1
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
command: ["/sbin/rngd", "-1"]
- name: sysctl
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:b082f1bf97a9034d1e4c0e36a5d2923f4e58f540
command: ["/usr/bin/metadata", "equinixmetal"]
services:
- name: rngd
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: getty
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: sshd
image: linuxkit/sshd:75f399fbfb6455dfccd4cb30543d0b4b494d28c8
binds.add:
- /root/.ssh:/root/.ssh
files:
- path: root/.ssh/authorized_keys
source: ~/.ssh/id_rsa.pub
mode: "0600"
optional: true

View File

@@ -1,29 +1,29 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=ttyS0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:646c00ad6c0b3fc246b6af9ccfcd6b1eb6b6da8a
image: linuxkit/metadata:b082f1bf97a9034d1e4c0e36a5d2923f4e58f540
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: sshd
image: linuxkit/sshd:4696ba61c3ec091328e1c14857d77e675802342f
binds:
image: linuxkit/sshd:75f399fbfb6455dfccd4cb30543d0b4b494d28c8
binds.add:
- /run/config/ssh/authorized_keys:/root/.ssh/authorized_keys
- name: nginx
image: nginx:1.13.8-alpine

View File

@@ -1,34 +1,36 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: console=ttyS1
ucode: intel-ucode.cpio
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/firmware:8f89601312327c78999a880ee104ceae9a25d20e
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
- linuxkit/firmware:8def159583422181ddee3704f7024ecb9c02d348
onboot:
- name: rngd1
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
command: ["/sbin/rngd", "-1"]
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:646c00ad6c0b3fc246b6af9ccfcd6b1eb6b6da8a
image: linuxkit/metadata:b082f1bf97a9034d1e4c0e36a5d2923f4e58f540
command: ["/usr/bin/metadata", "hetzner"]
services:
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: sshd
image: linuxkit/sshd:4696ba61c3ec091328e1c14857d77e675802342f
image: linuxkit/sshd:75f399fbfb6455dfccd4cb30543d0b4b494d28c8
binds.add:
- /root/.ssh:/root/.ssh
files:
- path: root/.ssh/authorized_keys
source: ~/.ssh/id_rsa.pub

View File

@@ -1,14 +0,0 @@
# This YAML snippet is to be used in conjunction with packet.yml to
# build a arm64 image for packet.net. It adds a modprobe of the NIC
# driver and overrides the kernel section to disable prepending the
# Intel CPU microcode to the initrd. If writing a YAML specifically
# for arm64 then the 'ucode' line in the kernel section can be left
# out.
kernel:
image: linuxkit/kernel:5.10.104
cmdline: "console=ttyAMA0"
ucode: ""
onboot:
- name: modprobe
image: linuxkit/modprobe:1b59b4f2ebb877085ea0d8d3a41cf06f64c09a15
command: ["modprobe", "nicvf"]

View File

@@ -1,36 +0,0 @@
kernel:
image: linuxkit/kernel:5.10.104
cmdline: console=ttyS1
ucode: intel-ucode.cpio
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/firmware:8f89601312327c78999a880ee104ceae9a25d20e
onboot:
- name: rngd1
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
command: ["/sbin/rngd", "-1"]
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:646c00ad6c0b3fc246b6af9ccfcd6b1eb6b6da8a
command: ["/usr/bin/metadata", "packet"]
services:
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
env:
- INSECURE=true
- name: sshd
image: linuxkit/sshd:4696ba61c3ec091328e1c14857d77e675802342f
files:
- path: root/.ssh/authorized_keys
source: ~/.ssh/id_rsa.pub
mode: "0600"
optional: true

View File

@@ -1,25 +1,25 @@
kernel:
image: linuxkit/kernel:5.11.4-rt
image: linuxkit/kernel:6.6.13-rt
cmdline: "console=tty0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
- name: open-vm-tools
image: linuxkit/open-vm-tools:4c3158c7ba27f7ad0ede5d383ca25b57c5588a26
image: linuxkit/open-vm-tools:728ddf726474178eea97604c0baeabd52edab7e9
- name: nginx
image: nginx:1.13.8-alpine
capabilities:

View File

@@ -1,26 +1,26 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0 root=/dev/vda"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: rngd1
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
command: ["/sbin/rngd", "-1"]
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:646c00ad6c0b3fc246b6af9ccfcd6b1eb6b6da8a
image: linuxkit/metadata:b082f1bf97a9034d1e4c0e36a5d2923f4e58f540
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd

View File

@@ -1,23 +1,23 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
- name: nginx
image: nginx:1.13.8-alpine
capabilities:

View File

@@ -1,30 +1,30 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=ttyS0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:646c00ad6c0b3fc246b6af9ccfcd6b1eb6b6da8a
image: linuxkit/metadata:b082f1bf97a9034d1e4c0e36a5d2923f4e58f540
command: ["/usr/bin/metadata", "vultr"]
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: sshd
image: linuxkit/sshd:4696ba61c3ec091328e1c14857d77e675802342f
binds:
image: linuxkit/sshd:75f399fbfb6455dfccd4cb30543d0b4b494d28c8
binds.add:
- /run/config/ssh/authorized_keys:/root/.ssh/authorized_keys
- name: nginx
image: nginx:1.13.8-alpine

View File

@@ -1,19 +1,19 @@
# Minimal YAML to run a redis server (used at DockerCon'17)
# connect: nc localhost 6379
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
onboot:
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
# Currently redis:4.0.6-alpine has trust issue with multi-arch

View File

@@ -1,28 +1,30 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: rngd1
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
command: ["/sbin/rngd", "-1"]
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
- name: sshd
image: linuxkit/sshd:4696ba61c3ec091328e1c14857d77e675802342f
image: linuxkit/sshd:75f399fbfb6455dfccd4cb30543d0b4b494d28c8
binds.add:
- /root/.ssh:/root/.ssh
files:
- path: root/.ssh/authorized_keys
source: ~/.ssh/id_rsa.pub

View File

@@ -1,19 +1,19 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
onboot:
- name: ip
image: linuxkit/ip:6cc44dd4e18ddb02de01bc4b34b5799971b6a7bf
image: linuxkit/ip:bb250017b05de5e16ac436b1eb19a39c87b5a252
binds:
- /etc/ip:/etc/ip
command: ["ip", "-b", "/etc/ip/eth0.conf"]
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
files:

View File

@@ -1,31 +1,31 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: format
image: linuxkit/format:7efa07559dd23cb4dbebfd3ab48c50fd33625918
image: linuxkit/format:e040f4f045f03138a1ee8a22bb6feae7fd5596a6
- name: mount
image: linuxkit/mount:422b219bb1c7051096126ac83e6dcc8b2f3f1176
image: linuxkit/mount:19ff89c251a4156bda8ed11c95faad2f40eb770e
command: ["/usr/bin/mountie", "/var/external"]
- name: swap
image: linuxkit/swap:77305236719ed7ab4be0f3bccc179c583fe7f5ff
image: linuxkit/swap:c57f3319ce770515357f0058035e40519c22b752
# to use unencrypted swap, use:
# command: ["/swap.sh", "--path", "/var/external/swap", "--size", "1G"]
command: ["/swap.sh", "--path", "/var/external/swap", "--size", "1G", "--encrypt"]
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd

View File

@@ -1,26 +1,26 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: tss
image: linuxkit/tss:9cfa8c15f2120415aab35efcfdede5b3b5fe5b4c
image: linuxkit/tss:856286012a613598d6ef6869b196f9a72245b7d2
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
files:
- path: etc/getty.shadow
# sample sets password for root to "abcdefgh" (without quotes)

45
examples/volumes.yml Normal file
View File

@@ -0,0 +1,45 @@
# example with volumes, both blank and populated
kernel:
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
onshutdown:
- name: shutdown
image: busybox:latest
command: ["/bin/echo", "so long and thanks for all the fish"]
services:
- name: getty
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:cdb919e4aee49fed0bf6075f0a104037cba83c39
- name: nginx
image: nginx:1.19.5-alpine
capabilities:
- CAP_NET_BIND_SERVICE
- CAP_CHOWN
- CAP_SETUID
- CAP_SETGID
- CAP_DAC_OVERRIDE
binds:
- /etc/resolv.conf:/etc/resolv.conf
- blank:/blank
- alpine:/alpine
volumes:
- name: blank # blank volume
- name: alpine # populated volume
image: alpine:3.19
files:
- path: etc/linuxkit-config
metadata: yaml

View File

@@ -1,13 +1,13 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=ttyS0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
onboot:
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: mount-vpnkit
image: alpine:3.13
@@ -19,9 +19,11 @@ onboot:
command: ["sh", "-c", "mkdir /host_var/vpnkit && mount -v -t 9p -o trans=virtio,dfltuid=1001,dfltgid=50,version=9p2000 port /host_var/vpnkit"]
services:
- name: sshd
image: linuxkit/sshd:4696ba61c3ec091328e1c14857d77e675802342f
image: linuxkit/sshd:75f399fbfb6455dfccd4cb30543d0b4b494d28c8
binds.add:
- /root/.ssh:/root/.ssh
- name: vpnkit-forwarder
image: linuxkit/vpnkit-forwarder:ea4dded7386b09dd647e854664b029be0a4f420f
image: linuxkit/vpnkit-forwarder:a89ec807d7d675dccd53773c07382bc707db3396
binds:
- /var/vpnkit:/port
net: host

View File

@@ -1,17 +1,17 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=ttyS0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
onboot:
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
- name: vsudd
image: linuxkit/vsudd:89980cd551d3174b6d8528f39fbd7fd1ca049161
image: linuxkit/vsudd:b4d80d243733f80906cdbcf77f367a7b5744dc09
binds:
- /run/containerd/containerd.sock:/run/containerd/containerd.sock
command: ["/vsudd",

View File

@@ -1,19 +1,19 @@
kernel:
image: linuxkit/kernel:5.10.104
image: linuxkit/kernel:6.6.13
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:8f1e6a0747acbbb4d7e24dc98f97faa8d1c6cec7
- linuxkit/runc:f01b88c7033180d50ae43562d72707c6881904e4
- linuxkit/containerd:de1b18eed76a266baa3092e5c154c84f595e56da
- linuxkit/ca-certificates:c1c73ef590dffb6a0138cf758fe4a4305c9864f4
- linuxkit/init:e120ea2a30d906bd1ee1874973d6e4b1403b5ca3
- linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
- linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
- linuxkit/ca-certificates:5aaa343474e5ac3ac01f8b917e82efb1063d80ff
onboot:
- name: sysctl
image: linuxkit/sysctl:bdc99eeedc224439ff237990ee06e5b992c8c1ae
image: linuxkit/sysctl:5a374e4bf3e5a7deeacff6571d0f30f7ea8f56db
- name: dhcpcd
image: linuxkit/dhcpcd:52d2c4df0311b182e99241cdc382ff726755c450
image: linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: wg0
image: linuxkit/ip:6cc44dd4e18ddb02de01bc4b34b5799971b6a7bf
image: linuxkit/ip:bb250017b05de5e16ac436b1eb19a39c87b5a252
net: new
binds:
- /etc/wireguard:/etc/wireguard
@@ -26,7 +26,7 @@ onboot:
bindNS:
net: /run/netns/wg0
- name: wg1
image: linuxkit/ip:6cc44dd4e18ddb02de01bc4b34b5799971b6a7bf
image: linuxkit/ip:bb250017b05de5e16ac436b1eb19a39c87b5a252
net: new
binds:
- /etc/wireguard:/etc/wireguard
@@ -40,12 +40,12 @@ onboot:
net: /run/netns/wg1
services:
- name: getty
image: linuxkit/getty:76951a596aa5e0867a38e28f0b94d620e948e3e8
image: linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
env:
- INSECURE=true
net: /run/netns/wg1
- name: rngd
image: linuxkit/rngd:4f85d8de3f6f45973a8c88dc8fba9ec596e5495a
image: linuxkit/rngd:83a6481f04da73e710c1d416355920b8ff4dc1dd
- name: nginx
image: nginx:1.13.8-alpine
net: /run/netns/wg0

5180
kernel/5.10.x/config-aarch64 Normal file

File diff suppressed because it is too large Load Diff

4796
kernel/5.10.x/config-x86_64 Normal file

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More