Merge pull request #13762 from sharifelgamal/iso-arm64

Add support for building aarch64 ISO
pull/14130/head
Sharif Elgamal 2022-05-09 15:58:56 -07:00 committed by GitHub
commit acb03c4470
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
205 changed files with 6147 additions and 120 deletions

9
.gitignore vendored
View File

@ -26,14 +26,19 @@ _testmain.go
*.test
*.prof
/deploy/iso/minikube-iso/board/coreos/minikube/rootfs-overlay/usr/bin/auto-pause
/deploy/iso/minikube-iso/board/minikube/x86_64/rootfs-overlay/usr/bin/auto-pause
/deploy/iso/minikube-iso/board/minikube/aarch64/rootfs-overlay/usr/bin/auto-pause
/deploy/iso/minikube-iso/Config.in
/deploy/kicbase/auto-pause
/deploy/addons/auto-pause/auto-pause-hook
/out
/_gopath
#iso version file
deploy/iso/minikube-iso/board/coreos/minikube/rootfs-overlay/etc/VERSION
deploy/iso/minikube-iso/board/minikube/x86_64/rootfs-overlay/etc/VERSION
deploy/iso/minikube-iso/board/minikube/aarch64/rootfs-overlay/etc/VERSION
deploy/iso/minikube-iso/board/minikube/x86_64/rootfs-overlay/etc/CHANGELOG
deploy/iso/minikube-iso/board/minikube/aarch64/rootfs-overlay/etc/CHANGELOG
/minikube

View File

@ -23,7 +23,7 @@ KUBERNETES_VERSION ?= $(shell egrep "DefaultKubernetesVersion =" pkg/minikube/co
KIC_VERSION ?= $(shell egrep "Version =" pkg/drivers/kic/types.go | cut -d \" -f2)
# Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions
ISO_VERSION ?= v1.25.2-1650391217-13814
ISO_VERSION ?= v1.25.2-1651892774-13762
# Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta
DEB_VERSION ?= $(subst -,~,$(RAW_VERSION))
DEB_REVISION ?= 0
@ -93,7 +93,7 @@ GOOS ?= $(shell go env GOOS)
GOARCH ?= $(shell go env GOARCH)
GOARM ?= 7 # the default is 5
GOPATH ?= $(shell go env GOPATH)
BUILD_DIR ?= ./out
BUILD_DIR ?= $(PWD)/out
$(shell mkdir -p $(BUILD_DIR))
CURRENT_GIT_BRANCH ?= $(shell git branch | grep \* | cut -d ' ' -f2)
@ -282,17 +282,27 @@ out/e2e-%: out/minikube-%
out/e2e-windows-amd64.exe: out/e2e-windows-amd64
cp $< $@
minikube_iso: deploy/iso/minikube-iso/board/coreos/minikube/rootfs-overlay/usr/bin/auto-pause # build minikube iso
echo $(ISO_VERSION) > deploy/iso/minikube-iso/board/coreos/minikube/rootfs-overlay/etc/VERSION
minikube-iso-amd64: minikube-iso-x86_64
minikube-iso-arm64: minikube-iso-aarch64
minikube-iso-%: deploy/iso/minikube-iso/board/minikube/%/rootfs-overlay/usr/bin/auto-pause # build minikube iso
echo $(ISO_VERSION) > deploy/iso/minikube-iso/board/minikube/$*/rootfs-overlay/etc/VERSION
cp deploy/iso/minikube-iso/CHANGELOG deploy/iso/minikube-iso/board/minikube/$*/rootfs-overlay/etc/CHANGELOG
cp deploy/iso/minikube-iso/arch/$*/Config.in.tmpl deploy/iso/minikube-iso/Config.in
if [ ! -d $(BUILD_DIR)/buildroot ]; then \
mkdir -p $(BUILD_DIR); \
git clone --depth=1 --branch=$(BUILDROOT_BRANCH) https://github.com/buildroot/buildroot $(BUILD_DIR)/buildroot; \
cp deploy/iso/minikube-iso/go.hash $(BUILD_DIR)/buildroot/package/go/go.hash; \
fi;
$(MAKE) BR2_EXTERNAL=../../deploy/iso/minikube-iso minikube_defconfig -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS)
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS) host-python
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS)
mv $(BUILD_DIR)/buildroot/output/images/rootfs.iso9660 $(BUILD_DIR)/minikube.iso
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS) O=$(BUILD_DIR)/buildroot/output-$* minikube_$*_defconfig
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS) O=$(BUILD_DIR)/buildroot/output-$* host-python
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS) O=$(BUILD_DIR)/buildroot/output-$*
# x86_64 ISO is still BIOS rather than EFI because of AppArmor issues for KVM, and Gen 2 issues for Hyper-V
if [ "$*" = "aarch64" ]; then \
mv $(BUILD_DIR)/buildroot/output-aarch64/images/boot.iso $(BUILD_DIR)/minikube-arm64.iso; \
else \
mv $(BUILD_DIR)/buildroot/output-x86_64/images/rootfs.iso9660 $(BUILD_DIR)/minikube-amd64.iso; \
fi;
# Change buildroot configuration for the minikube ISO
.PHONY: iso-menuconfig
@ -301,15 +311,14 @@ iso-menuconfig: ## Configure buildroot configuration
$(MAKE) -C $(BUILD_DIR)/buildroot $(BUILDROOT_OPTIONS) savedefconfig
# Change the kernel configuration for the minikube ISO
.PHONY: linux-menuconfig
linux-menuconfig: ## Configure Linux kernel configuration
linux-menuconfig-%: ## Configure Linux kernel configuration
$(MAKE) -C $(BUILD_DIR)/buildroot/output/build/linux-$(KERNEL_VERSION)/ menuconfig
$(MAKE) -C $(BUILD_DIR)/buildroot/output/build/linux-$(KERNEL_VERSION)/ savedefconfig
cp $(BUILD_DIR)/buildroot/output/build/linux-$(KERNEL_VERSION)/defconfig deploy/iso/minikube-iso/board/coreos/minikube/linux_defconfig
cp $(BUILD_DIR)/buildroot/output/build/linux-$(KERNEL_VERSION)/defconfig deploy/iso/minikube-iso/board/minikube/$*/linux_$*_defconfig
out/minikube.iso: $(shell find "deploy/iso/minikube-iso" -type f)
out/minikube-%.iso: $(shell find "deploy/iso/minikube-iso" -type f)
ifeq ($(IN_DOCKER),1)
$(MAKE) minikube_iso
$(MAKE) minikube-iso-$*
else
docker run --rm --workdir /mnt --volume $(CURDIR):/mnt $(ISO_DOCKER_EXTRA_ARGS) \
--user $(shell id -u):$(shell id -g) --env HOME=/tmp --env IN_DOCKER=1 \
@ -321,9 +330,6 @@ iso_in_docker:
--user $(shell id -u):$(shell id -g) --env HOME=/tmp --env IN_DOCKER=1 \
$(ISO_BUILD_IMAGE) /bin/bash
test-iso:
go test -v $(INTEGRATION_TESTS_TO_RUN) --tags=iso --minikube-start-args="--iso-url=file://$(shell pwd)/out/buildroot/output/images/rootfs.iso9660"
.PHONY: test-pkg
test-pkg/%: ## Trigger packaging test
go test -v -test.timeout=60m ./$* --tags="$(MINIKUBE_BUILD_TAGS)"
@ -436,7 +442,7 @@ e2e-cross: e2e-linux-amd64 e2e-linux-arm64 e2e-darwin-amd64 e2e-windows-amd64.ex
.PHONY: checksum
checksum: ## Generate checksums
for f in out/minikube.iso out/minikube-linux-amd64 out/minikube-linux-arm \
for f in out/minikube-amd64.iso out/minikube-arm64.iso out/minikube-linux-amd64 out/minikube-linux-arm \
out/minikube-linux-arm64 out/minikube-linux-ppc64le out/minikube-linux-s390x \
out/minikube-darwin-amd64 out/minikube-darwin-arm64 out/minikube-windows-amd64.exe \
out/docker-machine-driver-kvm2 out/docker-machine-driver-kvm2-amd64 out/docker-machine-driver-kvm2-arm64 \
@ -776,9 +782,11 @@ push-gvisor-addon-image: gvisor-addon-image
$(MAKE) push-docker IMAGE=$(REGISTRY)/gvisor-addon:$(GVISOR_TAG)
.PHONY: release-iso
release-iso: minikube_iso checksum ## Build and release .iso file
gsutil cp out/minikube.iso gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION).iso
gsutil cp out/minikube.iso.sha256 gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION).iso.sha256
release-iso: minikube-iso-aarch64 minikube-iso-x86_64 checksum ## Build and release .iso files
gsutil cp out/minikube-amd64.iso gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION)-amd64.iso
gsutil cp out/minikube-amd64.iso.sha256 gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION)-amd64.iso.sha256
gsutil cp out/minikube-arm64.iso gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION)-arm64.iso
gsutil cp out/minikube-arm64.iso.sha256 gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION)-arm64.iso.sha256
.PHONY: release-minikube
release-minikube: out/minikube checksum ## Minikube release
@ -918,8 +926,9 @@ out/mkcmp:
# auto pause binary to be used for ISO
deploy/iso/minikube-iso/board/coreos/minikube/rootfs-overlay/usr/bin/auto-pause: $(SOURCE_FILES) $(ASSET_FILES)
GOOS=linux GOARCH=$(GOARCH) go build -o $@ cmd/auto-pause/auto-pause.go
deploy/iso/minikube-iso/board/minikube/%/rootfs-overlay/usr/bin/auto-pause: $(SOURCE_FILES) $(ASSET_FILES)
@if [ "$*" != "x86_64" ] && [ "$*" != "aarch64" ]; then echo "Please enter a valid architecture. Choices are x86_64 and aarch64."; exit 1; fi
GOOS=linux GOARCH=$(subst x86_64,amd64,$(subst aarch64,arm64,$*)) go build -o $@ cmd/auto-pause/auto-pause.go
.PHONY: deploy/addons/auto-pause/auto-pause-hook

View File

@ -1 +0,0 @@
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/Config.in"

View File

@ -0,0 +1,2 @@
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/Config.in"

View File

@ -0,0 +1,12 @@
menu "System tools aarch64"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/buildkit-bin-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/runc-master-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/crio-bin-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/crictl-bin-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/docker-bin-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/cri-dockerd-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/cni-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/cni-plugins-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/containerd-bin-aarch64/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/aarch64/package/podman-aarch64/Config.in"
endmenu

View File

@ -0,0 +1,4 @@
config BR2_PACKAGE_BUILDKIT_BIN_AARCH64
bool "buildkit-bin"
default y
depends on BR2_aarch64

View File

@ -0,0 +1 @@
sha256 0a834a749e86525e0eb16e7e80ce726e7c6a8e8d26fc5cc36c712305024da4e7 buildkit-v0.9.0.linux-arm64.tar.gz

View File

@ -0,0 +1,52 @@
################################################################################
#
# buildkit-bin
#
################################################################################
BUILDKIT_BIN_AARCH64_VERSION = v0.9.0
BUILDKIT_BIN_AARCH64_COMMIT = c8bb937807d405d92be91f06ce2629e6202ac7a9
BUILDKIT_BIN_AARCH64_SITE = https://github.com/moby/buildkit/releases/download/$(BUILDKIT_BIN_AARCH64_VERSION)
BUILDKIT_BIN_AARCH64_SOURCE = buildkit-$(BUILDKIT_BIN_AARCH64_VERSION).linux-arm64.tar.gz
# https://github.com/opencontainers/runc.git
BUILDKIT_RUNC_VERSION = 12644e614e25b05da6fd08a38ffa0cfe1903fdec
define BUILDKIT_BIN_AARCH64_USERS
- -1 buildkit -1 - - - - -
endef
define BUILDKIT_BIN_AARCH64_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 \
$(@D)/buildctl \
$(TARGET_DIR)/usr/bin
$(INSTALL) -D -m 0755 \
$(@D)/buildkit-runc \
$(TARGET_DIR)/usr/sbin
$(INSTALL) -D -m 0755 \
$(@D)/buildkit-qemu-* \
$(TARGET_DIR)/usr/sbin
$(INSTALL) -D -m 0755 \
$(@D)/buildkitd \
$(TARGET_DIR)/usr/sbin
$(INSTALL) -D -m 644 \
$(BUILDKIT_BIN_AARCH64_PKGDIR)/buildkit.conf \
$(TARGET_DIR)/usr/lib/tmpfiles.d/buildkit.conf
$(INSTALL) -D -m 644 \
$(BUILDKIT_BIN_AARCH64_PKGDIR)/buildkitd.toml \
$(TARGET_DIR)/etc/buildkit/buildkitd.toml
endef
define BUILDKIT_BIN_AARCH64_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 \
$(BUILDKIT_BIN_AARCH64_PKGDIR)/buildkit.service \
$(TARGET_DIR)/usr/lib/systemd/system/buildkit.service
$(INSTALL) -D -m 644 \
$(BUILDKIT_BIN_AARCH64_PKGDIR)/buildkit.socket \
$(TARGET_DIR)/usr/lib/systemd/system/buildkit.socket
$(INSTALL) -D -m 644 \
$(BUILDKIT_BIN_AARCH64_PKGDIR)/51-buildkit.preset \
$(TARGET_DIR)/usr/lib/systemd/system-preset/51-buildkit.preset
endef
$(eval $(generic-package))

View File

@ -0,0 +1,5 @@
config BR2_PACKAGE_CNI_AARCH64
bool "cni"
default y
depends on BR2_aarch64
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS

View File

@ -0,0 +1,45 @@
################################################################################
#
# cni
#
################################################################################
CNI_AARCH64_VERSION = v0.7.1
CNI_AARCH64_SITE = https://github.com/containernetworking/cni/archive
CNI_AARCH64_SOURCE = $(CNI_AARCH64_VERSION).tar.gz
CNI_AARCH64_LICENSE = Apache-2.0
CNI_AARCH64_LICENSE_FILES = LICENSE
CNI_AARCH64_DEPENDENCIES = host-go
CNI_AARCH64_GOPATH = $(@D)/_output
CNI_AARCH64_MAKE_ENV = \
$(GO_TARGET_ENV) \
CGO_ENABLED=0 \
GO111MODULE=off \
GOPATH="$(CNI_AARCH64_GOPATH)" \
PATH=$(CNI_AARCH64_GOPATH)/bin:$(BR_PATH) \
GOARCH=arm64
CNI_AARCH64_BUILDFLAGS = -a --ldflags '-extldflags \"-static\"'
define CNI_AARCH64_CONFIGURE_CMDS
mkdir -p $(CNI_AARCH64_GOPATH)/src/github.com/containernetworking
ln -sf $(@D) $(CNI_AARCH64_GOPATH)/src/github.com/containernetworking/cni
endef
define CNI_AARCH64_BUILD_CMDS
(cd $(@D); $(CNI_AARCH64_MAKE_ENV) go build -o bin/cnitool $(CNI_AARCH64_BUILDFLAGS) ./cnitool)
endef
define CNI_AARCH64_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 \
$(@D)/bin/cnitool \
$(TARGET_DIR)/opt/cni/bin/cnitool
ln -sf \
../../opt/cni/bin/cnitool \
$(TARGET_DIR)/usr/bin/cnitool
endef
$(eval $(generic-package))

View File

@ -0,0 +1,5 @@
config BR2_PACKAGE_CNI_PLUGINS_AARCH64
bool "cni-plugins"
default y
depends on BR2_aarch64
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS

View File

@ -0,0 +1 @@
sha256 a7881ec37e592c897bdfd2a225b4ed74caa981e3c4cdcf8f45574f8d2f111bce cni-plugins-linux-arm64-v0.8.5.tgz

View File

@ -0,0 +1,120 @@
################################################################################
#
# cni-plugins
#
################################################################################
CNI_PLUGINS_AARCH64_VERSION = v0.8.5
CNI_PLUGINS_AARCH64_SITE = https://github.com/containernetworking/plugins/releases/download/$(CNI_PLUGINS_AARCH64_VERSION)
CNI_PLUGINS_AARCH64_SOURCE = cni-plugins-linux-arm64-$(CNI_PLUGINS_AARCH64_VERSION).tgz
CNI_PLUGINS_AARCH64_LICENSE = Apache-2.0
CNI_PLUGINS_AARCH64_LICENSE_FILES = LICENSE
define CNI_PLUGINS_AARCH64_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 \
$(@D)/bandwidth \
$(TARGET_DIR)/opt/cni/bin/bandwidth
ln -sf \
../../opt/cni/bin/bandwidth \
$(TARGET_DIR)/usr/bin/bandwidth
$(INSTALL) -D -m 0755 \
$(@D)/bridge \
$(TARGET_DIR)/opt/cni/bin/bridge
ln -sf \
../../opt/cni/bin/bridge \
$(TARGET_DIR)/usr/bin/bridge
$(INSTALL) -D -m 0755 \
$(@D)/vlan \
$(TARGET_DIR)/opt/cni/bin/vlan
ln -sf \
../../opt/cni/bin/vlan \
$(TARGET_DIR)/usr/bin/vlan
$(INSTALL) -D -m 0755 \
$(@D)/tuning \
$(TARGET_DIR)/opt/cni/bin/tuning
ln -sf \
../../opt/cni/bin/tuning \
$(TARGET_DIR)/usr/bin/tuning
$(INSTALL) -D -m 0755 \
$(@D)/ptp \
$(TARGET_DIR)/opt/cni/bin/ptp
ln -sf \
../../opt/cni/bin/ptp \
$(TARGET_DIR)/usr/bin/ptp
$(INSTALL) -D -m 0755 \
$(@D)/portmap \
$(TARGET_DIR)/opt/cni/bin/portmap
ln -sf \
../../opt/cni/bin/portmap \
$(TARGET_DIR)/usr/bin/portmap
$(INSTALL) -D -m 0755 \
$(@D)/macvlan \
$(TARGET_DIR)/opt/cni/bin/macvlan
ln -sf \
../../opt/cni/bin/macvlan \
$(TARGET_DIR)/usr/bin/macvlan
$(INSTALL) -D -m 0755 \
$(@D)/loopback \
$(TARGET_DIR)/opt/cni/bin/loopback
ln -sf \
../../opt/cni/bin/loopback \
$(TARGET_DIR)/usr/bin/loopback
$(INSTALL) -D -m 0755 \
$(@D)/ipvlan \
$(TARGET_DIR)/opt/cni/bin/ipvlan
ln -sf \
../../opt/cni/bin/ipvlan \
$(TARGET_DIR)/usr/bin/ipvlan
$(INSTALL) -D -m 0755 \
$(@D)/host-local \
$(TARGET_DIR)/opt/cni/bin/host-local
ln -sf \
../../opt/cni/bin/host-local \
$(TARGET_DIR)/usr/bin/host-local
$(INSTALL) -D -m 0755 \
$(@D)/flannel \
$(TARGET_DIR)/opt/cni/bin/flannel
ln -sf \
../../opt/cni/bin/flannel \
$(TARGET_DIR)/usr/bin/flannel
$(INSTALL) -D -m 0755 \
$(@D)/dhcp \
$(TARGET_DIR)/opt/cni/bin/dhcp
ln -sf \
../../opt/cni/bin/dhcp \
$(TARGET_DIR)/usr/bin/dhcp
$(INSTALL) -D -m 0755 \
$(@D)/firewall \
$(TARGET_DIR)/opt/cni/bin/firewall
ln -sf \
../../opt/cni/bin/firewall \
$(TARGET_DIR)/usr/bin/firewall
endef
$(eval $(generic-package))

View File

@ -0,0 +1,18 @@
config BR2_PACKAGE_CONTAINERD_BIN_AARCH64
bool "containerd-bin"
default y
depends on BR2_aarch64
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # lvm2
depends on !BR2_STATIC_LIBS # lvm2
depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2
select BR2_PACKAGE_RUNC_MASTER
select BR2_PACKAGE_BTRFS_PROGS
select BR2_PACKAGE_LIBSECCOMP
select BR2_PACKAGE_LIBGPGME
select BR2_PACKAGE_LVM2
select BR2_PACKAGE_LVM2_APP_LIBRARY
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_LIBGLIB2

View File

@ -0,0 +1,66 @@
################################################################################
#
# containerd
#
################################################################################
CONTAINERD_BIN_AARCH64_VERSION = v1.5.11
CONTAINERD_BIN_AARCH64_COMMIT = 3df54a852345ae127d1fa3092b95168e4a88e2f8
CONTAINERD_BIN_AARCH64_SITE = https://github.com/containerd/containerd/archive
CONTAINERD_BIN_AARCH64_SOURCE = $(CONTAINERD_BIN_AARCH64_VERSION).tar.gz
CONTAINERD_BIN_AARCH64_DEPENDENCIES = host-go libgpgme
CONTAINERD_BIN_AARCH64_GOPATH = $(@D)/_output
CONTAINERD_BIN_AARCH64_ENV = \
$(GO_TARGET_ENV) \
CGO_ENABLED=1 \
GO111MODULE=off \
GOPATH="$(CONTAINERD_BIN_AARCH64_GOPATH)" \
PATH=$(CONTAINERD_BIN_AARCH64_GOPATH)/bin:$(BR_PATH) \
GOARCH=arm64
CONTAINERD_BIN_AARCH64_COMPILE_SRC = $(CONTAINERD_BIN_AARCH64_GOPATH)/src/github.com/containerd/containerd
define CONTAINERD_BIN_AARCH64_USERS
- -1 containerd-admin -1 - - - - -
- -1 containerd -1 - - - - -
endef
define CONTAINERD_BIN_AARCH64_CONFIGURE_CMDS
mkdir -p $(CONTAINERD_BIN_AARCH64_GOPATH)/src/github.com/containerd
ln -sf $(@D) $(CONTAINERD_BIN_AARCH64_COMPILE_SRC)
endef
define CONTAINERD_BIN_AARCH64_BUILD_CMDS
PWD=$(CONTAINERD_BIN_AARCH64_COMPILE_SRC) $(CONTAINERD_BIN_AARCH64_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) VERSION=$(CONTAINERD_BIN_AARCH64_VERSION) REVISION=$(CONTAINERD_BIN_AARCH64_COMMIT) -C $(@D) binaries
endef
define CONTAINERD_BIN_AARCH64_INSTALL_TARGET_CMDS
$(INSTALL) -Dm755 \
$(@D)/bin/containerd \
$(TARGET_DIR)/usr/bin
$(INSTALL) -Dm755 \
$(@D)/bin/containerd-shim \
$(TARGET_DIR)/usr/bin
$(INSTALL) -Dm755 \
$(@D)/bin/containerd-shim-runc-v1 \
$(TARGET_DIR)/usr/bin
$(INSTALL) -Dm755 \
$(@D)/bin/containerd-shim-runc-v2 \
$(TARGET_DIR)/usr/bin
$(INSTALL) -Dm755 \
$(@D)/bin/ctr \
$(TARGET_DIR)/usr/bin
$(INSTALL) -Dm644 \
$(CONTAINERD_BIN_AARCH64_PKGDIR)/config.toml \
$(TARGET_DIR)/etc/containerd/config.toml
endef
define CONTAINERD_BIN_AARCH64_INSTALL_INIT_SYSTEMD
$(INSTALL) -Dm644 \
$(CONTAINERD_BIN_AARCH64_PKGDIR)/containerd.service \
$(TARGET_DIR)/usr/lib/systemd/system/containerd.service
$(INSTALL) -Dm644 \
$(CONTAINERD_BIN_AARCH64_PKGDIR)/50-minikube.preset \
$(TARGET_DIR)/usr/lib/systemd/system-preset/50-minikube.preset
endef
$(eval $(generic-package))

View File

@ -0,0 +1,8 @@
config BR2_PACKAGE_CRI_DOCKERD_AARCH64
bool "cri-dockerd"
default y
depends on BR2_aarch64
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_DOCKER_BIN

View File

@ -0,0 +1,49 @@
################################################################################
#
# cri-dockerd
#
################################################################################
# As of 2022-02-03
CRI_DOCKERD_AARCH64_VER = 0.2.0
CRI_DOCKERD_AARCH64_REV = a4d1895
CRI_DOCKERD_AARCH64_VERSION = a4d1895a2659ea9974bd7528a706592ab8b74181
CRI_DOCKERD_AARCH64_SITE = https://github.com/Mirantis/cri-dockerd/archive
CRI_DOCKERD_AARCH64_SOURCE = $(CRI_DOCKERD_AARCH64_VERSION).tar.gz
CRI_DOCKERD_AARCH64_DEPENDENCIES = host-go
CRI_DOCKERD_AARCH64_GOPATH = $(@D)/_output
CRI_DOCKERD_AARCH64_ENV = \
$(GO_TARGET_ENV) \
CGO_ENABLED=0 \
GO111MODULE=on \
GOPATH="$(CRI_DOCKERD_AARCH64_GOPATH)" \
PATH=$(CRI_DOCKERD_AARCH64_GOPATH)/bin:$(BR_PATH) \
GOARCH=arm64
CRI_DOCKERD_AARCH64_COMPILE_SRC = $(CRI_DOCKERD_AARCH64_GOPATH)/src/github.com/Mirantis/cri-dockerd
CRI_DOCKERD_AARCH64_BUILDFLAGS = "-ldflags '-X github.com/Mirantis/cri-dockerd/version.Version=$(CRI_DOCKERD_AARCH64_VER) -X github.com/Mirantis/cri-dockerd/version.GitCommit=$(CRI_DOCKERD_AARCH64_REV)'"
# If https://github.com/Mirantis/cri-dockerd/blob/master/packaging/Makefile changes, then this will almost certainly need to change
# This uses the static make target at the top level Makefile, since that builds everything, then picks out the arm64 binary
define CRI_DOCKERD_AARCH64_BUILD_CMDS
$(CRI_DOCKERD_AARCH64_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) LDFLAGS=$(CRI_DOCKERD_AARCH64_BUILDFLAGS) GO_VERSION=$(GO_VERSION) -C $(@D) VERSION=$(CRI_DOCKERD_AARCH64_VER) REVISION=$(CRI_DOCKERD_AARCH64_REV) static
endef
define CRI_DOCKERD_AARCH64_INSTALL_TARGET_CMDS
$(INSTALL) -Dm755 \
$(@D)/packaging/static/build/arm/cri-dockerd/cri-dockerd \
$(TARGET_DIR)/usr/bin/cri-dockerd
endef
define CRI_DOCKERD_AARCH64_INSTALL_INIT_SYSTEMD
$(INSTALL) -Dm644 \
$(@D)/packaging/systemd/cri-docker.service \
$(TARGET_DIR)/usr/lib/systemd/system/cri-docker.service
$(INSTALL) -Dm644 \
$(@D)/packaging/systemd/cri-docker.socket \
$(TARGET_DIR)/usr/lib/systemd/system/cri-docker.socket
endef
$(eval $(generic-package))

View File

@ -0,0 +1,4 @@
config BR2_PACKAGE_CRICTL_BIN_AARCH64
bool "crictl-bin"
default y
depends on BR2_aarch64

View File

@ -0,0 +1 @@
sha256 454eecd29fe636282339af5b73c60234a7d10e4b11b9e18937e33056763d72cf crictl-v1.21.0-linux-arm64.tar.gz

View File

@ -0,0 +1,18 @@
################################################################################
#
# crictl-bin
#
################################################################################
CRICTL_BIN_AARCH64_VERSION = v1.21.0
CRICTL_BIN_AARCH64_SITE = https://github.com/kubernetes-sigs/cri-tools/releases/download/$(CRICTL_BIN_AARCH64_VERSION)
CRICTL_BIN_AARCH64_SOURCE = crictl-$(CRICTL_BIN_AARCH64_VERSION)-linux-arm64.tar.gz
CRICTL_BIN_AARCH64_STRIP_COMPONENTS = 0
define CRICTL_BIN_AARCH64_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 \
$(@D)/crictl \
$(TARGET_DIR)/usr/bin/crictl
endef
$(eval $(generic-package))

View File

@ -0,0 +1,20 @@
config BR2_PACKAGE_CRIO_BIN_AARCH64
bool "crio-bin"
default y
depends on BR2_aarch64
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # lvm2
depends on !BR2_STATIC_LIBS # lvm2
depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2
select BR2_PACKAGE_RUNC_MASTER
select BR2_PACKAGE_CRUN
select BR2_PACKAGE_CONMON
select BR2_PACKAGE_BTRFS_PROGS
select BR2_PACKAGE_LIBSECCOMP
select BR2_PACKAGE_LIBGPGME
select BR2_PACKAGE_LVM2
select BR2_PACKAGE_LVM2_APP_LIBRARY
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_LIBGLIB2

View File

@ -0,0 +1,79 @@
################################################################################
#
# cri-o
#
################################################################################
CRIO_BIN_AARCH64_VERSION = v1.22.3
CRIO_BIN_AARCH64_COMMIT = d93b2dfb8d0f2ad0f8b9061d941e3b216baa5814
CRIO_BIN_AARCH64_SITE = https://github.com/cri-o/cri-o/archive
CRIO_BIN_AARCH64_SOURCE = $(CRIO_BIN_AARCH64_VERSION).tar.gz
CRIO_BIN_AARCH64_DEPENDENCIES = host-go libgpgme
CRIO_BIN_AARCH64_GOPATH = $(@D)/_output
CRIO_BIN_AARCH64_ENV = \
$(GO_TARGET_ENV) \
CGO_ENABLED=1 \
GO111MODULE=off \
GOPATH="$(CRIO_BIN_AARCH64_GOPATH)" \
PATH=$(CRIO_BIN_AARCH64_GOPATH)/bin:$(BR_PATH) \
GOARCH=arm64
define CRIO_BIN_AARCH64_USERS
- -1 crio-admin -1 - - - - -
- -1 crio -1 - - - - -
endef
define CRIO_BIN_AARCH64_CONFIGURE_CMDS
mkdir -p $(CRIO_BIN_AARCH64_GOPATH)/src/github.com/cri-o
ln -sf $(@D) $(CRIO_BIN_AARCH64_GOPATH)/src/github.com/cri-o/cri-o
# disable the "automatic" go module detection
sed -e 's/go help mod/false/' -i $(@D)/Makefile
endef
define CRIO_BIN_AARCH64_BUILD_CMDS
mkdir -p $(@D)/bin
$(CRIO_BIN_AARCH64_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) COMMIT_NO=$(CRIO_BIN_AARCH64_COMMIT) PREFIX=/usr binaries
endef
define CRIO_BIN_AARCH64_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/usr/share/containers/oci/hooks.d
mkdir -p $(TARGET_DIR)/etc/containers/oci/hooks.d
mkdir -p $(TARGET_DIR)/etc/crio/crio.conf.d
$(INSTALL) -Dm755 \
$(@D)/bin/crio \
$(TARGET_DIR)/usr/bin/crio
$(INSTALL) -Dm755 \
$(@D)/bin/pinns \
$(TARGET_DIR)/usr/bin/pinns
$(INSTALL) -Dm644 \
$(CRIO_BIN_AARCH64_PKGDIR)/crio.conf \
$(TARGET_DIR)/etc/crio/crio.conf
$(INSTALL) -Dm644 \
$(CRIO_BIN_AARCH64_PKGDIR)/policy.json \
$(TARGET_DIR)/etc/containers/policy.json
$(INSTALL) -Dm644 \
$(CRIO_BIN_AARCH64_PKGDIR)/registries.conf \
$(TARGET_DIR)/etc/containers/registries.conf
$(INSTALL) -Dm644 \
$(CRIO_BIN_AARCH64_PKGDIR)/02-crio.conf \
$(TARGET_DIR)/etc/crio/crio.conf.d/02-crio.conf
mkdir -p $(TARGET_DIR)/etc/sysconfig
echo 'CRIO_OPTIONS="--log-level=debug"' > $(TARGET_DIR)/etc/sysconfig/crio
endef
define CRIO_BIN_AARCH64_INSTALL_INIT_SYSTEMD
$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) install.systemd DESTDIR=$(TARGET_DIR) PREFIX=$(TARGET_DIR)/usr
$(INSTALL) -Dm644 \
$(CRIO_BIN_AARCH64_PKGDIR)/crio.service \
$(TARGET_DIR)/usr/lib/systemd/system/crio.service
$(INSTALL) -Dm644 \
$(CRIO_BIN_AARCH64_PKGDIR)/crio-wipe.service \
$(TARGET_DIR)/usr/lib/systemd/system/crio-wipe.service
$(call link-service,crio.service)
$(call link-service,crio-shutdown.service)
endef
$(eval $(generic-package))

View File

@ -0,0 +1,4 @@
config BR2_PACKAGE_DOCKER_BIN_AARCH64
bool "docker-bin"
default y
depends on BR2_aarch64

View File

@ -0,0 +1 @@
sha256 ea971edc1179088bfd25edd04a0c12848143d15cb8202ebb93a6a08973464fd0 docker-20.10.14.tgz

View File

@ -0,0 +1,55 @@
################################################################################
#
# docker-bin
#
################################################################################
DOCKER_BIN_AARCH64_VERSION = 20.10.14
DOCKER_BIN_AARCH64_SITE = https://download.docker.com/linux/static/stable/aarch64
DOCKER_BIN_AARCH64_SOURCE = docker-$(DOCKER_BIN_AARCH64_VERSION).tgz
define DOCKER_BIN_AARCH64_USERS
- -1 docker -1 - - - - -
endef
define DOCKER_BIN_AARCH64_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 \
$(@D)/docker \
$(TARGET_DIR)/bin/docker
# As of 2019-05, we use upstream containerd so that we may update it independently of docker.
# As of 2019-01, we use upstream runc so that we may update it independently of docker.
# As of 2019-05, we use upstream ctr so that we may update it independently of docker.
$(INSTALL) -D -m 0755 \
$(@D)/dockerd \
$(TARGET_DIR)/bin/dockerd
$(INSTALL) -D -m 0755 \
$(@D)/docker-init \
$(TARGET_DIR)/bin/docker-init
$(INSTALL) -D -m 0755 \
$(@D)/docker-proxy \
$(TARGET_DIR)/bin/docker-proxy
# https://kubernetes.io/docs/setup/production-environment/container-runtimes/#docker
$(INSTALL) -Dm644 \
$(DOCKER_BIN_AARCH64_PKGDIR)/daemon.json \
$(TARGET_DIR)/etc/docker/daemon.json
endef
define DOCKER_BIN_AARCH64_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 \
$(DOCKER_BIN_AARCH64_PKGDIR)/docker.socket \
$(TARGET_DIR)/usr/lib/systemd/system/docker.socket
$(INSTALL) -D -m 644 \
$(DOCKER_BIN_AARCH64_PKGDIR)/forward.conf \
$(TARGET_DIR)/etc/sysctl.d/forward.conf
endef
$(eval $(generic-package))

View File

@ -0,0 +1,12 @@
config BR2_PACKAGE_PODMAN_AARCH64
bool "podman"
default y
depends on BR2_aarch64
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_RUNC_MASTER
select BR2_PACKAGE_CRUN
select BR2_PACKAGE_CONMON
select BR2_PACKAGE_LIBSECCOMP
select BR2_PACKAGE_LIBGPGME

View File

@ -0,0 +1,71 @@
PODMAN_AARCH64_VERSION = v3.4.2
PODMAN_AARCH64_COMMIT = 2ad1fd3555de12de34e20898cc2ef901f08fe5ed
PODMAN_AARCH64_SITE = https://github.com/containers/podman/archive
PODMAN_AARCH64_SOURCE = $(PODMAN_AARCH64_VERSION).tar.gz
PODMAN_AARCH64_LICENSE = Apache-2.0
PODMAN_AARCH64_LICENSE_FILES = LICENSE
PODMAN_AARCH64_DEPENDENCIES = host-go
ifeq ($(BR2_INIT_SYSTEMD),y)
# need libsystemd for journal
PODMAN_AARCH64_DEPENDENCIES += systemd
endif
PODMAN_AARCH64_GOPATH = $(@D)/_output
PODMAN_AARCH64_BIN_ENV = \
$(GO_TARGET_ENV) \
CGO_ENABLED=1 \
GOPATH="$(PODMAN_AARCH64_GOPATH)" \
PATH=$(PODMAN_AARCH64_GOPATH)/bin:$(BR_PATH) \
GOARCH=arm64
define PODMAN_AARCH64_USERS
- -1 podman -1 - - - - -
endef
define PODMAN_AARCH64_MOD_VENDOR_MAKEFILE
# "build flag -mod=vendor only valid when using modules"
sed -e 's|-mod=vendor ||' -i $(@D)/Makefile
endef
PODMAN_AARCH64_POST_EXTRACT_HOOKS += PODMAN_AARCH64_MOD_VENDOR_MAKEFILE
define PODMAN_AARCH64_CONFIGURE_CMDS
mkdir -p $(PODMAN_AARCH64_GOPATH) && mv $(@D)/vendor $(PODMAN_AARCH64_GOPATH)/src
mkdir -p $(PODMAN_AARCH64_GOPATH)/src/github.com/containers
ln -sf $(@D) $(PODMAN_AARCH64_GOPATH)/src/github.com/containers/podman
ln -sf $(@D) $(PODMAN_AARCH64_GOPATH)/src/github.com/containers/podman/v2
endef
define PODMAN_AARCH64_BUILD_CMDS
mkdir -p $(@D)/bin
$(PODMAN_AARCH64_BIN_ENV) CIRRUS_TAG=$(PODMAN_AARCH64_VERSION) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) GIT_COMMIT=$(PODMAN_AARCH64_COMMIT) PREFIX=/usr podman
endef
define PODMAN_AARCH64_INSTALL_TARGET_CMDS
$(INSTALL) -Dm755 $(@D)/bin/podman $(TARGET_DIR)/usr/bin/podman
$(INSTALL) -d -m 755 $(TARGET_DIR)/etc/cni/net.d/
$(INSTALL) -m 644 $(@D)/cni/87-podman-bridge.conflist $(TARGET_DIR)/etc/cni/net.d/87-podman-bridge.conflist
endef
define PODMAN_AARCH64_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 \
$(@D)/contrib/systemd/system/podman.service \
$(TARGET_DIR)/usr/lib/systemd/system/podman.service
$(INSTALL) -D -m 644 \
$(@D)/contrib/systemd/system/podman.socket \
$(TARGET_DIR)/usr/lib/systemd/system/podman.socket
# Allow running podman-remote as a user in the group "podman"
$(INSTALL) -D -m 644 \
$(PODMAN_AARCH64_PKGDIR)/override.conf \
$(TARGET_DIR)/usr/lib/systemd/system/podman.socket.d/override.conf
$(INSTALL) -D -m 644 \
$(PODMAN_AARCH64_PKGDIR)/podman.conf \
$(TARGET_DIR)/usr/lib/tmpfiles.d/podman.conf
endef
$(eval $(generic-package))

View File

@ -1,5 +1,6 @@
config BR2_PACKAGE_RUNC_MASTER
config BR2_PACKAGE_RUNC_MASTER_AARCH64
bool "runc-master"
default y
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS

View File

@ -0,0 +1,45 @@
################################################################################
#
# runc
#
################################################################################
# As of 2021-12-03, v1.0.3
RUNC_MASTER_AARCH64_VERSION = f46b6ba2c9314cfc8caae24a32ec5fe9ef1059fe
RUNC_MASTER_AARCH64_SITE = https://github.com/opencontainers/runc/archive
RUNC_MASTER_AARCH64_SOURCE = $(RUNC_MASTER_AARCH64_VERSION).tar.gz
RUNC_MASTER_AARCH64_LICENSE = Apache-2.0
RUNC_MASTER_AARCH64_LICENSE_FILES = LICENSE
RUNC_MASTER_AARCH64_DEPENDENCIES = host-go
RUNC_MASTER_AARCH64_GOPATH = $(@D)/_output
RUNC_MASTER_AARCH64_MAKE_ENV = \
$(GO_TARGET_ENV) \
CGO_ENABLED=1 \
GO111MODULE=off \
GOPATH="$(RUNC_MASTER_AARCH64_GOPATH)" \
PATH=$(RUNC_MASTER_AARCH64_GOPATH)/bin:$(BR_PATH) \
GOARCH=arm64
RUNC_MASTER_AARCH64_COMPILE_SRC = $(RUNC_MASTER_AARCH64_GOPATH)/src/github.com/opencontainers/runc
ifeq ($(BR2_PACKAGE_LIBSECCOMP),y)
RUNC_MASTER_AARCH64_GOTAGS += seccomp
RUNC_MASTER_AARCH64_DEPENDENCIES += libseccomp host-pkgconf
endif
define RUNC_MASTER_AARCH64_CONFIGURE_CMDS
mkdir -p $(RUNC_MASTER_AARCH64_GOPATH)/src/github.com/opencontainers
ln -s $(@D) $(RUNC_MASTER_AARCH64_GOPATH)/src/github.com/opencontainers/runc
endef
define RUNC_MASTER_AARCH64_BUILD_CMDS
PWD=$(RUNC_MASTER_AARCH64_COMPILE_SRC) $(RUNC_MASTER_AARCH64_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) BUILDTAGS="$(RUNC_MASTER_AARCH64_GOTAGS)" COMMIT_NO=$(RUNC_MASTER_AARCH64_VERSION) COMMIT=$(RUNC_MASTER_AARCH64_VERSION) PREFIX=/usr
endef
define RUNC_MASTER_AARCH64_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/runc $(TARGET_DIR)/usr/bin/runc
endef
$(eval $(generic-package))

View File

@ -0,0 +1,2 @@
source "$BR2_EXTERNAL_MINIKUBE_PATH/package/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/Config.in"

View File

@ -0,0 +1,15 @@
menu "System tools x86_64"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/conmon/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/buildkit-bin/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/runc-master/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/crio-bin/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/crictl-bin/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/docker-bin/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/cri-dockerd/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/cni/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/cni-plugins/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/containerd-bin/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/podman/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/vbox-guest/Config.in"
source "$BR2_EXTERNAL_MINIKUBE_PATH/arch/x86_64/package/hyperv-daemons/Config.in"
endmenu

View File

@ -0,0 +1 @@
disable buildkit.service

View File

@ -0,0 +1 @@
d /run/buildkit 0770 root buildkit

View File

@ -0,0 +1,11 @@
[Unit]
Description=BuildKit
Requires=buildkit.socket
After=buildkit.socket
Documentation=https://github.com/moby/buildkit
[Service]
ExecStart=/usr/sbin/buildkitd --addr fd://
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,12 @@
[Unit]
Description=BuildKit
Documentation=https://github.com/moby/buildkit
[Socket]
ListenStream=%t/buildkit/buildkitd.sock
SocketMode=0660
SocketUser=root
SocketGroup=buildkit
[Install]
WantedBy=sockets.target

View File

@ -0,0 +1,5 @@
[worker.oci]
enabled = false
[worker.containerd]
enabled = true
namespace = "k8s.io"

View File

@ -2,3 +2,4 @@ sha256 f04339a21b8edf76d415e7f17b620e63b8f37a76b2f706671587ab6464411f2d cni-plu
sha256 8589670f7f9b211a351dfcd211d4fe0b961d77283a7415443dc188f3dbf05668 v0.6.0.tar.gz
sha256 92c7599918be0a720ac020f137cdeac746dfa03da6b26e08a37132c5728c091f v0.7.5.tar.gz
sha256 9d1526ed965ac6562fd95a931ab2346b3c5efd58c2f569038ba3c530f7e66472 v0.8.5.tar.gz
sha256 bd682ffcf701e8f83283cdff7281aad0c83b02a56084d6e601216210732833f9 cni-plugins-linux-amd64-v0.8.5.tgz

View File

@ -5,28 +5,14 @@
################################################################################
CNI_PLUGINS_VERSION = v0.8.5
CNI_PLUGINS_SITE = https://github.com/containernetworking/plugins/archive
CNI_PLUGINS_SOURCE = $(CNI_PLUGINS_VERSION).tar.gz
CNI_PLUGINS_SITE = https://github.com/containernetworking/plugins/releases/download/$(CNI_PLUGINS_VERSION)
CNI_PLUGINS_SOURCE = cni-plugins-linux-amd64-$(CNI_PLUGINS_VERSION).tgz
CNI_PLUGINS_LICENSE = Apache-2.0
CNI_PLUGINS_LICENSE_FILES = LICENSE
CNI_PLUGINS_DEPENDENCIES = host-go
CNI_PLUGINS_MAKE_ENV = \
$(GO_TARGET_ENV) \
CGO_ENABLED=0 \
GO111MODULE=off
CNI_PLUGINS_BUILDFLAGS = -a -ldflags '-extldflags -static -X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=$(CNI_PLUGINS_VERSION)'
define CNI_PLUGINS_BUILD_CMDS
(cd $(@D); $(CNI_PLUGINS_MAKE_ENV) ./build_linux.sh $(CNI_PLUGINS_BUILDFLAGS))
endef
define CNI_PLUGINS_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 \
$(@D)/bin/bandwidth \
$(@D)/bandwidth \
$(TARGET_DIR)/opt/cni/bin/bandwidth
ln -sf \
@ -34,7 +20,7 @@ define CNI_PLUGINS_INSTALL_TARGET_CMDS
$(TARGET_DIR)/usr/bin/bandwidth
$(INSTALL) -D -m 0755 \
$(@D)/bin/bridge \
$(@D)/bridge \
$(TARGET_DIR)/opt/cni/bin/bridge
ln -sf \
@ -42,7 +28,7 @@ define CNI_PLUGINS_INSTALL_TARGET_CMDS
$(TARGET_DIR)/usr/bin/bridge
$(INSTALL) -D -m 0755 \
$(@D)/bin/vlan \
$(@D)/vlan \
$(TARGET_DIR)/opt/cni/bin/vlan
ln -sf \
@ -50,7 +36,7 @@ define CNI_PLUGINS_INSTALL_TARGET_CMDS
$(TARGET_DIR)/usr/bin/vlan
$(INSTALL) -D -m 0755 \
$(@D)/bin/tuning \
$(@D)/tuning \
$(TARGET_DIR)/opt/cni/bin/tuning
ln -sf \
@ -58,7 +44,7 @@ define CNI_PLUGINS_INSTALL_TARGET_CMDS
$(TARGET_DIR)/usr/bin/tuning
$(INSTALL) -D -m 0755 \
$(@D)/bin/ptp \
$(@D)/ptp \
$(TARGET_DIR)/opt/cni/bin/ptp
ln -sf \
@ -66,7 +52,7 @@ define CNI_PLUGINS_INSTALL_TARGET_CMDS
$(TARGET_DIR)/usr/bin/ptp
$(INSTALL) -D -m 0755 \
$(@D)/bin/portmap \
$(@D)/portmap \
$(TARGET_DIR)/opt/cni/bin/portmap
ln -sf \
@ -74,7 +60,7 @@ define CNI_PLUGINS_INSTALL_TARGET_CMDS
$(TARGET_DIR)/usr/bin/portmap
$(INSTALL) -D -m 0755 \
$(@D)/bin/macvlan \
$(@D)/macvlan \
$(TARGET_DIR)/opt/cni/bin/macvlan
ln -sf \
@ -82,7 +68,7 @@ define CNI_PLUGINS_INSTALL_TARGET_CMDS
$(TARGET_DIR)/usr/bin/macvlan
$(INSTALL) -D -m 0755 \
$(@D)/bin/loopback \
$(@D)/loopback \
$(TARGET_DIR)/opt/cni/bin/loopback
ln -sf \
@ -90,7 +76,7 @@ define CNI_PLUGINS_INSTALL_TARGET_CMDS
$(TARGET_DIR)/usr/bin/loopback
$(INSTALL) -D -m 0755 \
$(@D)/bin/ipvlan \
$(@D)/ipvlan \
$(TARGET_DIR)/opt/cni/bin/ipvlan
ln -sf \
@ -98,7 +84,7 @@ define CNI_PLUGINS_INSTALL_TARGET_CMDS
$(TARGET_DIR)/usr/bin/ipvlan
$(INSTALL) -D -m 0755 \
$(@D)/bin/host-local \
$(@D)/host-local \
$(TARGET_DIR)/opt/cni/bin/host-local
ln -sf \
@ -106,7 +92,7 @@ define CNI_PLUGINS_INSTALL_TARGET_CMDS
$(TARGET_DIR)/usr/bin/host-local
$(INSTALL) -D -m 0755 \
$(@D)/bin/flannel \
$(@D)/flannel \
$(TARGET_DIR)/opt/cni/bin/flannel
ln -sf \
@ -115,7 +101,7 @@ define CNI_PLUGINS_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 \
$(@D)/bin/dhcp \
$(@D)/dhcp \
$(TARGET_DIR)/opt/cni/bin/dhcp
ln -sf \
@ -123,7 +109,7 @@ define CNI_PLUGINS_INSTALL_TARGET_CMDS
$(TARGET_DIR)/usr/bin/dhcp
$(INSTALL) -D -m 0755 \
$(@D)/bin/firewall \
$(@D)/firewall \
$(TARGET_DIR)/opt/cni/bin/firewall
ln -sf \

View File

@ -0,0 +1,6 @@
sha256 b1ae09833a238c51161918a8849031efdb46cf0068ea5b752e362d9836e2af7d cni-v0.3.0.tgz
sha256 84c9a0a41b59211d560bef14bf3f53bb370156f9ac7762270b3848fed96e1be8 cni-v0.4.0.tgz
sha256 a7f84a742c8f3a95843b3cc636444742554a4853835649ec371a07c841daebab cni-amd64-v0.6.0.tgz
sha256 802f4a002b4eb774624a9dc1c859d3c9926eb2d862e66a673fc99cfc8bcd7494 v0.6.0.tar.gz
sha256 78d57477d6b0ab9dc4d75ce9f275302d2f379206b5326503e57d9c08b76484c1 v0.7.0.tar.gz
sha256 4517eabfd65aea2012dc48d057bf889a0a41ed9837387d95cd1e36c0dbddcfd4 v0.7.1.tar.gz

View File

@ -19,7 +19,8 @@ CNI_MAKE_ENV = \
GO111MODULE=off \
GOPATH="$(CNI_GOPATH)" \
GOBIN="$(CNI_GOPATH)/bin" \
PATH=$(CNI_GOPATH)/bin:$(BR_PATH)
PATH=$(CNI_GOPATH)/bin:$(BR_PATH) \
GOARCH=amd64
CNI_BUILDFLAGS = -a --ldflags '-extldflags \"-static\"'

View File

@ -1,5 +1,6 @@
config BR2_PACKAGE_CONMON
bool "conmon"
depends on BR2_x86_64
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS

View File

@ -0,0 +1 @@
disable containerd.service

View File

@ -0,0 +1,133 @@
version = 2
root = "/var/lib/containerd"
state = "/run/containerd"
plugin_dir = ""
disabled_plugins = []
required_plugins = []
oom_score = 0
[grpc]
address = "/run/containerd/containerd.sock"
tcp_address = ""
tcp_tls_cert = ""
tcp_tls_key = ""
uid = 0
gid = 0
max_recv_message_size = 16777216
max_send_message_size = 16777216
[ttrpc]
address = ""
uid = 0
gid = 0
[debug]
address = ""
uid = 0
gid = 0
level = ""
[metrics]
address = ""
grpc_histogram = false
[cgroup]
path = ""
[timeouts]
"io.containerd.timeout.shim.cleanup" = "5s"
"io.containerd.timeout.shim.load" = "5s"
"io.containerd.timeout.shim.shutdown" = "3s"
"io.containerd.timeout.task.state" = "2s"
[plugins]
[plugins."io.containerd.gc.v1.scheduler"]
pause_threshold = 0.02
deletion_threshold = 0
mutation_threshold = 100
schedule_delay = "0s"
startup_delay = "100ms"
[plugins."io.containerd.grpc.v1.cri"]
disable_tcp_service = true
stream_server_address = ""
stream_server_port = "10010"
stream_idle_timeout = "4h0m0s"
enable_selinux = false
selinux_category_range = 1024
sandbox_image = "k8s.gcr.io/pause:3.2"
stats_collect_period = 10
systemd_cgroup = true
enable_tls_streaming = false
max_container_log_line_size = 16384
disable_cgroup = false
disable_apparmor = false
restrict_oom_score_adj = false
max_concurrent_downloads = 3
disable_proc_mount = false
unset_seccomp_profile = ""
tolerate_missing_hugetlb_controller = true
disable_hugetlb_controller = true
ignore_image_defined_volumes = false
[plugins."io.containerd.grpc.v1.cri".containerd]
snapshotter = "overlayfs"
default_runtime_name = "runc"
no_pivot = false
disable_snapshot_annotations = true
discard_unpacked_layers = false
[plugins."io.containerd.grpc.v1.cri".containerd.default_runtime]
runtime_type = ""
runtime_engine = ""
runtime_root = ""
privileged_without_host_devices = false
base_runtime_spec = ""
[plugins."io.containerd.grpc.v1.cri".containerd.untrusted_workload_runtime]
runtime_type = ""
runtime_engine = ""
runtime_root = ""
privileged_without_host_devices = false
base_runtime_spec = ""
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
runtime_type = "io.containerd.runc.v2"
runtime_engine = ""
runtime_root = ""
privileged_without_host_devices = false
base_runtime_spec = ""
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
[plugins."io.containerd.grpc.v1.cri".cni]
bin_dir = "/opt/cni/bin"
conf_dir = "/etc/cni/net.d"
max_conf_num = 1
conf_template = ""
[plugins."io.containerd.grpc.v1.cri".registry]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://registry-1.docker.io"]
[plugins."io.containerd.grpc.v1.cri".image_decryption]
key_model = ""
[plugins."io.containerd.grpc.v1.cri".x509_key_pair_streaming]
tls_cert_file = ""
tls_key_file = ""
[plugins."io.containerd.internal.v1.opt"]
path = "/opt/containerd"
[plugins."io.containerd.internal.v1.restart"]
interval = "10s"
[plugins."io.containerd.metadata.v1.bolt"]
content_sharing_policy = "shared"
[plugins."io.containerd.monitor.v1.cgroups"]
no_prometheus = false
[plugins."io.containerd.runtime.v1.linux"]
shim = "containerd-shim"
runtime = "runc"
runtime_root = ""
no_shim = false
shim_debug = false
[plugins."io.containerd.runtime.v2.task"]
platforms = ["linux/amd64"]
[plugins."io.containerd.service.v1.diff-service"]
default = ["walking"]
[plugins."io.containerd.snapshotter.v1.devmapper"]
root_path = ""
pool_name = ""
base_image_size = ""
async_remove = false

View File

@ -0,0 +1,133 @@
version = 2
root = "/var/lib/containerd"
state = "/run/containerd"
plugin_dir = ""
disabled_plugins = []
required_plugins = []
oom_score = 0
[grpc]
address = "/run/containerd/containerd.sock"
tcp_address = ""
tcp_tls_cert = ""
tcp_tls_key = ""
uid = 0
gid = 0
max_recv_message_size = 16777216
max_send_message_size = 16777216
[ttrpc]
address = ""
uid = 0
gid = 0
[debug]
address = ""
uid = 0
gid = 0
level = ""
[metrics]
address = ""
grpc_histogram = false
[cgroup]
path = ""
[timeouts]
"io.containerd.timeout.shim.cleanup" = "5s"
"io.containerd.timeout.shim.load" = "5s"
"io.containerd.timeout.shim.shutdown" = "3s"
"io.containerd.timeout.task.state" = "2s"
[plugins]
[plugins."io.containerd.gc.v1.scheduler"]
pause_threshold = 0.02
deletion_threshold = 0
mutation_threshold = 100
schedule_delay = "0s"
startup_delay = "100ms"
[plugins."io.containerd.grpc.v1.cri"]
disable_tcp_service = true
stream_server_address = "127.0.0.1"
stream_server_port = "0"
stream_idle_timeout = "4h0m0s"
enable_selinux = false
selinux_category_range = 1024
sandbox_image = "k8s.gcr.io/pause:3.2"
stats_collect_period = 10
systemd_cgroup = false
enable_tls_streaming = false
max_container_log_line_size = 16384
disable_cgroup = false
disable_apparmor = false
restrict_oom_score_adj = false
max_concurrent_downloads = 3
disable_proc_mount = false
unset_seccomp_profile = ""
tolerate_missing_hugetlb_controller = true
disable_hugetlb_controller = true
ignore_image_defined_volumes = false
[plugins."io.containerd.grpc.v1.cri".containerd]
snapshotter = "overlayfs"
default_runtime_name = "runc"
no_pivot = false
disable_snapshot_annotations = true
discard_unpacked_layers = false
[plugins."io.containerd.grpc.v1.cri".containerd.default_runtime]
runtime_type = ""
runtime_engine = ""
runtime_root = ""
privileged_without_host_devices = false
base_runtime_spec = ""
[plugins."io.containerd.grpc.v1.cri".containerd.untrusted_workload_runtime]
runtime_type = ""
runtime_engine = ""
runtime_root = ""
privileged_without_host_devices = false
base_runtime_spec = ""
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
runtime_type = "io.containerd.runc.v2"
runtime_engine = ""
runtime_root = ""
privileged_without_host_devices = false
base_runtime_spec = ""
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
[plugins."io.containerd.grpc.v1.cri".cni]
bin_dir = "/opt/cni/bin"
conf_dir = "/etc/cni/net.d"
max_conf_num = 1
conf_template = ""
[plugins."io.containerd.grpc.v1.cri".registry]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://registry-1.docker.io"]
[plugins."io.containerd.grpc.v1.cri".image_decryption]
key_model = ""
[plugins."io.containerd.grpc.v1.cri".x509_key_pair_streaming]
tls_cert_file = ""
tls_key_file = ""
[plugins."io.containerd.internal.v1.opt"]
path = "/opt/containerd"
[plugins."io.containerd.internal.v1.restart"]
interval = "10s"
[plugins."io.containerd.metadata.v1.bolt"]
content_sharing_policy = "shared"
[plugins."io.containerd.monitor.v1.cgroups"]
no_prometheus = false
[plugins."io.containerd.runtime.v1.linux"]
shim = "containerd-shim"
runtime = "runc"
runtime_root = ""
no_shim = false
shim_debug = false
[plugins."io.containerd.runtime.v2.task"]
platforms = ["linux/amd64"]
[plugins."io.containerd.service.v1.diff-service"]
default = ["walking"]
[plugins."io.containerd.snapshotter.v1.devmapper"]
root_path = ""
pool_name = ""
base_image_size = ""
async_remove = false

View File

@ -0,0 +1,16 @@
sha256 8565a655345f3db2f7b78b77a2cd3103895229aa44cd0e4c710ba3559e344b5a v1.2.0.tar.gz
sha256 b92819bde71de947329814a3c649b8adb106cc03be16aae217b94297f4b843a1 v1.2.5.tar.gz
sha256 f2d578b743fb9faa5b3477b7cf4b33d00501087043a53b27754f14bbe741f891 v1.2.6.tar.gz
sha256 6165ae2ad669d9ec6d317492d30a1511365bd31ad29efae757f19c1828bf75b3 v1.2.8.tar.gz
sha256 a0965e1492fca558629826f1aa89a9675de3d451cec67540400b30c0bf6ac387 v1.2.10.tar.gz
sha256 318886ea1efdec36f088fd6a0a0fe2b2f0ebdfd0066bdb4bd284bad12abc0a41 v1.2.12.tar.gz
sha256 0811057ab67b78ce911416e793edaeb14b3f1e105d67b8e67b6302e0eab572e4 v1.2.13.tar.gz
sha256 d30d59e143697aa4f0960205b3f5ac59c573b332f20507740ef2dc0fb5ae8ded v1.3.7.tar.gz
sha256 9244212589c84b12262769dca6fb985c0c680cb5259c8904b29c511d81fd62d0 v1.3.9.tar.gz
sha256 bc6d9452c700af0ebc09c0da8ddba55be4c03ac8928e72ca92d98905800c8018 v1.4.3.tar.gz
sha256 ac62c64664bf62fd44df0891c896eecdb6d93def3438271d7892dca75bc069d1 v1.4.4.tar.gz
sha256 285a3f4c00a87538bd7d0a82a0a8a758458c02b925349f44f3189f480c326038 v1.4.6.tar.gz
sha256 3bb9f54be022067847f5930d21ebbfe4e7a67f589d78930aa0ac713492c28bcc v1.4.9.tar.gz
sha256 85a531725f15e2d136131119d42af4507a5389e0947015152075c4c93816fb5c v1.4.12.tar.gz
sha256 7507913ba169c103ab67bc51bec31cd977d4348d7bc842da32b7eab5f930a14b v1.5.10.tar.gz
sha256 02b79d5e2b07b5e64cd28f1fe84395ee11eef95fc49fd923a9ab93022b148be6 v1.5.11.tar.gz

View File

@ -15,7 +15,8 @@ CONTAINERD_BIN_ENV = \
GO111MODULE=off \
GOPATH="$(CONTAINERD_BIN_GOPATH)" \
GOBIN="$(CONTAINERD_BIN_GOPATH)/bin" \
PATH=$(CONTAINERD_BIN_GOPATH)/bin:$(BR_PATH)
PATH=$(CONTAINERD_BIN_GOPATH)/bin:$(BR_PATH) \
GOARCH=amd64
CONTAINERD_BIN_COMPILE_SRC = $(CONTAINERD_BIN_GOPATH)/src/github.com/containerd/containerd

View File

@ -0,0 +1,29 @@
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network-online.target minikube-automount.service
Requires=minikube-automount.service
[Service]
EnvironmentFile=-/etc/sysconfig/containerd
EnvironmentFile=-/etc/sysconfig/containerd.minikube
EnvironmentFile=/var/run/minikube/env
Environment=GOTRACEBACK=crash
ExecStartPre=/sbin/modprobe overlay
ExecStart=/usr/bin/containerd \
$CONTAINERD_OPTIONS \
$CONTAINERD_MINIKUBE_OPTIONS \
--root ${PERSISTENT_DIR}/var/lib/containerd
TasksMax=8192
Delegate=yes
KillMode=mixed
LimitNOFILE=1048576
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Restart=on-abnormal
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,3 @@
sha256 4acd7605a0cb95a6ad50314d1f2497b92ee0f07382062d0c18a5434c1a3b9513 542e27dee12db61d6e96d2a83a20359474a5efa2.tar.gz
sha256 b2a082a8846ac74b8482ee6353d480cea0dec017bbec2b59b16e3f91efa2f5ca eb0c48ef49856f7d098ec005ddebcae197e08e49.tar.gz
sha256 ceb99430633f75f354c0e9fea1f3cf0e5138ac5ee3c2691a1a70811fd2feeeef a4d1895a2659ea9974bd7528a706592ab8b74181.tar.gz

View File

@ -20,7 +20,8 @@ CRI_DOCKERD_ENV = \
GO111MODULE=on \
GOPATH="$(CRI_DOCKERD_GOPATH)" \
GOBIN="$(CRI_DOCKERD_GOPATH)/bin" \
PATH=$(CRI_DOCKERD_GOPATH)/bin:$(BR_PATH)
PATH=$(CRI_DOCKERD_GOPATH)/bin:$(BR_PATH) \
GOARCH=amd64
CRI_DOCKERD_COMPILE_SRC = $(CRI_DOCKERD_GOPATH)/src/github.com/Mirantis/cri-dockerd
CRI_DOCKERD_BUILDFLAGS = "-ldflags '-X github.com/Mirantis/cri-dockerd/version.Version=$(CRI_DOCKERD_VER) -X github.com/Mirantis/cri-dockerd/version.GitCommit=$(CRI_DOCKERD_REV)'"

View File

@ -0,0 +1,8 @@
[crio.image]
# pause_image = ""
[crio.network]
# cni_default_network = ""
[crio.runtime]
# cgroup_manager = ""

View File

@ -0,0 +1,9 @@
#if !defined(CONFIG_H)
#define CONFIG_H
#define BUF_SIZE 8192
#define STDIO_BUF_SIZE 8192
#define DEFAULT_SOCKET_PATH "/var/run/crio"
#endif // CONFIG_H

View File

@ -0,0 +1,28 @@
sha256 d310d52706262009af886dbd3e8dcd09a339cdc3b57dc22a9121e6d6a87d2921 v1.8.4.tar.gz
sha256 9f79cee99e272c9cfc561ae31235d84d4da59fd5c8b3d3ab6623bf9a92d90c5a v1.10.0.tar.gz
sha256 09e53fd550f4f10108879131ee6b8ef1c367ce71a73dcf6350c4cc898751d8c1 v1.11.8.tar.gz
sha256 92588998dbb79002c38f65f84602b5659f0d0ef1cd36b1a568a2e40269b66816 v1.13.0.tar.gz
sha256 48e7cf64a757d62a3edf214e1b93b74d99f090ca924f956ede2494a260eab2db v1.13.1.tar.gz
sha256 7435c4745017f06c260973b049440d924efe65b0df008d14175dfb8f5e23b599 v1.14.0.tar.gz
sha256 1f6f72b1f89d4286b2d5b54a48f4d5ed4c0c01065d484635dcb343a706feb743 v1.14.1.tar.gz
sha256 f7041a92e2d3a4c341be8df58f1076ba57ecb5daa02b6c65e652530c5f242739 v1.15.0.tar.gz
sha256 6218a99877da9b9895e0088944731f5384803c15628d4b3c6b40ba1ddd39e052 v1.15.1.tar.gz
sha256 70d4c746fe207422c78420dc4239768f485eea639a38c993c02872ec6305dd1d v1.15.2.tar.gz
sha256 05f9614c4d5970b4662499b84c270b0ab953596ee863dcd09c9dc7a2d2f09789 v1.16.0.tar.gz
sha256 57e1ee990ef2d5af8b32c33a21b4998682608e3556dcf1d3349666f55e7d95b9 v1.16.1.tar.gz
sha256 23a797762e4544ee7c171ef138cfc1141a3f0acc2838d9965c2a58e53b16c3ae v1.17.0.tar.gz
sha256 7967e9218fdfb59d6005a9e19c1668469bc5566c2a35927cffe7de8656bb22c7 v1.17.1.tar.gz
sha256 336f5c275e260eaae8187e7250fb960441e8dc90615729354d3c04e699870982 v1.17.3.tar.gz
sha256 865ded95aceb3a33a391b252522682de6b37b39498704c490b3a321dbefaafcb v1.18.0.tar.gz
sha256 794ddc36c2a20fde91fc6cc2c6f02ebdaea85c69b51b67f3994090dbbdbc2a50 v1.18.1.tar.gz
sha256 25dc558fbabc987bd58c7eab5230121b258a7b0eb34a49dc6595f1c6f3969116 v1.18.2.tar.gz
sha256 d5c6442e3990938badc966cdd1eb9ebe2fc11345452c233aa0d87ca38fbeed81 v1.18.3.tar.gz
sha256 74a4e916acddc6cf47ab5752bdebb6732ce2c028505ef57b7edc21d2da9039b6 v1.18.4.tar.gz
sha256 fc8a8e61375e3ce30563eeb0fd6534c4f48fc20300a72e6ff51cc99cb2703516 v1.19.0.tar.gz
sha256 6165c5b8212ea03be2a465403177318bfe25a54c3e8d66d720344643913a0223 v1.19.1.tar.gz
sha256 76fd7543bc92d4364a11060f43a5131893a76c6e6e9d6de3a6bb6292c110b631 v1.20.0.tar.gz
sha256 36d9f4cf4966342e2d4099e44d8156c55c6a10745c67ce4f856aa9f6dcc2d9ba v1.20.2.tar.gz
sha256 bc53ea8977e252bd9812974c33ff654ee22076598e901464468c5c105a5ef773 v1.22.0.tar.gz
sha256 6e1c0e393cd16af907fabb24e4cc068e27c606c5f1071060d46efdcd29cb5c0d v1.22.1.tar.gz
sha256 34097a0f535aa79cf990aaee5d3ff6226663587b188cbee11089f120e7f869e4 v1.22.2.tar.gz
sha256 52836549cfa27a688659576be9266f4837357a6fa162b1d0a05fa8da62c724b3 v1.22.3.tar.gz

View File

@ -0,0 +1,20 @@
[Unit]
Description=CRI-O Auto Update Script
Before=crio.service
After=minikube-automount.service
Requires=minikube-automount.service
RequiresMountsFor=/var/lib/containers
[Service]
EnvironmentFile=-/etc/sysconfig/crio
EnvironmentFile=-/etc/sysconfig/crio.minikube
EnvironmentFile=/var/run/minikube/env
ExecStart=/usr/bin/crio \
$CRIO_OPTIONS \
$CRIO_MINIKUBE_OPTIONS \
wipe
Type=oneshot
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,409 @@
# The CRI-O configuration file specifies all of the available configuration
# options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
# daemon, but in a TOML format that can be more easily modified and versioned.
#
# Please refer to crio.conf(5) for details of all configuration options.
# CRI-O supports partial configuration reload during runtime, which can be
# done by sending SIGHUP to the running process. Currently supported options
# are explicitly mentioned with: 'This option supports live configuration
# reload'.
# CRI-O reads its storage defaults from the containers-storage.conf(5) file
# located at /etc/containers/storage.conf. Modify this storage configuration if
# you want to change the system's defaults. If you want to modify storage just
# for CRI-O, you can change the storage configuration options here.
[crio]
# Path to the "root directory". CRI-O stores all of its data, including
# containers images, in this directory.
root = "/var/lib/containers/storage"
# Path to the "run directory". CRI-O stores all of its state in this directory.
runroot = "/var/run/containers/storage"
# Storage driver used to manage the storage of images and containers. Please
# refer to containers-storage.conf(5) to see all available storage drivers.
storage_driver = "overlay"
# List to pass options to the storage driver. Please refer to
# containers-storage.conf(5) to see all available storage options.
#storage_option = [
# "overlay.mountopt=nodev,metacopy=on",
#]
# The default log directory where all logs will go unless directly specified by
# the kubelet. The log directory specified must be an absolute directory.
log_dir = "/var/log/crio/pods"
# Location for CRI-O to lay down the temporary version file.
# It is used to check if crio wipe should wipe containers, which should
# always happen on a node reboot
version_file = "/var/run/crio/version"
# Location for CRI-O to lay down the persistent version file.
# It is used to check if crio wipe should wipe images, which should
# only happen when CRI-O has been upgraded
version_file_persist = "/var/lib/crio/version"
# The crio.api table contains settings for the kubelet/gRPC interface.
[crio.api]
# Path to AF_LOCAL socket on which CRI-O will listen.
listen = "/var/run/crio/crio.sock"
# IP address on which the stream server will listen.
stream_address = "127.0.0.1"
# The port on which the stream server will listen. If the port is set to "0", then
# CRI-O will allocate a random free port number.
stream_port = "0"
# Enable encrypted TLS transport of the stream server.
stream_enable_tls = false
# Path to the x509 certificate file used to serve the encrypted stream. This
# file can change, and CRI-O will automatically pick up the changes within 5
# minutes.
stream_tls_cert = ""
# Path to the key file used to serve the encrypted stream. This file can
# change and CRI-O will automatically pick up the changes within 5 minutes.
stream_tls_key = ""
# Path to the x509 CA(s) file used to verify and authenticate client
# communication with the encrypted stream. This file can change and CRI-O will
# automatically pick up the changes within 5 minutes.
stream_tls_ca = ""
# Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
grpc_max_send_msg_size = 16777216
# Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
grpc_max_recv_msg_size = 16777216
# The crio.runtime table contains settings pertaining to the OCI runtime used
# and options for how to set up and manage the OCI runtime.
[crio.runtime]
# A list of ulimits to be set in containers by default, specified as
# "<ulimit name>=<soft limit>:<hard limit>", for example:
# "nofile=1024:2048"
# If nothing is set here, settings will be inherited from the CRI-O daemon
#default_ulimits = [
#]
# If true, the runtime will not use pivot_root, but instead use MS_MOVE.
no_pivot = false
# decryption_keys_path is the path where the keys required for
# image decryption are stored. This option supports live configuration reload.
decryption_keys_path = "/etc/crio/keys/"
# Path to the conmon binary, used for monitoring the OCI runtime.
# Will be searched for using $PATH if empty.
conmon = "/usr/libexec/crio/conmon"
# Cgroup setting for conmon
conmon_cgroup = "system.slice"
# Environment variable list for the conmon process, used for passing necessary
# environment variables to conmon or the runtime.
conmon_env = [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
]
# Additional environment variables to set for all the
# containers. These are overridden if set in the
# container image spec or in the container runtime configuration.
default_env = [
]
# If true, SELinux will be used for pod separation on the host.
selinux = false
# Path to the seccomp.json profile which is used as the default seccomp profile
# for the runtime. If not specified, then the internal default seccomp profile
# will be used. This option supports live configuration reload.
seccomp_profile = ""
# Changes the meaning of an empty seccomp profile. By default
# (and according to CRI spec), an empty profile means unconfined.
# This option tells CRI-O to treat an empty profile as the default profile,
# which might increase security.
seccomp_use_default_when_empty = false
# Used to change the name of the default AppArmor profile of CRI-O. The default
# profile name is "crio-default". This profile only takes effect if the user
# does not specify a profile via the Kubernetes Pod's metadata annotation. If
# the profile is set to "unconfined", then this equals to disabling AppArmor.
# This option supports live configuration reload.
apparmor_profile = "crio-default"
# Cgroup management implementation used for the runtime.
cgroup_manager = "systemd"
# Specify whether the image pull must be performed in a separate cgroup.
separate_pull_cgroup = ""
# List of default capabilities for containers. If it is empty or commented out,
# only the capabilities defined in the containers json file by the user/kube
# will be added.
default_capabilities = [
"CHOWN",
"DAC_OVERRIDE",
"FSETID",
"FOWNER",
"SETGID",
"SETUID",
"SETPCAP",
"NET_BIND_SERVICE",
"KILL",
]
# List of default sysctls. If it is empty or commented out, only the sysctls
# defined in the container json file by the user/kube will be added.
default_sysctls = [
]
# List of additional devices. specified as
# "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
#If it is empty or commented out, only the devices
# defined in the container json file by the user/kube will be added.
additional_devices = [
]
# Path to OCI hooks directories for automatically executed hooks. If one of the
# directories does not exist, then CRI-O will automatically skip them.
hooks_dir = [
"/usr/share/containers/oci/hooks.d",
]
# Path to the file specifying the defaults mounts for each container. The
# format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
# its default mounts from the following two files:
#
# 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
# override file, where users can either add in their own default mounts, or
# override the default mounts shipped with the package.
#
# 2) /usr/share/containers/mounts.conf: This is the default file read for
# mounts. If you want CRI-O to read from a different, specific mounts file,
# you can change the default_mounts_file. Note, if this is done, CRI-O will
# only add mounts it finds in this file.
#
#default_mounts_file = ""
# Maximum number of processes allowed in a container.
pids_limit = 1024
# Maximum sized allowed for the container log file. Negative numbers indicate
# that no size limit is imposed. If it is positive, it must be >= 8192 to
# match/exceed conmon's read buffer. The file is truncated and re-opened so the
# limit is never exceeded.
log_size_max = -1
# Whether container output should be logged to journald in addition to the kuberentes log file
log_to_journald = false
# Path to directory in which container exit files are written to by conmon.
container_exits_dir = "/var/run/crio/exits"
# Path to directory for container attach sockets.
container_attach_socket_dir = "/var/run/crio"
# The prefix to use for the source of the bind mounts.
bind_mount_prefix = ""
# If set to true, all containers will run in read-only mode.
read_only = false
# Changes the verbosity of the logs based on the level it is set to. Options
# are fatal, panic, error, warn, info, debug and trace. This option supports
# live configuration reload.
log_level = "info"
# Filter the log messages by the provided regular expression.
# This option supports live configuration reload.
log_filter = ""
# The UID mappings for the user namespace of each container. A range is
# specified in the form containerUID:HostUID:Size. Multiple ranges must be
# separated by comma.
uid_mappings = ""
# The GID mappings for the user namespace of each container. A range is
# specified in the form containerGID:HostGID:Size. Multiple ranges must be
# separated by comma.
gid_mappings = ""
# The minimal amount of time in seconds to wait before issuing a timeout
# regarding the proper termination of the container. The lowest possible
# value is 30s, whereas lower values are not considered by CRI-O.
ctr_stop_timeout = 30
# manage_ns_lifecycle determines whether we pin and remove namespaces
# and manage their lifecycle.
# This option is being deprecated, and will be unconditionally true in the future.
manage_ns_lifecycle = true
# drop_infra_ctr determines whether CRI-O drops the infra container
# when a pod does not have a private PID namespace, and does not use
# a kernel separating runtime (like kata).
# It requires manage_ns_lifecycle to be true.
drop_infra_ctr = false
# The directory where the state of the managed namespaces gets tracked.
# Only used when manage_ns_lifecycle is true.
namespaces_dir = "/var/run"
# pinns_path is the path to find the pinns binary, which is needed to manage namespace lifecycle
pinns_path = "/usr/bin/pinns"
# default_runtime is the _name_ of the OCI runtime to be used as the default.
# The name is matched against the runtimes map below. If this value is changed,
# the corresponding existing entry from the runtimes map below will be ignored.
default_runtime = "runc"
# The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
# The runtime to use is picked based on the runtime_handler provided by the CRI.
# If no runtime_handler is provided, the runtime will be picked based on the level
# of trust of the workload. Each entry in the table should follow the format:
#
#[crio.runtime.runtimes.runtime-handler]
# runtime_path = "/path/to/the/executable"
# runtime_type = "oci"
# runtime_root = "/path/to/the/root"
# privileged_without_host_devices = false
# allowed_annotations = []
# Where:
# - runtime-handler: name used to identify the runtime
# - runtime_path (optional, string): absolute path to the runtime executable in
# the host filesystem. If omitted, the runtime-handler identifier should match
# the runtime executable name, and the runtime executable should be placed
# in $PATH.
# - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
# omitted, an "oci" runtime is assumed.
# - runtime_root (optional, string): root directory for storage of containers
# state.
# - privileged_without_host_devices (optional, bool): an option for restricting
# host devices from being passed to privileged containers.
# - allowed_annotations (optional, array of strings): an option for specifying
# a list of experimental annotations that this runtime handler is allowed to process.
# The currently recognized values are:
# "io.kubernetes.cri-o.userns-mode" for configuring a user namespace for the pod.
# "io.kubernetes.cri-o.Devices" for configuring devices for the pod.
# "io.kubernetes.cri-o.ShmSize" for configuring the size of /dev/shm.
[crio.runtime.runtimes.runc]
runtime_path = "/usr/bin/runc"
runtime_type = "oci"
runtime_root = "/run/runc"
# crun is a fast and lightweight fully featured OCI runtime and C library for
# running containers
#[crio.runtime.runtimes.crun]
# Kata Containers is an OCI runtime, where containers are run inside lightweight
# VMs. Kata provides additional isolation towards the host, minimizing the host attack
# surface and mitigating the consequences of containers breakout.
# Kata Containers with the default configured VMM
#[crio.runtime.runtimes.kata-runtime]
# Kata Containers with the QEMU VMM
#[crio.runtime.runtimes.kata-qemu]
# Kata Containers with the Firecracker VMM
#[crio.runtime.runtimes.kata-fc]
# The crio.image table contains settings pertaining to the management of OCI images.
#
# CRI-O reads its configured registries defaults from the system wide
# containers-registries.conf(5) located in /etc/containers/registries.conf. If
# you want to modify just CRI-O, you can change the registries configuration in
# this file. Otherwise, leave insecure_registries and registries commented out to
# use the system's defaults from /etc/containers/registries.conf.
[crio.image]
# Default transport for pulling images from a remote container storage.
default_transport = "docker://"
# The path to a file containing credentials necessary for pulling images from
# secure registries. The file is similar to that of /var/lib/kubelet/config.json
global_auth_file = ""
# The image used to instantiate infra containers.
# This option supports live configuration reload.
pause_image = "k8s.gcr.io/pause:3.2"
# The path to a file containing credentials specific for pulling the pause_image from
# above. The file is similar to that of /var/lib/kubelet/config.json
# This option supports live configuration reload.
pause_image_auth_file = ""
# The command to run to have a container stay in the paused state.
# When explicitly set to "", it will fallback to the entrypoint and command
# specified in the pause image. When commented out, it will fallback to the
# default: "/pause". This option supports live configuration reload.
pause_command = "/pause"
# Path to the file which decides what sort of policy we use when deciding
# whether or not to trust an image that we've pulled. It is not recommended that
# this option be used, as the default behavior of using the system-wide default
# policy (i.e., /etc/containers/policy.json) is most often preferred. Please
# refer to containers-policy.json(5) for more details.
signature_policy = ""
# List of registries to skip TLS verification for pulling images. Please
# consider configuring the registries via /etc/containers/registries.conf before
# changing them here.
#insecure_registries = "[]"
# Controls how image volumes are handled. The valid values are mkdir, bind and
# ignore; the latter will ignore volumes entirely.
image_volumes = "mkdir"
# List of registries to be used when pulling an unqualified image (e.g.,
# "alpine:latest"). By default, registries is set to "docker.io" for
# compatibility reasons. Depending on your workload and usecase you may add more
# registries (e.g., "quay.io", "registry.fedoraproject.org",
# "registry.opensuse.org", etc.).
registries = [
"docker.io"
]
# Temporary directory to use for storing big files
big_files_temporary_dir = ""
# The crio.network table containers settings pertaining to the management of
# CNI plugins.
[crio.network]
# The default CNI network name to be selected. If not set or "", then
# CRI-O will pick-up the first one found in network_dir.
# cni_default_network = ""
# Path to the directory where CNI configuration files are located.
network_dir = "/etc/cni/net.d/"
# Paths to directories where CNI plugin binaries are located.
plugin_dirs = [
"/opt/cni/bin/",
]
# A necessary configuration for Prometheus based metrics retrieval
[crio.metrics]
# Globally enable or disable metrics support.
enable_metrics = true
# The port on which the metrics server will listen.
metrics_port = 9090
# Local socket path to bind the metrics server to
metrics_socket = ""

View File

@ -0,0 +1,408 @@
# The CRI-O configuration file specifies all of the available configuration
# options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
# daemon, but in a TOML format that can be more easily modified and versioned.
#
# Please refer to crio.conf(5) for details of all configuration options.
# CRI-O supports partial configuration reload during runtime, which can be
# done by sending SIGHUP to the running process. Currently supported options
# are explicitly mentioned with: 'This option supports live configuration
# reload'.
# CRI-O reads its storage defaults from the containers-storage.conf(5) file
# located at /etc/containers/storage.conf. Modify this storage configuration if
# you want to change the system's defaults. If you want to modify storage just
# for CRI-O, you can change the storage configuration options here.
[crio]
# Path to the "root directory". CRI-O stores all of its data, including
# containers images, in this directory.
#root = "/var/lib/containers/storage"
# Path to the "run directory". CRI-O stores all of its state in this directory.
#runroot = "/var/run/containers/storage"
# Storage driver used to manage the storage of images and containers. Please
# refer to containers-storage.conf(5) to see all available storage drivers.
#storage_driver = ""
# List to pass options to the storage driver. Please refer to
# containers-storage.conf(5) to see all available storage options.
#storage_option = [
# "overlay.mountopt=nodev,metacopy=on",
#]
# The default log directory where all logs will go unless directly specified by
# the kubelet. The log directory specified must be an absolute directory.
log_dir = "/var/log/crio/pods"
# Location for CRI-O to lay down the temporary version file.
# It is used to check if crio wipe should wipe containers, which should
# always happen on a node reboot
version_file = "/var/run/crio/version"
# Location for CRI-O to lay down the persistent version file.
# It is used to check if crio wipe should wipe images, which should
# only happen when CRI-O has been upgraded
version_file_persist = "/var/lib/crio/version"
# The crio.api table contains settings for the kubelet/gRPC interface.
[crio.api]
# Path to AF_LOCAL socket on which CRI-O will listen.
listen = "/var/run/crio/crio.sock"
# IP address on which the stream server will listen.
stream_address = "127.0.0.1"
# The port on which the stream server will listen. If the port is set to "0", then
# CRI-O will allocate a random free port number.
stream_port = "0"
# Enable encrypted TLS transport of the stream server.
stream_enable_tls = false
# Path to the x509 certificate file used to serve the encrypted stream. This
# file can change, and CRI-O will automatically pick up the changes within 5
# minutes.
stream_tls_cert = ""
# Path to the key file used to serve the encrypted stream. This file can
# change and CRI-O will automatically pick up the changes within 5 minutes.
stream_tls_key = ""
# Path to the x509 CA(s) file used to verify and authenticate client
# communication with the encrypted stream. This file can change and CRI-O will
# automatically pick up the changes within 5 minutes.
stream_tls_ca = ""
# Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
grpc_max_send_msg_size = 16777216
# Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
grpc_max_recv_msg_size = 16777216
# The crio.runtime table contains settings pertaining to the OCI runtime used
# and options for how to set up and manage the OCI runtime.
[crio.runtime]
# A list of ulimits to be set in containers by default, specified as
# "<ulimit name>=<soft limit>:<hard limit>", for example:
# "nofile=1024:2048"
# If nothing is set here, settings will be inherited from the CRI-O daemon
#default_ulimits = [
#]
# If true, the runtime will not use pivot_root, but instead use MS_MOVE.
no_pivot = false
# decryption_keys_path is the path where the keys required for
# image decryption are stored. This option supports live configuration reload.
decryption_keys_path = "/etc/crio/keys/"
# Path to the conmon binary, used for monitoring the OCI runtime.
# Will be searched for using $PATH if empty.
conmon = ""
# Cgroup setting for conmon
conmon_cgroup = "system.slice"
# Environment variable list for the conmon process, used for passing necessary
# environment variables to conmon or the runtime.
conmon_env = [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
]
# Additional environment variables to set for all the
# containers. These are overridden if set in the
# container image spec or in the container runtime configuration.
default_env = [
]
# If true, SELinux will be used for pod separation on the host.
selinux = false
# Path to the seccomp.json profile which is used as the default seccomp profile
# for the runtime. If not specified, then the internal default seccomp profile
# will be used. This option supports live configuration reload.
seccomp_profile = ""
# Changes the meaning of an empty seccomp profile. By default
# (and according to CRI spec), an empty profile means unconfined.
# This option tells CRI-O to treat an empty profile as the default profile,
# which might increase security.
seccomp_use_default_when_empty = false
# Used to change the name of the default AppArmor profile of CRI-O. The default
# profile name is "crio-default". This profile only takes effect if the user
# does not specify a profile via the Kubernetes Pod's metadata annotation. If
# the profile is set to "unconfined", then this equals to disabling AppArmor.
# This option supports live configuration reload.
apparmor_profile = "crio-default"
# Cgroup management implementation used for the runtime.
cgroup_manager = "systemd"
# Specify whether the image pull must be performed in a separate cgroup.
separate_pull_cgroup = ""
# List of default capabilities for containers. If it is empty or commented out,
# only the capabilities defined in the containers json file by the user/kube
# will be added.
default_capabilities = [
"CHOWN",
"DAC_OVERRIDE",
"FSETID",
"FOWNER",
"SETGID",
"SETUID",
"SETPCAP",
"NET_BIND_SERVICE",
"KILL",
]
# List of default sysctls. If it is empty or commented out, only the sysctls
# defined in the container json file by the user/kube will be added.
default_sysctls = [
]
# List of additional devices. specified as
# "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
#If it is empty or commented out, only the devices
# defined in the container json file by the user/kube will be added.
additional_devices = [
]
# Path to OCI hooks directories for automatically executed hooks. If one of the
# directories does not exist, then CRI-O will automatically skip them.
hooks_dir = [
"/usr/share/containers/oci/hooks.d",
]
# Path to the file specifying the defaults mounts for each container. The
# format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
# its default mounts from the following two files:
#
# 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
# override file, where users can either add in their own default mounts, or
# override the default mounts shipped with the package.
#
# 2) /usr/share/containers/mounts.conf: This is the default file read for
# mounts. If you want CRI-O to read from a different, specific mounts file,
# you can change the default_mounts_file. Note, if this is done, CRI-O will
# only add mounts it finds in this file.
#
#default_mounts_file = ""
# Maximum number of processes allowed in a container.
pids_limit = 1024
# Maximum sized allowed for the container log file. Negative numbers indicate
# that no size limit is imposed. If it is positive, it must be >= 8192 to
# match/exceed conmon's read buffer. The file is truncated and re-opened so the
# limit is never exceeded.
log_size_max = -1
# Whether container output should be logged to journald in addition to the kuberentes log file
log_to_journald = false
# Path to directory in which container exit files are written to by conmon.
container_exits_dir = "/var/run/crio/exits"
# Path to directory for container attach sockets.
container_attach_socket_dir = "/var/run/crio"
# The prefix to use for the source of the bind mounts.
bind_mount_prefix = ""
# If set to true, all containers will run in read-only mode.
read_only = false
# Changes the verbosity of the logs based on the level it is set to. Options
# are fatal, panic, error, warn, info, debug and trace. This option supports
# live configuration reload.
log_level = "info"
# Filter the log messages by the provided regular expression.
# This option supports live configuration reload.
log_filter = ""
# The UID mappings for the user namespace of each container. A range is
# specified in the form containerUID:HostUID:Size. Multiple ranges must be
# separated by comma.
uid_mappings = ""
# The GID mappings for the user namespace of each container. A range is
# specified in the form containerGID:HostGID:Size. Multiple ranges must be
# separated by comma.
gid_mappings = ""
# The minimal amount of time in seconds to wait before issuing a timeout
# regarding the proper termination of the container. The lowest possible
# value is 30s, whereas lower values are not considered by CRI-O.
ctr_stop_timeout = 30
# manage_ns_lifecycle determines whether we pin and remove namespaces
# and manage their lifecycle.
# This option is being deprecated, and will be unconditionally true in the future.
manage_ns_lifecycle = true
# drop_infra_ctr determines whether CRI-O drops the infra container
# when a pod does not have a private PID namespace, and does not use
# a kernel separating runtime (like kata).
# It requires manage_ns_lifecycle to be true.
drop_infra_ctr = false
# The directory where the state of the managed namespaces gets tracked.
# Only used when manage_ns_lifecycle is true.
namespaces_dir = "/var/run"
# pinns_path is the path to find the pinns binary, which is needed to manage namespace lifecycle
pinns_path = ""
# default_runtime is the _name_ of the OCI runtime to be used as the default.
# The name is matched against the runtimes map below. If this value is changed,
# the corresponding existing entry from the runtimes map below will be ignored.
default_runtime = "runc"
# The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
# The runtime to use is picked based on the runtime_handler provided by the CRI.
# If no runtime_handler is provided, the runtime will be picked based on the level
# of trust of the workload. Each entry in the table should follow the format:
#
#[crio.runtime.runtimes.runtime-handler]
# runtime_path = "/path/to/the/executable"
# runtime_type = "oci"
# runtime_root = "/path/to/the/root"
# privileged_without_host_devices = false
# allowed_annotations = []
# Where:
# - runtime-handler: name used to identify the runtime
# - runtime_path (optional, string): absolute path to the runtime executable in
# the host filesystem. If omitted, the runtime-handler identifier should match
# the runtime executable name, and the runtime executable should be placed
# in $PATH.
# - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
# omitted, an "oci" runtime is assumed.
# - runtime_root (optional, string): root directory for storage of containers
# state.
# - privileged_without_host_devices (optional, bool): an option for restricting
# host devices from being passed to privileged containers.
# - allowed_annotations (optional, array of strings): an option for specifying
# a list of experimental annotations that this runtime handler is allowed to process.
# The currently recognized values are:
# "io.kubernetes.cri-o.userns-mode" for configuring a user namespace for the pod.
# "io.kubernetes.cri-o.Devices" for configuring devices for the pod.
# "io.kubernetes.cri-o.ShmSize" for configuring the size of /dev/shm.
[crio.runtime.runtimes.runc]
runtime_path = ""
runtime_type = "oci"
runtime_root = "/run/runc"
# crun is a fast and lightweight fully featured OCI runtime and C library for
# running containers
#[crio.runtime.runtimes.crun]
# Kata Containers is an OCI runtime, where containers are run inside lightweight
# VMs. Kata provides additional isolation towards the host, minimizing the host attack
# surface and mitigating the consequences of containers breakout.
# Kata Containers with the default configured VMM
#[crio.runtime.runtimes.kata-runtime]
# Kata Containers with the QEMU VMM
#[crio.runtime.runtimes.kata-qemu]
# Kata Containers with the Firecracker VMM
#[crio.runtime.runtimes.kata-fc]
# The crio.image table contains settings pertaining to the management of OCI images.
#
# CRI-O reads its configured registries defaults from the system wide
# containers-registries.conf(5) located in /etc/containers/registries.conf. If
# you want to modify just CRI-O, you can change the registries configuration in
# this file. Otherwise, leave insecure_registries and registries commented out to
# use the system's defaults from /etc/containers/registries.conf.
[crio.image]
# Default transport for pulling images from a remote container storage.
default_transport = "docker://"
# The path to a file containing credentials necessary for pulling images from
# secure registries. The file is similar to that of /var/lib/kubelet/config.json
global_auth_file = ""
# The image used to instantiate infra containers.
# This option supports live configuration reload.
pause_image = "k8s.gcr.io/pause:3.2"
# The path to a file containing credentials specific for pulling the pause_image from
# above. The file is similar to that of /var/lib/kubelet/config.json
# This option supports live configuration reload.
pause_image_auth_file = ""
# The command to run to have a container stay in the paused state.
# When explicitly set to "", it will fallback to the entrypoint and command
# specified in the pause image. When commented out, it will fallback to the
# default: "/pause". This option supports live configuration reload.
pause_command = "/pause"
# Path to the file which decides what sort of policy we use when deciding
# whether or not to trust an image that we've pulled. It is not recommended that
# this option be used, as the default behavior of using the system-wide default
# policy (i.e., /etc/containers/policy.json) is most often preferred. Please
# refer to containers-policy.json(5) for more details.
signature_policy = ""
# List of registries to skip TLS verification for pulling images. Please
# consider configuring the registries via /etc/containers/registries.conf before
# changing them here.
#insecure_registries = "[]"
# Controls how image volumes are handled. The valid values are mkdir, bind and
# ignore; the latter will ignore volumes entirely.
image_volumes = "mkdir"
# List of registries to be used when pulling an unqualified image (e.g.,
# "alpine:latest"). By default, registries is set to "docker.io" for
# compatibility reasons. Depending on your workload and usecase you may add more
# registries (e.g., "quay.io", "registry.fedoraproject.org",
# "registry.opensuse.org", etc.).
#registries = [
# ]
# Temporary directory to use for storing big files
big_files_temporary_dir = ""
# The crio.network table containers settings pertaining to the management of
# CNI plugins.
[crio.network]
# The default CNI network name to be selected. If not set or "", then
# CRI-O will pick-up the first one found in network_dir.
# cni_default_network = ""
# Path to the directory where CNI configuration files are located.
network_dir = "/etc/cni/net.d/"
# Paths to directories where CNI plugin binaries are located.
plugin_dirs = [
"/opt/cni/bin/",
]
# A necessary configuration for Prometheus based metrics retrieval
[crio.metrics]
# Globally enable or disable metrics support.
enable_metrics = false
# The port on which the metrics server will listen.
metrics_port = 9090
# Local socket path to bind the metrics server to
metrics_socket = ""

View File

@ -0,0 +1,29 @@
[Unit]
Description=Container Runtime Interface for OCI (CRI-O)
Documentation=https://github.com/cri-o/cri-o
Wants=network-online.target
After=network-online.target minikube-automount.service
Requires=minikube-automount.service
After=crio-wipe.service
Requires=crio-wipe.service
[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/crio
EnvironmentFile=-/etc/sysconfig/crio.minikube
EnvironmentFile=/var/run/minikube/env
Environment=GOTRACEBACK=crash
ExecStart=/usr/bin/crio \
$CRIO_OPTIONS \
$CRIO_MINIKUBE_OPTIONS
ExecReload=/bin/kill -s HUP $MAINPID
TasksMax=8192
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
OOMScoreAdjust=-999
TimeoutStartSec=0
Restart=on-abnormal
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,7 @@
{
"default": [
{
"type": "insecureAcceptAnything"
}
]
}

View File

@ -0,0 +1,5 @@
[registries.search]
registries = ['docker.io']
[registries.insecure]
registries = []

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