build Talos on ALT rpm
This commit is contained in:
parent
a588ce7af8
commit
3c749ce42a
400
Dockerfile.alt
Normal file
400
Dockerfile.alt
Normal file
@ -0,0 +1,400 @@
|
||||
# syntax = docker/dockerfile-upstream:1.7.0-labs
|
||||
#
|
||||
#SOURCE_DATE_EPOCH ?= $(shell git log -1 --pretty=%ct)
|
||||
|
||||
FROM registry.altlinux.org/alt/base:sisyphus AS install-packges
|
||||
# apt-get install apt-repo -y && apt-repo add $task
|
||||
ARG SOURCE_DATE_EPOCH
|
||||
ENV SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH}
|
||||
RUN <<END
|
||||
apt-get update
|
||||
apt-get install apt-repo -y
|
||||
apt-repo add 358957
|
||||
apt-get update
|
||||
apt-get install -y \
|
||||
ca-certificates \
|
||||
cryptsetup \
|
||||
containerd \
|
||||
dosfstools \
|
||||
udev \
|
||||
iptables iptables-ipv6 iptables-nft nftables \
|
||||
openssl \
|
||||
lvm2 \
|
||||
xfsprogs btrfs-progs squashfs-tools dosfstools e2fsprogs \
|
||||
runc crun \
|
||||
cni-plugins cni-plugin-flannel flannel \
|
||||
util-linux \
|
||||
kmod \
|
||||
make-initrd \
|
||||
kernel-image-6.10 kernel-modules-drm-6.10 \
|
||||
systemd-boot-efi grub-efi grub-pc \
|
||||
talos-installer talosctl
|
||||
rm -f /var/cache/apt/archives/*.rpm \
|
||||
/var/cache/apt/*.bin \
|
||||
/var/lib/apt/lists/*.*
|
||||
END
|
||||
# kernel-image-6.10 kernel-modules-drm-6.10 kernel-modules-drm-nouveau-6.10 \
|
||||
|
||||
# The rootfs target provides the Talos rootfs.
|
||||
FROM install-packges AS rootfs-base-amd64
|
||||
#COPY hack/modules-amd64.txt-alt .
|
||||
#RUN <<EOF
|
||||
#set -euo pipefail
|
||||
|
||||
#KERNEL_VERSION=$(ls lib/modules)
|
||||
|
||||
#xargs -a modules-amd64.txt-alt -I {} install -D lib/modules/${KERNEL_VERSION}/{} /build/lib/modules/${KERNEL_VERSION}/{}
|
||||
|
||||
#depmod -b /build ${KERNEL_VERSION}
|
||||
#EOF
|
||||
|
||||
RUN <<END
|
||||
mkdir -pv /rootfs/{dev,proc,sys,etc,opt,run}
|
||||
mkdir -pv /rootfs/usr/{bin,lib64,libexec,var,include,src}
|
||||
mkdir -pv /rootfs/usr/local/{bin,sbin,lib,include}
|
||||
mkdir -pv /rootfs/var/{log,run,mail,spool}
|
||||
ln -sv usr/bin /rootfs/bin
|
||||
ln -sv usr/bin /rootfs/sbin
|
||||
ln -sv bin /rootfs/usr/sbin
|
||||
ln -sv usr/lib64 /rootfs/lib64
|
||||
ln -sv usr/lib64 /rootfs/lib
|
||||
ln -sv lib64 /rootfs/usr/lib
|
||||
install -dv -m 0750 /rootfs/root
|
||||
install -dv -m 1777 /rootfs/tmp /rootfs/var/tmp
|
||||
#cp -rv /etc/pki /rootfs/etc/
|
||||
|
||||
initrd-put -v /rootfs \
|
||||
/usr/libexec/cni/bridge \
|
||||
/usr/libexec/cni/firewall \
|
||||
/usr/libexec/cni/host-local \
|
||||
/usr/libexec/cni/loopback \
|
||||
/usr/libexec/cni/portmap \
|
||||
/usr/libexec/cni/flannel
|
||||
|
||||
mkdir -pv /rootfs/opt/cni/bin
|
||||
ln -v /rootfs/usr/libexec/cni/bridge /rootfs/opt/cni/bin/bridge
|
||||
ln -v /rootfs/usr/libexec/cni/firewall /rootfs/opt/cni/bin/firewall
|
||||
ln -v /rootfs/usr/libexec/cni/host-local /rootfs/opt/cni/bin/host-local
|
||||
ln -v /rootfs/usr/libexec/cni/loopback /rootfs/opt/cni/bin/loopback
|
||||
ln -v /rootfs/usr/libexec/cni/portmap /rootfs/opt/cni/bin/portmap
|
||||
ln -v /rootfs/usr/libexec/cni/flannel /rootfs/opt/cni/bin/flannel
|
||||
|
||||
initrd-put -v /rootfs \
|
||||
/usr/sbin/cryptsetup \
|
||||
/usr/sbin/integritysetup \
|
||||
/usr/sbin/veritysetup
|
||||
|
||||
initrd-put -v /rootfs \
|
||||
/usr/bin/containerd \
|
||||
/usr/bin/containerd-shim-runc-v2
|
||||
|
||||
initrd-put -v /rootfs \
|
||||
/usr/lib64/libmount.so.1
|
||||
|
||||
initrd-put -v /rootfs \
|
||||
/sbin/dosfsck \
|
||||
/sbin/dosfslabel \
|
||||
/sbin/fatlabel \
|
||||
/sbin/fsck.fat \
|
||||
/sbin/fsck.msdos \
|
||||
/sbin/fsck.vfat \
|
||||
/sbin/mkdosfs \
|
||||
/sbin/mkfs.fat \
|
||||
/sbin/mkfs.msdos \
|
||||
/sbin/mkfs.vfat
|
||||
|
||||
initrd-put -v /rootfs \
|
||||
/usr/bin/udevadm \
|
||||
/usr/sbin/udevd \
|
||||
/usr/bin/systemd-hwdb \
|
||||
/usr/lib/udev/ata_id \
|
||||
/usr/lib/udev/cdrom_id \
|
||||
/usr/lib/udev/dmi_memory_id \
|
||||
/usr/lib/udev/fido_id \
|
||||
/usr/lib/udev/mtd_probe \
|
||||
/usr/lib/udev/scsi_id \
|
||||
/usr/lib/udev/rules.d/10-dm.rules \
|
||||
/usr/lib/udev/rules.d/11-dm-lvm.rules \
|
||||
/usr/lib/udev/rules.d/13-dm-disk.rules \
|
||||
/usr/lib/udev/rules.d/50-udev-default.rules \
|
||||
/usr/lib/udev/rules.d/60-autosuspend.rules \
|
||||
/usr/lib/udev/rules.d/60-block.rules \
|
||||
/usr/lib/udev/rules.d/60-dmi-id.rules \
|
||||
/usr/lib/udev/rules.d/60-drm.rules \
|
||||
/usr/lib/udev/rules.d/60-evdev.rules \
|
||||
/usr/lib/udev/rules.d/60-fido-id.rules \
|
||||
/usr/lib/udev/rules.d/60-infiniband.rules \
|
||||
/usr/lib/udev/rules.d/60-input-id.rules \
|
||||
/usr/lib/udev/rules.d/60-persistent-input.rules \
|
||||
/usr/lib/udev/rules.d/60-persistent-storage-mtd.rules \
|
||||
/usr/lib/udev/rules.d/60-persistent-storage-tape.rules \
|
||||
/usr/lib/udev/rules.d/60-persistent-storage.rules \
|
||||
/usr/lib/udev/rules.d/60-sensor.rules \
|
||||
/usr/lib/udev/rules.d/60-serial.rules \
|
||||
/usr/lib/udev/rules.d/64-btrfs.rules \
|
||||
/usr/lib/udev/rules.d/70-camera.rules \
|
||||
/usr/lib/udev/rules.d/70-memory.rules \
|
||||
/usr/lib/udev/rules.d/70-power-switch.rules \
|
||||
/usr/lib/udev/rules.d/75-net-description.rules \
|
||||
/usr/lib/udev/rules.d/75-probe_mtd.rules \
|
||||
/usr/lib/udev/rules.d/80-drivers.rules \
|
||||
/usr/lib/udev/rules.d/80-net-setup-link.rules \
|
||||
/usr/lib/udev/rules.d/81-net-dhcp.rules \
|
||||
/usr/lib/udev/rules.d/95-dm-notify.rules
|
||||
|
||||
mkdir -pv /rootfs/etc/udev
|
||||
ln -sv ../etc /rootfs/usr/etc
|
||||
/rootfs/usr/bin/systemd-hwdb update --root=/rootfs --usr --strict
|
||||
|
||||
initrd-put -v /rootfs \
|
||||
/usr/sbin/lvm \
|
||||
/usr/sbin/lvchange \
|
||||
/usr/sbin/lvconvert \
|
||||
/usr/sbin/lvcreate \
|
||||
/usr/sbin/lvdisplay \
|
||||
/usr/sbin/lvextend \
|
||||
/usr/sbin/lvmconfig \
|
||||
/usr/sbin/lvmdevices \
|
||||
/usr/sbin/lvmdiskscan \
|
||||
/usr/sbin/lvmdump \
|
||||
/usr/sbin/lvmsadc \
|
||||
/usr/sbin/lvmsar \
|
||||
/usr/sbin/lvreduce \
|
||||
/usr/sbin/lvremove \
|
||||
/usr/sbin/lvrename \
|
||||
/usr/sbin/lvresize \
|
||||
/usr/sbin/lvs \
|
||||
/usr/sbin/lvscan \
|
||||
/usr/sbin/pvchange \
|
||||
/usr/sbin/pvck \
|
||||
/usr/sbin/pvcreate \
|
||||
/usr/sbin/pvdisplay \
|
||||
/usr/sbin/pvmove \
|
||||
/usr/sbin/pvremove \
|
||||
/usr/sbin/pvresize \
|
||||
/usr/sbin/pvs \
|
||||
/usr/sbin/pvscan \
|
||||
/usr/sbin/vgcfgbackup \
|
||||
/usr/sbin/vgcfgrestore \
|
||||
/usr/sbin/vgchange \
|
||||
/usr/sbin/vgck \
|
||||
/usr/sbin/vgconvert \
|
||||
/usr/sbin/vgcreate \
|
||||
/usr/sbin/vgdisplay \
|
||||
/usr/sbin/vgexport \
|
||||
/usr/sbin/vgextend \
|
||||
/usr/sbin/vgimport \
|
||||
/usr/sbin/vgimportclone \
|
||||
/usr/sbin/vgimportdevices \
|
||||
/usr/sbin/vgmerge \
|
||||
/usr/sbin/vgmknodes \
|
||||
/usr/sbin/vgreduce \
|
||||
/usr/sbin/vgremove \
|
||||
/usr/sbin/vgrename \
|
||||
/usr/sbin/vgs \
|
||||
/usr/sbin/vgscan \
|
||||
/usr/sbin/vgsplit \
|
||||
/usr/sbin/dmsetup \
|
||||
/usr/sbin/dmstats \
|
||||
/usr/libexec/lvresize_fs_helper \
|
||||
/usr/lib/udev/rules.d/69-dm-lvm.rules \
|
||||
/etc/lvm/profile \
|
||||
/etc/lvm/lvmlocal.conf
|
||||
|
||||
initrd-put -v /rootfs \
|
||||
/sbin/iptables \
|
||||
/sbin/iptables-legacy \
|
||||
/sbin/ip6tables \
|
||||
/sbin/ip6tables-legacy \
|
||||
/sbin/nft
|
||||
|
||||
cp -rv /lib64/iptables /rootfs/lib64/
|
||||
|
||||
initrd-put -v /rootfs /usr/bin/runc
|
||||
|
||||
initrd-put -v /rootfs \
|
||||
/usr/sbin/fsck.xfs \
|
||||
/usr/sbin/mkfs.xfs \
|
||||
/usr/sbin/xfs_admin \
|
||||
/usr/sbin/xfs_bmap \
|
||||
/usr/sbin/xfs_copy \
|
||||
/usr/sbin/xfs_db \
|
||||
/usr/sbin/xfs_estimate \
|
||||
/usr/sbin/xfs_freeze \
|
||||
/usr/sbin/xfs_fsr \
|
||||
/usr/sbin/xfs_growfs \
|
||||
/usr/sbin/xfs_info \
|
||||
/usr/sbin/xfs_io \
|
||||
/usr/sbin/xfs_logprint \
|
||||
/usr/sbin/xfs_mdrestore \
|
||||
/usr/sbin/xfs_metadump \
|
||||
/usr/sbin/xfs_mkfile \
|
||||
/usr/sbin/xfs_ncheck \
|
||||
/usr/sbin/xfs_quota \
|
||||
/usr/sbin/xfs_repair \
|
||||
/usr/sbin/xfs_rtcp \
|
||||
/usr/sbin/xfs_scrub \
|
||||
/usr/sbin/xfs_spaceman
|
||||
|
||||
initrd-put -v /rootfs /bin/kmod
|
||||
ln -v /rootfs/bin/kmod /rootfs/sbin/modprobe
|
||||
|
||||
cp -rv /lib/modules /rootfs/lib/modules
|
||||
# cp -rv /build/lib/modules /rootfs/lib/modules
|
||||
cp -v /usr/libexec/talos/machined /rootfs/sbin/init
|
||||
|
||||
# the orderly_poweroff call by the kernel will call '/sbin/poweroff'
|
||||
ln -v /rootfs/sbin/init /rootfs/sbin/poweroff
|
||||
chmod +x /rootfs/sbin/poweroff
|
||||
# some extensions like qemu-guest agent will call '/sbin/shutdown'
|
||||
ln -v /rootfs/sbin/init /rootfs/sbin/shutdown
|
||||
chmod +x /rootfs/sbin/shutdown
|
||||
ln -v /rootfs/sbin/init /rootfs/sbin/wrapperd
|
||||
chmod +x /rootfs/sbin/wrapperd
|
||||
ln -v /rootfs/sbin/init /rootfs/sbin/dashboard
|
||||
chmod +x /rootfs/sbin/dashboard
|
||||
|
||||
# NB: We run the cleanup step before creating extra directories, files, and
|
||||
# symlinks to avoid accidentally cleaning them up.
|
||||
#COPY ./hack/cleanup.sh /toolchain/bin/cleanup.sh
|
||||
#cleanup.sh /rootfs
|
||||
mkdir -pv /rootfs/{boot/EFI,etc/cri/conf.d/hosts,lib/firmware,usr/local/share,usr/share/zoneinfo/Etc,mnt,system,opt,.extra}
|
||||
mkdir -pv /rootfs/{etc/kubernetes/manifests,etc/cni/net.d,etc/ssl/certs,usr/libexec/kubernetes,usr/local/lib/kubelet/credentialproviders}
|
||||
mkdir -pv /rootfs/opt/{containerd/bin,containerd/lib}
|
||||
END
|
||||
|
||||
COPY --chmod=0644 hack/zoneinfo/Etc/UTC /rootfs/usr/share/zoneinfo/Etc/UTC
|
||||
COPY --chmod=0644 hack/nfsmount.conf /rootfs/etc/nfsmount.conf
|
||||
COPY --chmod=0644 hack/containerd.toml /rootfs/etc/containerd/config.toml
|
||||
COPY --chmod=0644 hack/cri-containerd.toml /rootfs/etc/cri/containerd.toml
|
||||
COPY --chmod=0644 hack/cri-plugin.part /rootfs/etc/cri/conf.d/00-base.part
|
||||
COPY --chmod=0644 hack/udevd/80-net-name-slot.rules /rootfs/usr/lib/udev/rules.d/
|
||||
COPY --chmod=0644 hack/lvm.conf /rootfs/etc/lvm/lvm.conf
|
||||
RUN <<END
|
||||
mkdir -p /rootfs/etc/ssl/certs
|
||||
ln -sv /usr/share/zoneinfo/Etc/UTC /rootfs/etc/localtime
|
||||
touch /rootfs/etc/{extensions.yaml,resolv.conf,hosts,os-release,machine-id,cri/conf.d/cri.toml,cri/conf.d/01-registries.part,cri/conf.d/20-customization.part,ssl/certs/ca-certificates}
|
||||
#ln -sv /etc/pki /rootfs/etc/ssl
|
||||
#ln -sv /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /rootfs/etc/ssl/certs/ca-certificates
|
||||
ln -sv /etc/ssl /rootfs/etc/pki
|
||||
ln -sv ca-certificates /rootfs/etc/ssl/certs/ca-certificates.crt
|
||||
ln -sv /etc/ssl /rootfs/usr/share/ca-certificates
|
||||
ln -sv /etc/ssl /rootfs/usr/local/share/ca-certificates
|
||||
ln -sv /etc/ssl /rootfs/etc/ca-certificates
|
||||
END
|
||||
|
||||
#FROM rootfs-base-${TARGETARCH} AS rootfs-base
|
||||
FROM rootfs-base-amd64 AS rootfs-base
|
||||
RUN find /rootfs -print0 \
|
||||
| xargs -0r touch --no-dereference --date="@${SOURCE_DATE_EPOCH}"
|
||||
|
||||
|
||||
#FROM rootfs-base-arm64 AS rootfs-squashfs-arm64
|
||||
#ARG ZSTD_COMPRESSION_LEVEL
|
||||
#RUN find /rootfs -print0 \
|
||||
# | xargs -0r touch --no-dereference --date="@${SOURCE_DATE_EPOCH}"
|
||||
#RUN mksquashfs /rootfs /rootfs.sqsh -all-root -noappend -comp zstd -Xcompression-level ${ZSTD_COMPRESSION_LEVEL} -no-progress
|
||||
|
||||
|
||||
FROM rootfs-base-amd64 AS rootfs-squashfs-amd64
|
||||
ARG ZSTD_COMPRESSION_LEVEL
|
||||
RUN find /rootfs -print0 \
|
||||
| xargs -0r touch --no-dereference --date="@${SOURCE_DATE_EPOCH}"
|
||||
RUN mksquashfs /rootfs /rootfs.sqsh -all-root -noappend -comp zstd -Xcompression-level ${ZSTD_COMPRESSION_LEVEL} -no-progress
|
||||
|
||||
|
||||
#FROM scratch AS squashfs-arm64
|
||||
#COPY --from=rootfs-squashfs-arm64 /rootfs.sqsh /
|
||||
|
||||
|
||||
FROM scratch AS squashfs-amd64
|
||||
COPY --from=rootfs-squashfs-amd64 /rootfs.sqsh /
|
||||
|
||||
|
||||
FROM scratch AS rootfs
|
||||
COPY --from=rootfs-base /rootfs /
|
||||
|
||||
FROM install-packges AS initramfs-archive-amd64
|
||||
WORKDIR /initramfs
|
||||
ARG ZSTD_COMPRESSION_LEVEL
|
||||
COPY --from=squashfs-amd64 /rootfs.sqsh .
|
||||
COPY --from=install-packges /usr/libexec/talos/init .
|
||||
RUN find . -print0 \
|
||||
| xargs -0r touch --no-dereference --date="@${SOURCE_DATE_EPOCH}"
|
||||
RUN set -o pipefail \
|
||||
&& find . 2>/dev/null \
|
||||
| LC_ALL=c sort \
|
||||
| cpio --reproducible -H newc -o \
|
||||
| zstd -c -T0 -${ZSTD_COMPRESSION_LEVEL} \
|
||||
> /initramfs.xz
|
||||
|
||||
|
||||
FROM initramfs-archive-${TARGETARCH} AS initramfs-archive
|
||||
|
||||
FROM scratch AS initramfs
|
||||
ARG TARGETARCH
|
||||
COPY --from=initramfs-archive /initramfs.xz /initramfs-${TARGETARCH}.xz
|
||||
|
||||
FROM scratch AS talos
|
||||
COPY --from=rootfs / /
|
||||
LABEL org.opencontainers.image.source=https://github.com/siderolabs/talos
|
||||
ENTRYPOINT ["/sbin/init"]
|
||||
|
||||
|
||||
#FROM scratch AS install-artifacts-all
|
||||
#COPY --from=install-artifacts-amd64 / /
|
||||
|
||||
FROM scratch AS install-artifacts-amd64
|
||||
COPY --from=install-packges /boot/vmlinuz /usr/install/amd64/vmlinuz
|
||||
COPY --from=initramfs-archive-amd64 /initramfs.xz /usr/install/amd64/initramfs.xz
|
||||
COPY --from=install-packges /usr/lib/systemd/boot/efi/linuxx64.efi.stub /usr/install/amd64/systemd-stub.efi
|
||||
COPY --from=install-packges /usr/lib/systemd/boot/efi/systemd-bootx64.efi /usr/install/amd64/systemd-boot.efi
|
||||
|
||||
FROM registry.altlinux.org/alt/base:sisyphus AS installer-image
|
||||
ARG SOURCE_DATE_EPOCH
|
||||
ENV SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH}
|
||||
RUN apt-get update && apt-get install -y \
|
||||
bash \
|
||||
binutils \
|
||||
cpio \
|
||||
dosfstools \
|
||||
efibootmgr \
|
||||
grub-efi grub-pc \
|
||||
systemd-boot-efi \
|
||||
kmod \
|
||||
mtools \
|
||||
pigz \
|
||||
qemu-img \
|
||||
squashfs-tools \
|
||||
tar \
|
||||
util-linux \
|
||||
xfsprogs \
|
||||
xorriso \
|
||||
xz \
|
||||
zstd
|
||||
ARG TARGETARCH
|
||||
ENV TARGETARCH=${TARGETARCH}
|
||||
COPY --from=install-packges /usr/bin/installer /bin/installer
|
||||
COPY --chmod=0644 hack/extra-modules.conf /etc/modules.d/10-extra-modules.conf
|
||||
#COPY --from=pkg-grub / /
|
||||
#COPY --from=pkg-grub-arm64 /usr/lib/grub /usr/lib/grub
|
||||
COPY --from=install-packges /boot/grub/fonts/unicode.pf2 /usr/share/grub/unicode.pf2
|
||||
RUN ln /bin/installer /bin/imager
|
||||
#RUN find /bin /etc /lib /usr /sbin | grep -Ev '/etc/hosts|/etc/resolv.conf' \
|
||||
# | xargs -r touch --date="@${SOURCE_DATE_EPOCH}" --no-dereference
|
||||
|
||||
|
||||
FROM scratch AS installer-image-squashed
|
||||
COPY --from=installer-image / /
|
||||
ARG TAG
|
||||
ENV VERSION=${TAG}
|
||||
LABEL "alpha.talos.dev/version"="${VERSION}"
|
||||
LABEL org.opencontainers.image.source=https://github.com/siderolabs/talos
|
||||
ENTRYPOINT ["/bin/installer"]
|
||||
|
||||
FROM installer-image-squashed AS installer
|
||||
COPY --from=install-artifacts-amd64 / /
|
||||
|
||||
FROM installer-image-squashed AS imager
|
||||
COPY --from=install-artifacts-amd64 / /
|
||||
ENTRYPOINT ["/bin/imager"]
|
83
Makefile
83
Makefile
@ -1,5 +1,5 @@
|
||||
REGISTRY ?= ghcr.io
|
||||
USERNAME ?= siderolabs
|
||||
REGISTRY ?= gitea.basealt.ru
|
||||
USERNAME ?= talos
|
||||
SHA ?= $(shell git describe --match=none --always --abbrev=8 --dirty)
|
||||
TAG ?= $(shell git describe --tag --always --dirty --match v[0-9]\*)
|
||||
ABBREV_TAG ?= $(shell git describe --tag --always --match v[0-9]\* --abbrev=0 )
|
||||
@ -17,45 +17,10 @@ ZSTD_COMPRESSION_LEVEL ?= 18
|
||||
CI_RELEASE_TAG := $(shell git log --oneline --format=%B -n 1 HEAD^2 -- 2>/dev/null | head -n 1 | sed -r "/^release\(.*\)/ s/^release\((.*)\):.*$$/\\1/; t; Q")
|
||||
|
||||
ARTIFACTS := _out
|
||||
TOOLS ?= ghcr.io/siderolabs/tools:v1.8.0-2-g7719230
|
||||
|
||||
PKGS_PREFIX ?= ghcr.io/siderolabs
|
||||
PKGS ?= v1.8.0-24-ge72b2f4
|
||||
PKGS_PREFIX ?= gitea.basealt.ru/talos
|
||||
EXTRAS ?= v1.8.0
|
||||
|
||||
KRES_IMAGE ?= ghcr.io/siderolabs/kres:latest
|
||||
CONFORMANCE_IMAGE ?= ghcr.io/siderolabs/conform:latest
|
||||
|
||||
PKG_FHS ?= $(PKGS_PREFIX)/fhs:$(PKGS)
|
||||
PKG_CA_CERTIFICATES ?= $(PKGS_PREFIX)/ca-certificates:$(PKGS)
|
||||
PKG_APPARMOR ?= $(PKGS_PREFIX)/apparmor:$(PKGS)
|
||||
PKG_CRYPTSETUP ?= $(PKGS_PREFIX)/cryptsetup:$(PKGS)
|
||||
PKG_CONTAINERD ?= $(PKGS_PREFIX)/containerd:$(PKGS)
|
||||
PKG_DOSFSTOOLS ?= $(PKGS_PREFIX)/dosfstools:$(PKGS)
|
||||
PKG_EUDEV ?= $(PKGS_PREFIX)/eudev:$(PKGS)
|
||||
PKG_GRUB ?= $(PKGS_PREFIX)/grub:$(PKGS)
|
||||
PKG_SD_BOOT ?= $(PKGS_PREFIX)/sd-boot:$(PKGS)
|
||||
PKG_IPTABLES ?= $(PKGS_PREFIX)/iptables:$(PKGS)
|
||||
PKG_IPXE ?= $(PKGS_PREFIX)/ipxe:$(PKGS)
|
||||
PKG_LIBINIH ?= $(PKGS_PREFIX)/libinih:$(PKGS)
|
||||
PKG_LIBJSON_C ?= $(PKGS_PREFIX)/libjson-c:$(PKGS)
|
||||
PKG_LIBPOPT ?= $(PKGS_PREFIX)/libpopt:$(PKGS)
|
||||
PKG_LIBURCU ?= $(PKGS_PREFIX)/liburcu:$(PKGS)
|
||||
PKG_OPENSSL ?= $(PKGS_PREFIX)/openssl:$(PKGS)
|
||||
PKG_LIBSECCOMP ?= $(PKGS_PREFIX)/libseccomp:$(PKGS)
|
||||
PKG_LINUX_FIRMWARE ?= $(PKGS_PREFIX)/linux-firmware:$(PKGS)
|
||||
PKG_LVM2 ?= $(PKGS_PREFIX)/lvm2:$(PKGS)
|
||||
PKG_LIBAIO ?= $(PKGS_PREFIX)/libaio:$(PKGS)
|
||||
PKG_MUSL ?= $(PKGS_PREFIX)/musl:$(PKGS)
|
||||
PKG_RUNC ?= $(PKGS_PREFIX)/runc:$(PKGS)
|
||||
PKG_XFSPROGS ?= $(PKGS_PREFIX)/xfsprogs:$(PKGS)
|
||||
PKG_UTIL_LINUX ?= $(PKGS_PREFIX)/util-linux:$(PKGS)
|
||||
PKG_KMOD ?= $(PKGS_PREFIX)/kmod:$(PKGS)
|
||||
PKG_CNI ?= $(PKGS_PREFIX)/cni:$(PKGS)
|
||||
PKG_FLANNEL_CNI ?= $(PKGS_PREFIX)/flannel-cni:$(PKGS)
|
||||
PKG_KERNEL ?= $(PKGS_PREFIX)/kernel:$(PKGS)
|
||||
PKG_TALOSCTL_CNI_BUNDLE_INSTALL ?= $(PKGS_PREFIX)/talosctl-cni-bundle-install:$(EXTRAS)
|
||||
|
||||
# renovate: datasource=github-tags depName=golang/go
|
||||
GO_VERSION ?= 1.22
|
||||
# renovate: datasource=go depName=golang.org/x/tools
|
||||
@ -147,16 +112,14 @@ GO_BUILDFLAGS += -tags "$(GO_BUILDTAGS)"
|
||||
|
||||
, := ,
|
||||
space := $(subst ,, )
|
||||
BUILD := docker buildx build
|
||||
BUILD := podman build
|
||||
PLATFORM ?= linux/amd64
|
||||
PROGRESS ?= auto
|
||||
PUSH ?= false
|
||||
COMMON_ARGS := --file=Dockerfile
|
||||
COMMON_ARGS += --progress=$(PROGRESS)
|
||||
COMMON_ARGS := --file=Dockerfile.alt
|
||||
COMMON_ARGS += --platform=$(PLATFORM)
|
||||
COMMON_ARGS += --push=$(PUSH)
|
||||
#COMMON_ARGS += --push=$(PUSH)
|
||||
COMMON_ARGS += --build-arg=TOOLS=$(TOOLS)
|
||||
COMMON_ARGS += --build-arg=PKGS=$(PKGS)
|
||||
COMMON_ARGS += --build-arg=EXTRAS=$(EXTRAS)
|
||||
COMMON_ARGS += --build-arg=GOFUMPT_VERSION=$(GOFUMPT_VERSION)
|
||||
COMMON_ARGS += --build-arg=GOIMPORTS_VERSION=$(GOIMPORTS_VERSION)
|
||||
@ -189,38 +152,6 @@ COMMON_ARGS += --build-arg=NAME=$(NAME)
|
||||
COMMON_ARGS += --build-arg=SHA=$(SHA)
|
||||
COMMON_ARGS += --build-arg=USERNAME=$(USERNAME)
|
||||
COMMON_ARGS += --build-arg=REGISTRY=$(REGISTRY)
|
||||
COMMON_ARGS += --build-arg=PKGS_PREFIX=$(PKGS_PREFIX)
|
||||
COMMON_ARGS += --build-arg=PKG_FHS=$(PKG_FHS)
|
||||
COMMON_ARGS += --build-arg=PKG_CA_CERTIFICATES=$(PKG_CA_CERTIFICATES)
|
||||
COMMON_ARGS += --build-arg=PKG_APPARMOR=$(PKG_APPARMOR)
|
||||
COMMON_ARGS += --build-arg=PKG_CRYPTSETUP=$(PKG_CRYPTSETUP)
|
||||
COMMON_ARGS += --build-arg=PKG_CONTAINERD=$(PKG_CONTAINERD)
|
||||
COMMON_ARGS += --build-arg=PKG_DOSFSTOOLS=$(PKG_DOSFSTOOLS)
|
||||
COMMON_ARGS += --build-arg=PKG_EUDEV=$(PKG_EUDEV)
|
||||
COMMON_ARGS += --build-arg=PKG_GRUB=$(PKG_GRUB)
|
||||
COMMON_ARGS += --build-arg=PKG_SD_BOOT=$(PKG_SD_BOOT)
|
||||
COMMON_ARGS += --build-arg=PKG_IPTABLES=$(PKG_IPTABLES)
|
||||
COMMON_ARGS += --build-arg=PKG_IPXE=$(PKG_IPXE)
|
||||
COMMON_ARGS += --build-arg=PKG_LIBINIH=$(PKG_LIBINIH)
|
||||
COMMON_ARGS += --build-arg=PKG_LIBJSON_C=$(PKG_LIBJSON_C)
|
||||
COMMON_ARGS += --build-arg=PKG_LIBPOPT=$(PKG_LIBPOPT)
|
||||
COMMON_ARGS += --build-arg=PKG_LIBURCU=$(PKG_LIBURCU)
|
||||
COMMON_ARGS += --build-arg=PKG_OPENSSL=$(PKG_OPENSSL)
|
||||
COMMON_ARGS += --build-arg=PKG_LIBSECCOMP=$(PKG_LIBSECCOMP)
|
||||
COMMON_ARGS += --build-arg=PKG_LINUX_FIRMWARE=$(PKG_LINUX_FIRMWARE)
|
||||
COMMON_ARGS += --build-arg=PKG_LVM2=$(PKG_LVM2)
|
||||
COMMON_ARGS += --build-arg=PKG_LIBAIO=$(PKG_LIBAIO)
|
||||
COMMON_ARGS += --build-arg=PKG_MUSL=$(PKG_MUSL)
|
||||
COMMON_ARGS += --build-arg=PKG_RUNC=$(PKG_RUNC)
|
||||
COMMON_ARGS += --build-arg=PKG_XFSPROGS=$(PKG_XFSPROGS)
|
||||
COMMON_ARGS += --build-arg=PKG_UTIL_LINUX=$(PKG_UTIL_LINUX)
|
||||
COMMON_ARGS += --build-arg=PKG_KMOD=$(PKG_KMOD)
|
||||
COMMON_ARGS += --build-arg=PKG_U_BOOT=$(PKG_U_BOOT)
|
||||
COMMON_ARGS += --build-arg=PKG_RASPBERYPI_FIRMWARE=$(PKG_RASPBERYPI_FIRMWARE)
|
||||
COMMON_ARGS += --build-arg=PKG_CNI=$(PKG_CNI)
|
||||
COMMON_ARGS += --build-arg=PKG_FLANNEL_CNI=$(PKG_FLANNEL_CNI)
|
||||
COMMON_ARGS += --build-arg=PKG_KERNEL=$(PKG_KERNEL)
|
||||
COMMON_ARGS += --build-arg=PKG_TALOSCTL_CNI_BUNDLE_INSTALL=$(PKG_TALOSCTL_CNI_BUNDLE_INSTALL)
|
||||
COMMON_ARGS += --build-arg=ABBREV_TAG=$(ABBREV_TAG)
|
||||
COMMON_ARGS += --build-arg=ZSTD_COMPRESSION_LEVEL=$(ZSTD_COMPRESSION_LEVEL)
|
||||
COMMON_ARGS += --build-arg=MICROSOFT_SECUREBOOT_RELEASE=$(MICROSOFT_SECUREBOOT_RELEASE)
|
||||
@ -298,7 +229,7 @@ docker-%: ## Builds the specified target defined in the Dockerfile using the doc
|
||||
@$(MAKE) target-$* TARGET_ARGS="--output type=docker,dest=$(DEST)/$*.tar,name=$(REGISTRY_AND_USERNAME)/$*:$(IMAGE_TAG) $(TARGET_ARGS)"
|
||||
|
||||
registry-%: ## Builds the specified target defined in the Dockerfile using the image/registry output type. The build result will be pushed to the registry if PUSH=true.
|
||||
@$(MAKE) target-$* TARGET_ARGS="--output type=image,name=$(REGISTRY_AND_USERNAME)/$*:$(IMAGE_TAG) $(TARGET_ARGS)"
|
||||
@$(MAKE) target-$* TARGET_ARGS="--output type=local,dest=$(REGISTRY_AND_USERNAME)/$*:$(IMAGE_TAG) $(TARGET_ARGS)"
|
||||
|
||||
hack-test-%: ## Runs the specified script in ./hack/test with well known environment variables.
|
||||
@./hack/test/$*.sh
|
||||
|
635
Makefile.original
Normal file
635
Makefile.original
Normal file
@ -0,0 +1,635 @@
|
||||
REGISTRY ?= ghcr.io
|
||||
USERNAME ?= siderolabs
|
||||
SHA ?= $(shell git describe --match=none --always --abbrev=8 --dirty)
|
||||
TAG ?= $(shell git describe --tag --always --dirty --match v[0-9]\*)
|
||||
ABBREV_TAG ?= $(shell git describe --tag --always --match v[0-9]\* --abbrev=0 )
|
||||
TAG_SUFFIX ?=
|
||||
SOURCE_DATE_EPOCH ?= $(shell git log -1 --pretty=%ct)
|
||||
IMAGE_REGISTRY ?= $(REGISTRY)
|
||||
IMAGE_TAG ?= $(TAG)$(TAG_SUFFIX)
|
||||
BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD)
|
||||
REGISTRY_AND_USERNAME := $(IMAGE_REGISTRY)/$(USERNAME)
|
||||
NAME = Talos
|
||||
|
||||
CLOUD_IMAGES_EXTRA_ARGS ?= ""
|
||||
ZSTD_COMPRESSION_LEVEL ?= 18
|
||||
|
||||
CI_RELEASE_TAG := $(shell git log --oneline --format=%B -n 1 HEAD^2 -- 2>/dev/null | head -n 1 | sed -r "/^release\(.*\)/ s/^release\((.*)\):.*$$/\\1/; t; Q")
|
||||
|
||||
ARTIFACTS := _out
|
||||
TOOLS ?= ghcr.io/siderolabs/tools:v1.8.0-1-ga0c06c6
|
||||
|
||||
PKGS_PREFIX ?= ghcr.io/siderolabs
|
||||
PKGS ?= v1.8.0-8-gdf1a1a5
|
||||
EXTRAS ?= v1.8.0
|
||||
|
||||
KRES_IMAGE ?= ghcr.io/siderolabs/kres:latest
|
||||
CONFORMANCE_IMAGE ?= ghcr.io/siderolabs/conform:latest
|
||||
|
||||
PKG_FHS ?= $(PKGS_PREFIX)/fhs:$(PKGS)
|
||||
PKG_CA_CERTIFICATES ?= $(PKGS_PREFIX)/ca-certificates:$(PKGS)
|
||||
PKG_APPARMOR ?= $(PKGS_PREFIX)/apparmor:$(PKGS)
|
||||
PKG_CRYPTSETUP ?= $(PKGS_PREFIX)/cryptsetup:$(PKGS)
|
||||
PKG_CONTAINERD ?= $(PKGS_PREFIX)/containerd:$(PKGS)
|
||||
PKG_DOSFSTOOLS ?= $(PKGS_PREFIX)/dosfstools:$(PKGS)
|
||||
PKG_EUDEV ?= $(PKGS_PREFIX)/eudev:$(PKGS)
|
||||
PKG_GRUB ?= $(PKGS_PREFIX)/grub:$(PKGS)
|
||||
PKG_SD_BOOT ?= $(PKGS_PREFIX)/sd-boot:$(PKGS)
|
||||
PKG_IPTABLES ?= $(PKGS_PREFIX)/iptables:$(PKGS)
|
||||
PKG_IPXE ?= $(PKGS_PREFIX)/ipxe:$(PKGS)
|
||||
PKG_LIBINIH ?= $(PKGS_PREFIX)/libinih:$(PKGS)
|
||||
PKG_LIBJSON_C ?= $(PKGS_PREFIX)/libjson-c:$(PKGS)
|
||||
PKG_LIBPOPT ?= $(PKGS_PREFIX)/libpopt:$(PKGS)
|
||||
PKG_LIBURCU ?= $(PKGS_PREFIX)/liburcu:$(PKGS)
|
||||
PKG_OPENSSL ?= $(PKGS_PREFIX)/openssl:$(PKGS)
|
||||
PKG_LIBSECCOMP ?= $(PKGS_PREFIX)/libseccomp:$(PKGS)
|
||||
PKG_LINUX_FIRMWARE ?= $(PKGS_PREFIX)/linux-firmware:$(PKGS)
|
||||
PKG_LVM2 ?= $(PKGS_PREFIX)/lvm2:$(PKGS)
|
||||
PKG_LIBAIO ?= $(PKGS_PREFIX)/libaio:$(PKGS)
|
||||
PKG_MUSL ?= $(PKGS_PREFIX)/musl:$(PKGS)
|
||||
PKG_RUNC ?= $(PKGS_PREFIX)/runc:$(PKGS)
|
||||
PKG_XFSPROGS ?= $(PKGS_PREFIX)/xfsprogs:$(PKGS)
|
||||
PKG_UTIL_LINUX ?= $(PKGS_PREFIX)/util-linux:$(PKGS)
|
||||
PKG_KMOD ?= $(PKGS_PREFIX)/kmod:$(PKGS)
|
||||
PKG_CNI ?= $(PKGS_PREFIX)/cni:$(PKGS)
|
||||
PKG_FLANNEL_CNI ?= $(PKGS_PREFIX)/flannel-cni:$(PKGS)
|
||||
PKG_KERNEL ?= $(PKGS_PREFIX)/kernel:$(PKGS)
|
||||
PKG_TALOSCTL_CNI_BUNDLE_INSTALL ?= $(PKGS_PREFIX)/talosctl-cni-bundle-install:$(EXTRAS)
|
||||
|
||||
# renovate: datasource=github-tags depName=golang/go
|
||||
GO_VERSION ?= 1.22
|
||||
# renovate: datasource=go depName=golang.org/x/tools
|
||||
GOIMPORTS_VERSION ?= v0.24.0
|
||||
# renovate: datasource=go depName=mvdan.cc/gofumpt
|
||||
GOFUMPT_VERSION ?= v0.7.0
|
||||
# renovate: datasource=go depName=github.com/golangci/golangci-lint
|
||||
GOLANGCILINT_VERSION ?= v1.60.3
|
||||
# renovate: datasource=go depName=golang.org/x/tools
|
||||
STRINGER_VERSION ?= v0.24.0
|
||||
# renovate: datasource=go depName=github.com/dmarkham/enumer
|
||||
ENUMER_VERSION ?= v1.5.10
|
||||
# renovate: datasource=go depName=k8s.io/code-generator
|
||||
DEEPCOPY_GEN_VERSION ?= v0.31.0
|
||||
# renovate: datasource=go depName=github.com/planetscale/vtprotobuf
|
||||
VTPROTOBUF_VERSION ?= v0.6.0
|
||||
# renovate: datasource=go depName=github.com/siderolabs/deep-copy
|
||||
DEEPCOPY_VERSION ?= v0.5.6
|
||||
# renovate: datasource=go depName=github.com/siderolabs/importvet
|
||||
IMPORTVET_VERSION ?= v0.2.0
|
||||
# not setting renovate config since the repo is archived
|
||||
PROTOTOOL_VERSION ?= v1.10.0
|
||||
# renovate: datasource=go depName=github.com/pseudomuto/protoc-gen-doc
|
||||
PROTOC_GEN_DOC_VERSION ?= v1.5.1
|
||||
# renovate: datasource=npm depName=markdownlint-cli
|
||||
MARKDOWNLINTCLI_VERSION ?= 0.40.0
|
||||
# renovate: datasource=npm depName=textlint
|
||||
TEXTLINT_VERSION ?= 14.0.4
|
||||
# renovate: datasource=npm depName=textlint-filter-rule-comments
|
||||
TEXTLINT_FILTER_RULE_COMMENTS_VERSION ?= 1.2.2
|
||||
# renovate: datasource=npm depName=textlint-rule-one-sentence-per-line
|
||||
TEXTLINT_RULE_ONE_SENTENCE_PER_LINE_VERSION ?= 2.0.0
|
||||
# renovate: datasource=docker depName=klakegg/hugo
|
||||
HUGO_VERSION ?= 0.111.3-ext-alpine
|
||||
OPERATING_SYSTEM := $(shell uname -s | tr "[:upper:]" "[:lower:]")
|
||||
ARCH := $(shell uname -m | sed 's/x86_64/amd64/' | sed 's/aarch64/arm64/')
|
||||
TALOSCTL_DEFAULT_TARGET := talosctl-$(OPERATING_SYSTEM)
|
||||
TALOSCTL_EXECUTABLE := $(PWD)/$(ARTIFACTS)/$(TALOSCTL_DEFAULT_TARGET)-$(ARCH)
|
||||
INTEGRATION_TEST_DEFAULT_TARGET := integration-test-$(OPERATING_SYSTEM)
|
||||
INTEGRATION_TEST_PROVISION_DEFAULT_TARGET := integration-test-provision-$(OPERATING_SYSTEM)
|
||||
# renovate: datasource=github-releases depName=kubernetes/kubernetes
|
||||
KUBECTL_VERSION ?= v1.31.1
|
||||
# renovate: datasource=github-releases depName=kastenhq/kubestr
|
||||
KUBESTR_VERSION ?= v0.4.46
|
||||
# renovate: datasource=github-releases depName=helm/helm
|
||||
HELM_VERSION ?= v3.15.4
|
||||
# renovate: datasource=github-releases depName=cilium/cilium-cli
|
||||
CILIUM_CLI_VERSION ?= v0.16.16
|
||||
# renovate: datasource=github-releases depName=microsoft/secureboot_objects
|
||||
MICROSOFT_SECUREBOOT_RELEASE ?= v1.1.3
|
||||
|
||||
KUBECTL_URL ?= https://dl.k8s.io/release/$(KUBECTL_VERSION)/bin/$(OPERATING_SYSTEM)/amd64/kubectl
|
||||
KUBESTR_URL ?= https://github.com/kastenhq/kubestr/releases/download/$(KUBESTR_VERSION)/kubestr_$(subst v,,$(KUBESTR_VERSION))_Linux_amd64.tar.gz
|
||||
HELM_URL ?= https://get.helm.sh/helm-$(HELM_VERSION)-linux-amd64.tar.gz
|
||||
CILIUM_CLI_URL ?= https://github.com/cilium/cilium-cli/releases/download/$(CILIUM_CLI_VERSION)/cilium-$(OPERATING_SYSTEM)-amd64.tar.gz
|
||||
TESTPKGS ?= github.com/siderolabs/talos/...
|
||||
RELEASES ?= v1.6.7 v1.7.0
|
||||
SHORT_INTEGRATION_TEST ?=
|
||||
CUSTOM_CNI_URL ?=
|
||||
INSTALLER_ARCH ?= all
|
||||
IMAGER_ARGS ?=
|
||||
|
||||
CGO_ENABLED ?= 0
|
||||
GO_BUILDFLAGS ?=
|
||||
GO_BUILDTAGS ?= tcell_minimal,grpcnotrace
|
||||
GO_LDFLAGS ?=
|
||||
GOAMD64 ?= v2
|
||||
|
||||
WITH_RACE ?= false
|
||||
WITH_DEBUG ?= false
|
||||
|
||||
ifneq (, $(filter $(WITH_RACE), t true TRUE y yes 1))
|
||||
CGO_ENABLED = 1
|
||||
GO_BUILDFLAGS += -race
|
||||
GO_LDFLAGS += -linkmode=external -extldflags '-static'
|
||||
INSTALLER_ARCH = targetarch
|
||||
endif
|
||||
|
||||
ifneq (, $(filter $(WITH_DEBUG), t true TRUE y yes 1))
|
||||
GO_BUILDTAGS := $(GO_BUILDTAGS),sidero.debug
|
||||
else
|
||||
GO_LDFLAGS += -s -w
|
||||
endif
|
||||
|
||||
GO_BUILDFLAGS += -tags "$(GO_BUILDTAGS)"
|
||||
|
||||
, := ,
|
||||
space := $(subst ,, )
|
||||
BUILD := docker buildx build
|
||||
PLATFORM ?= linux/amd64
|
||||
PROGRESS ?= auto
|
||||
PUSH ?= false
|
||||
COMMON_ARGS := --file=Dockerfile
|
||||
COMMON_ARGS += --progress=$(PROGRESS)
|
||||
COMMON_ARGS += --platform=$(PLATFORM)
|
||||
COMMON_ARGS += --push=$(PUSH)
|
||||
COMMON_ARGS += --build-arg=TOOLS=$(TOOLS)
|
||||
COMMON_ARGS += --build-arg=PKGS=$(PKGS)
|
||||
COMMON_ARGS += --build-arg=EXTRAS=$(EXTRAS)
|
||||
COMMON_ARGS += --build-arg=GOFUMPT_VERSION=$(GOFUMPT_VERSION)
|
||||
COMMON_ARGS += --build-arg=GOIMPORTS_VERSION=$(GOIMPORTS_VERSION)
|
||||
COMMON_ARGS += --build-arg=STRINGER_VERSION=$(STRINGER_VERSION)
|
||||
COMMON_ARGS += --build-arg=ENUMER_VERSION=$(ENUMER_VERSION)
|
||||
COMMON_ARGS += --build-arg=DEEPCOPY_GEN_VERSION=$(DEEPCOPY_GEN_VERSION)
|
||||
COMMON_ARGS += --build-arg=VTPROTOBUF_VERSION=$(VTPROTOBUF_VERSION)
|
||||
COMMON_ARGS += --build-arg=IMPORTVET_VERSION=$(IMPORTVET_VERSION)
|
||||
COMMON_ARGS += --build-arg=PROTOTOOL_VERSION=$(PROTOTOOL_VERSION)
|
||||
COMMON_ARGS += --build-arg=PROTOC_GEN_DOC_VERSION=$(PROTOC_GEN_DOC_VERSION)
|
||||
COMMON_ARGS += --build-arg=GOLANGCILINT_VERSION=$(GOLANGCILINT_VERSION)
|
||||
COMMON_ARGS += --build-arg=DEEPCOPY_VERSION=$(DEEPCOPY_VERSION)
|
||||
COMMON_ARGS += --build-arg=MARKDOWNLINTCLI_VERSION=$(MARKDOWNLINTCLI_VERSION)
|
||||
COMMON_ARGS += --build-arg=TEXTLINT_VERSION=$(TEXTLINT_VERSION)
|
||||
COMMON_ARGS += --build-arg=TEXTLINT_FILTER_RULE_COMMENTS_VERSION=$(TEXTLINT_FILTER_RULE_COMMENTS_VERSION)
|
||||
COMMON_ARGS += --build-arg=TEXTLINT_RULE_ONE_SENTENCE_PER_LINE_VERSION=$(TEXTLINT_RULE_ONE_SENTENCE_PER_LINE_VERSION)
|
||||
COMMON_ARGS += --build-arg=TAG=$(TAG)
|
||||
COMMON_ARGS += --build-arg=SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH)
|
||||
COMMON_ARGS += --build-arg=ARTIFACTS=$(ARTIFACTS)
|
||||
COMMON_ARGS += --build-arg=TESTPKGS=$(TESTPKGS)
|
||||
COMMON_ARGS += --build-arg=INSTALLER_ARCH=$(INSTALLER_ARCH)
|
||||
COMMON_ARGS += --build-arg=CGO_ENABLED=$(CGO_ENABLED)
|
||||
COMMON_ARGS += --build-arg=GO_BUILDFLAGS="$(GO_BUILDFLAGS)"
|
||||
COMMON_ARGS += --build-arg=GO_LDFLAGS="$(GO_LDFLAGS)"
|
||||
COMMON_ARGS += --build-arg=GOAMD64="$(GOAMD64)"
|
||||
COMMON_ARGS += --build-arg=http_proxy=$(http_proxy)
|
||||
COMMON_ARGS += --build-arg=https_proxy=$(https_proxy)
|
||||
COMMON_ARGS += --build-arg=NAME=$(NAME)
|
||||
COMMON_ARGS += --build-arg=SHA=$(SHA)
|
||||
COMMON_ARGS += --build-arg=USERNAME=$(USERNAME)
|
||||
COMMON_ARGS += --build-arg=REGISTRY=$(REGISTRY)
|
||||
COMMON_ARGS += --build-arg=PKGS_PREFIX=$(PKGS_PREFIX)
|
||||
COMMON_ARGS += --build-arg=PKG_FHS=$(PKG_FHS)
|
||||
COMMON_ARGS += --build-arg=PKG_CA_CERTIFICATES=$(PKG_CA_CERTIFICATES)
|
||||
COMMON_ARGS += --build-arg=PKG_APPARMOR=$(PKG_APPARMOR)
|
||||
COMMON_ARGS += --build-arg=PKG_CRYPTSETUP=$(PKG_CRYPTSETUP)
|
||||
COMMON_ARGS += --build-arg=PKG_CONTAINERD=$(PKG_CONTAINERD)
|
||||
COMMON_ARGS += --build-arg=PKG_DOSFSTOOLS=$(PKG_DOSFSTOOLS)
|
||||
COMMON_ARGS += --build-arg=PKG_EUDEV=$(PKG_EUDEV)
|
||||
COMMON_ARGS += --build-arg=PKG_GRUB=$(PKG_GRUB)
|
||||
COMMON_ARGS += --build-arg=PKG_SD_BOOT=$(PKG_SD_BOOT)
|
||||
COMMON_ARGS += --build-arg=PKG_IPTABLES=$(PKG_IPTABLES)
|
||||
COMMON_ARGS += --build-arg=PKG_IPXE=$(PKG_IPXE)
|
||||
COMMON_ARGS += --build-arg=PKG_LIBINIH=$(PKG_LIBINIH)
|
||||
COMMON_ARGS += --build-arg=PKG_LIBJSON_C=$(PKG_LIBJSON_C)
|
||||
COMMON_ARGS += --build-arg=PKG_LIBPOPT=$(PKG_LIBPOPT)
|
||||
COMMON_ARGS += --build-arg=PKG_LIBURCU=$(PKG_LIBURCU)
|
||||
COMMON_ARGS += --build-arg=PKG_OPENSSL=$(PKG_OPENSSL)
|
||||
COMMON_ARGS += --build-arg=PKG_LIBSECCOMP=$(PKG_LIBSECCOMP)
|
||||
COMMON_ARGS += --build-arg=PKG_LINUX_FIRMWARE=$(PKG_LINUX_FIRMWARE)
|
||||
COMMON_ARGS += --build-arg=PKG_LVM2=$(PKG_LVM2)
|
||||
COMMON_ARGS += --build-arg=PKG_LIBAIO=$(PKG_LIBAIO)
|
||||
COMMON_ARGS += --build-arg=PKG_MUSL=$(PKG_MUSL)
|
||||
COMMON_ARGS += --build-arg=PKG_RUNC=$(PKG_RUNC)
|
||||
COMMON_ARGS += --build-arg=PKG_XFSPROGS=$(PKG_XFSPROGS)
|
||||
COMMON_ARGS += --build-arg=PKG_UTIL_LINUX=$(PKG_UTIL_LINUX)
|
||||
COMMON_ARGS += --build-arg=PKG_KMOD=$(PKG_KMOD)
|
||||
COMMON_ARGS += --build-arg=PKG_U_BOOT=$(PKG_U_BOOT)
|
||||
COMMON_ARGS += --build-arg=PKG_RASPBERYPI_FIRMWARE=$(PKG_RASPBERYPI_FIRMWARE)
|
||||
COMMON_ARGS += --build-arg=PKG_CNI=$(PKG_CNI)
|
||||
COMMON_ARGS += --build-arg=PKG_FLANNEL_CNI=$(PKG_FLANNEL_CNI)
|
||||
COMMON_ARGS += --build-arg=PKG_KERNEL=$(PKG_KERNEL)
|
||||
COMMON_ARGS += --build-arg=PKG_TALOSCTL_CNI_BUNDLE_INSTALL=$(PKG_TALOSCTL_CNI_BUNDLE_INSTALL)
|
||||
COMMON_ARGS += --build-arg=ABBREV_TAG=$(ABBREV_TAG)
|
||||
COMMON_ARGS += --build-arg=ZSTD_COMPRESSION_LEVEL=$(ZSTD_COMPRESSION_LEVEL)
|
||||
COMMON_ARGS += --build-arg=MICROSOFT_SECUREBOOT_RELEASE=$(MICROSOFT_SECUREBOOT_RELEASE)
|
||||
|
||||
CI_ARGS ?=
|
||||
|
||||
EXTENSIONS_FILTER_COMMAND ?= grep -vE 'tailscale|xen-guest-agent|nvidia|vmtoolsd-guest-agent'
|
||||
|
||||
all: initramfs kernel installer imager talosctl talosctl-image talos
|
||||
|
||||
# Help Menu
|
||||
|
||||
define HELP_MENU_HEADER
|
||||
# Getting Started
|
||||
|
||||
To build this project, you must have the following installed:
|
||||
|
||||
- git
|
||||
- make
|
||||
- docker (19.03 or higher)
|
||||
- buildx (https://github.com/docker/buildx)
|
||||
- crane (https://github.com/google/go-containerregistry/blob/main/cmd/crane/README.md)
|
||||
|
||||
## Creating a Builder Instance
|
||||
|
||||
The build process makes use of features not currently supported by the default
|
||||
builder instance (docker driver). To create a compatible builder instance, run:
|
||||
|
||||
```
|
||||
docker buildx create --driver docker-container --name local --buildkitd-flags '--allow-insecure-entitlement security.insecure' --use
|
||||
```
|
||||
|
||||
If you already have a compatible builder instance, you may use that instead.
|
||||
|
||||
> Note: The security.insecure entitlement is only required, and used by the unit-tests target.
|
||||
|
||||
## Artifacts
|
||||
|
||||
All artifacts will be output to ./$(ARTIFACTS). Images will be tagged with the
|
||||
registry "$(IMAGE_REGISTRY)", username "$(USERNAME)", and a dynamic tag (e.g. $(REGISTRY_AND_USERNAME)/image:$(IMAGE_TAG)).
|
||||
The registry and username can be overridden by exporting REGISTRY, and USERNAME
|
||||
respectively.
|
||||
|
||||
## Race Detector
|
||||
|
||||
Building with `WITH_RACE=1` enables race detector in the Talos executables. Integration tests are always built with the race detector
|
||||
enabled.
|
||||
|
||||
endef
|
||||
|
||||
export HELP_MENU_HEADER
|
||||
|
||||
help: ## This help menu.
|
||||
@echo "$$HELP_MENU_HEADER"
|
||||
@grep -E '^[a-zA-Z0-9%_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
||||
|
||||
# Build Abstractions
|
||||
|
||||
.PHONY: base
|
||||
target-%: ## Builds the specified target defined in the Dockerfile. The build result will only remain in the build cache.
|
||||
@$(BUILD) \
|
||||
--target=$* \
|
||||
$(COMMON_ARGS) \
|
||||
$(TARGET_ARGS) \
|
||||
$(CI_ARGS) .
|
||||
|
||||
local-%: ## Builds the specified target defined in the Dockerfile using the local output type. The build result will be output to the specified local destination.
|
||||
@$(MAKE) target-$* TARGET_ARGS="--output=type=local,dest=$(DEST) $(TARGET_ARGS)"
|
||||
@PLATFORM=$(PLATFORM) \
|
||||
ARTIFACTS=$(ARTIFACTS) \
|
||||
./hack/fix-artifacts.sh
|
||||
|
||||
docker-%: ## Builds the specified target defined in the Dockerfile using the docker output type. The build result will be output to the specified local destination.
|
||||
@mkdir -p $(DEST)
|
||||
@$(MAKE) target-$* TARGET_ARGS="--output type=docker,dest=$(DEST)/$*.tar,name=$(REGISTRY_AND_USERNAME)/$*:$(IMAGE_TAG) $(TARGET_ARGS)"
|
||||
|
||||
registry-%: ## Builds the specified target defined in the Dockerfile using the image/registry output type. The build result will be pushed to the registry if PUSH=true.
|
||||
@$(MAKE) target-$* TARGET_ARGS="--output type=image,name=$(REGISTRY_AND_USERNAME)/$*:$(IMAGE_TAG) $(TARGET_ARGS)"
|
||||
|
||||
hack-test-%: ## Runs the specified script in ./hack/test with well known environment variables.
|
||||
@./hack/test/$*.sh
|
||||
|
||||
# Generators
|
||||
|
||||
.PHONY: generate
|
||||
generate: ## Generates code from protobuf service definitions and machinery config.
|
||||
@$(MAKE) local-$@ DEST=./ PLATFORM=linux/amd64
|
||||
|
||||
.PHONY: docs
|
||||
docs: ## Generates the documentation for machine config, and talosctl.
|
||||
@rm -rf docs/configuration/*
|
||||
@rm -rf docs/talosctl/*
|
||||
@$(MAKE) local-$@ DEST=./ PLATFORM=linux/amd64
|
||||
|
||||
.PHONY: docs-preview
|
||||
docs-preview: ## Starts a local preview of the documentation using Hugo in docker
|
||||
@docker run --rm --interactive --tty \
|
||||
--user $(shell id -u):$(shell id -g) \
|
||||
--volume $(PWD):/src --workdir /src/website \
|
||||
--publish 1313:1313 \
|
||||
klakegg/hugo:$(HUGO_VERSION) \
|
||||
server
|
||||
|
||||
# Local Artifacts
|
||||
|
||||
.PHONY: kernel
|
||||
kernel: ## Outputs the kernel package contents (vmlinuz) to the artifact directory.
|
||||
@$(MAKE) local-$@ DEST=$(ARTIFACTS) PUSH=false
|
||||
@-rm -rf $(ARTIFACTS)/modules
|
||||
|
||||
.PHONY: initramfs
|
||||
initramfs: ## Builds the compressed initramfs and outputs it to the artifact directory.
|
||||
@$(MAKE) local-$@ DEST=$(ARTIFACTS) PUSH=false
|
||||
|
||||
.PHONY: sd-boot
|
||||
sd-boot: ## Outputs the systemd-boot to the artifact directory.
|
||||
@$(MAKE) local-$@ DEST=$(ARTIFACTS) PUSH=false
|
||||
|
||||
.PHONY: sd-stub
|
||||
sd-stub: ## Outputs the systemd-stub to the artifact directory.
|
||||
@$(MAKE) local-$@ DEST=$(ARTIFACTS) PUSH=false
|
||||
|
||||
.PHONY: installer
|
||||
installer: ## Builds the container image for the installer and outputs it to the registry.
|
||||
@INSTALLER_ARCH=targetarch \
|
||||
$(MAKE) registry-$@
|
||||
|
||||
.PHONY: imager
|
||||
imager: ## Builds the container image for the imager and outputs it to the registry.
|
||||
@$(MAKE) registry-$@
|
||||
|
||||
.PHONY: talos
|
||||
talos: ## Builds the Talos container image and outputs it to the registry.
|
||||
@$(MAKE) registry-$@
|
||||
|
||||
.PHONY: talosctl-image
|
||||
talosctl-image: ## Builds the talosctl container image and outputs it to the registry.
|
||||
@$(MAKE) registry-talosctl
|
||||
|
||||
talosctl-all:
|
||||
@$(MAKE) local-talosctl-all DEST=$(ARTIFACTS) PUSH=false NAME=Client
|
||||
|
||||
talosctl-linux-amd64:
|
||||
@$(MAKE) local-talosctl-linux-amd64 DEST=$(ARTIFACTS) PUSH=false NAME=Client
|
||||
|
||||
talosctl-linux-arm64:
|
||||
@$(MAKE) local-talosctl-linux-arm64 DEST=$(ARTIFACTS) PUSH=false NAME=Client
|
||||
|
||||
talosctl-darwin-amd64:
|
||||
@$(MAKE) local-talosctl-darwin-amd64 DEST=$(ARTIFACTS) PUSH=false NAME=Client
|
||||
|
||||
talosctl-darwin-arm64:
|
||||
@$(MAKE) local-talosctl-darwin-arm64 DEST=$(ARTIFACTS) PUSH=false NAME=Client
|
||||
|
||||
talosctl-freebsd-amd64:
|
||||
@$(MAKE) local-talosctl-freebsd-amd64 DEST=$(ARTIFACTS) PUSH=false NAME=Client
|
||||
|
||||
taloscl-freebsd-arm64:
|
||||
@$(MAKE) local-talosctl-freebsd-arm64 DEST=$(ARTIFACTS) PUSH=false NAME=Client
|
||||
|
||||
talosctl-windows-amd64:
|
||||
@$(MAKE) local-talosctl-windows-amd64 DEST=$(ARTIFACTS) PUSH=false NAME=Client
|
||||
|
||||
talosctl:
|
||||
@$(MAKE) local-talosctl-targetarch DEST=$(ARTIFACTS)
|
||||
|
||||
image-%: ## Builds the specified image. Valid options are aws, azure, digital-ocean, gcp, and vmware (e.g. image-aws)
|
||||
@docker pull $(REGISTRY_AND_USERNAME)/imager:$(IMAGE_TAG)
|
||||
@for platform in $(subst $(,),$(space),$(PLATFORM)); do \
|
||||
arch=$$(basename "$${platform}") && \
|
||||
docker run --rm -t -v /dev:/dev -v $(PWD)/$(ARTIFACTS):/secureboot:ro -v $(PWD)/$(ARTIFACTS):/out -e SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) --network=host --privileged $(REGISTRY_AND_USERNAME)/imager:$(IMAGE_TAG) $* --arch $$arch $(IMAGER_ARGS) ; \
|
||||
done
|
||||
|
||||
images-essential: image-aws image-azure image-gcp image-metal secureboot-installer ## Builds only essential images used in the CI (AWS, GCP, and Metal).
|
||||
|
||||
images: image-akamai image-aws image-azure image-digital-ocean image-exoscale image-cloudstack image-gcp image-hcloud image-iso image-metal image-nocloud image-opennebula image-openstack image-oracle image-scaleway image-upcloud image-vmware image-vultr ## Builds all known images (AWS, Azure, DigitalOcean, Exoscale, Cloudstack, GCP, HCloud, Metal, NoCloud, OpenNebula, OpenStack, Oracle, Scaleway, UpCloud, Vultr and VMware).
|
||||
|
||||
.PHONY: iso
|
||||
iso: image-iso ## Builds the ISO and outputs it to the artifact directory.
|
||||
|
||||
.PHONY: secureboot-iso
|
||||
secureboot-iso: image-secureboot-iso ## Builds UEFI only ISO which uses UKI and outputs it to the artifact directory.
|
||||
|
||||
.PHONY: secureboot-installer
|
||||
secureboot-installer: ## Builds UEFI only installer which uses UKI and push it to the registry.
|
||||
@$(MAKE) image-secureboot-installer IMAGER_ARGS="--base-installer-image $(REGISTRY_AND_USERNAME)/installer:$(IMAGE_TAG)"
|
||||
@for platform in $(subst $(,),$(space),$(PLATFORM)); do \
|
||||
arch=$$(basename "$${platform}") && \
|
||||
crane push $(ARTIFACTS)/installer-$${arch}-secureboot.tar $(REGISTRY_AND_USERNAME)/installer:$(IMAGE_TAG)-$${arch}-secureboot ; \
|
||||
done
|
||||
|
||||
.PHONY: talosctl-cni-bundle
|
||||
talosctl-cni-bundle: ## Creates a compressed tarball that includes CNI bundle for talosctl.
|
||||
@$(MAKE) local-$@ DEST=$(ARTIFACTS)
|
||||
@for platform in $(subst $(,),$(space),$(PLATFORM)); do \
|
||||
arch=`basename "$${platform}"` ; \
|
||||
tar -C $(ARTIFACTS)/talosctl-cni-bundle-$${arch} -czf $(ARTIFACTS)/talosctl-cni-bundle-$${arch}.tar.gz . ; \
|
||||
done
|
||||
@rm -rf $(ARTIFACTS)/talosctl-cni-bundle-*/
|
||||
|
||||
.PHONY: cloud-images
|
||||
cloud-images: ## Uploads cloud images (AMIs, etc.) to the cloud registry.
|
||||
@docker run --rm -v $(PWD):/src -w /src \
|
||||
-e TAG=$(TAG) -e ARTIFACTS=$(ARTIFACTS) -e ABBREV_TAG=$(ABBREV_TAG) \
|
||||
-e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY \
|
||||
-e AZURE_SUBSCRIPTION_ID -e AZURE_CLIENT_ID -e AZURE_CLIENT_SECRET -e AZURE_TENANT_ID \
|
||||
-e GOOGLE_PROJECT_ID -e GOOGLE_CREDENTIALS \
|
||||
golang:$(GO_VERSION) \
|
||||
./hack/cloud-image-uploader.sh $(CLOUD_IMAGES_EXTRA_ARGS)
|
||||
|
||||
.PHONY: uki-certs
|
||||
uki-certs: talosctl ## Generate test certificates for SecureBoot/PCR Signing
|
||||
@$(TALOSCTL_EXECUTABLE) gen secureboot uki
|
||||
@$(TALOSCTL_EXECUTABLE) gen secureboot pcr
|
||||
@$(TALOSCTL_EXECUTABLE) gen secureboot database
|
||||
|
||||
# Code Quality
|
||||
|
||||
api-descriptors: ## Generates API descriptors used to detect breaking API changes.
|
||||
@$(MAKE) local-api-descriptors DEST=./ PLATFORM=linux/amd64
|
||||
|
||||
fmt-go: ## Formats the source code.
|
||||
@docker run --rm -it -v $(PWD):/src -w /src -e GOTOOLCHAIN=local golang:$(GO_VERSION) bash -c "go install golang.org/x/tools/cmd/goimports@$(GOIMPORTS_VERSION) && goimports -w -local github.com/siderolabs/talos . && go install mvdan.cc/gofumpt@$(GOFUMPT_VERSION) && gofumpt -w ."
|
||||
|
||||
fmt-protobuf: ## Formats protobuf files.
|
||||
@$(MAKE) local-fmt-protobuf DEST=./ PLATFORM=linux/amd64
|
||||
|
||||
fmt: ## Formats the source code and protobuf files.
|
||||
@$(MAKE) fmt-go fmt-protobuf
|
||||
|
||||
lint-%: ## Runs the specified linter. Valid options are go, protobuf, and markdown (e.g. lint-go).
|
||||
@$(MAKE) target-lint-$* PLATFORM=linux/amd64
|
||||
|
||||
lint: ## Runs linters on go, vulncheck, protobuf, and markdown file types.
|
||||
@$(MAKE) lint-go lint-vulncheck lint-protobuf lint-markdown
|
||||
|
||||
check-dirty: ## Verifies that source tree is not dirty
|
||||
@if test -n "`git status --porcelain`"; then echo "Source tree is dirty"; git status; git diff; exit 1 ; fi
|
||||
|
||||
go-mod-outdated: ## Runs the go-mod-oudated to show outdated dependencies.
|
||||
@$(MAKE) target-go-mod-outdated PLATFORM=linux/amd64
|
||||
|
||||
# Tests
|
||||
|
||||
.PHONY: unit-tests
|
||||
unit-tests: ## Performs unit tests.
|
||||
@$(MAKE) local-$@ DEST=$(ARTIFACTS) TARGET_ARGS="--allow security.insecure" PLATFORM=linux/amd64
|
||||
|
||||
.PHONY: unit-tests-race
|
||||
unit-tests-race: ## Performs unit tests with race detection enabled.
|
||||
@$(MAKE) target-$@ TARGET_ARGS="--allow security.insecure" PLATFORM=linux/amd64
|
||||
|
||||
$(ARTIFACTS)/$(INTEGRATION_TEST_DEFAULT_TARGET)-amd64:
|
||||
@$(MAKE) local-$(INTEGRATION_TEST_DEFAULT_TARGET) DEST=$(ARTIFACTS) PLATFORM=linux/amd64 WITH_RACE=true NAME=Client PUSH=false
|
||||
|
||||
$(ARTIFACTS)/$(INTEGRATION_TEST_PROVISION_DEFAULT_TARGET)-amd64:
|
||||
@$(MAKE) local-$(INTEGRATION_TEST_PROVISION_DEFAULT_TARGET) DEST=$(ARTIFACTS) PLATFORM=linux/amd64 WITH_RACE=true NAME=Client
|
||||
|
||||
$(ARTIFACTS)/kubectl:
|
||||
@mkdir -p $(ARTIFACTS)
|
||||
@curl -L -o $(ARTIFACTS)/kubectl "$(KUBECTL_URL)"
|
||||
@chmod +x $(ARTIFACTS)/kubectl
|
||||
|
||||
$(ARTIFACTS)/kubestr:
|
||||
@mkdir -p $(ARTIFACTS)
|
||||
@curl -L "$(KUBESTR_URL)" | tar xzf - -C $(ARTIFACTS) kubestr
|
||||
@chmod +x $(ARTIFACTS)/kubestr
|
||||
|
||||
$(ARTIFACTS)/helm:
|
||||
@mkdir -p $(ARTIFACTS)
|
||||
@curl -L "$(HELM_URL)" | tar xzf - -C $(ARTIFACTS) --strip-components=1 linux-amd64/helm
|
||||
@chmod +x $(ARTIFACTS)/helm
|
||||
|
||||
$(ARTIFACTS)/cilium:
|
||||
@mkdir -p $(ARTIFACTS)
|
||||
@curl -L "$(CILIUM_CLI_URL)" | tar xzf - -C $(ARTIFACTS) cilium
|
||||
@chmod +x $(ARTIFACTS)/cilium
|
||||
|
||||
external-artifacts: $(ARTIFACTS)/kubectl $(ARTIFACTS)/kubestr $(ARTIFACTS)/helm $(ARTIFACTS)/cilium
|
||||
|
||||
e2e-%: $(ARTIFACTS)/$(INTEGRATION_TEST_DEFAULT_TARGET)-amd64 external-artifacts ## Runs the E2E test for the specified platform (e.g. e2e-docker).
|
||||
@$(MAKE) hack-test-$@ \
|
||||
PLATFORM=$* \
|
||||
TAG=$(TAG) \
|
||||
SHA=$(SHA) \
|
||||
REGISTRY=$(IMAGE_REGISTRY) \
|
||||
IMAGE=$(REGISTRY_AND_USERNAME)/talos:$(IMAGE_TAG) \
|
||||
INSTALLER_IMAGE=$(REGISTRY_AND_USERNAME)/installer:$(IMAGE_TAG) \
|
||||
ARTIFACTS=$(ARTIFACTS) \
|
||||
TALOSCTL=$(PWD)/$(ARTIFACTS)/$(TALOSCTL_DEFAULT_TARGET)-amd64 \
|
||||
INTEGRATION_TEST=$(PWD)/$(ARTIFACTS)/$(INTEGRATION_TEST_DEFAULT_TARGET)-amd64 \
|
||||
SHORT_INTEGRATION_TEST=$(SHORT_INTEGRATION_TEST) \
|
||||
CUSTOM_CNI_URL=$(CUSTOM_CNI_URL) \
|
||||
KUBECTL=$(PWD)/$(ARTIFACTS)/kubectl \
|
||||
KUBESTR=$(PWD)/$(ARTIFACTS)/kubestr \
|
||||
HELM=$(PWD)/$(ARTIFACTS)/helm \
|
||||
CILIUM_CLI=$(PWD)/$(ARTIFACTS)/cilium
|
||||
|
||||
provision-tests-prepare: release-artifacts $(ARTIFACTS)/$(INTEGRATION_TEST_PROVISION_DEFAULT_TARGET)-amd64
|
||||
|
||||
provision-tests: provision-tests-prepare
|
||||
@$(MAKE) hack-test-$@ \
|
||||
TAG=$(TAG) \
|
||||
TALOSCTL=$(PWD)/$(ARTIFACTS)/$(TALOSCTL_DEFAULT_TARGET)-amd64 \
|
||||
INTEGRATION_TEST=$(PWD)/$(ARTIFACTS)/$(INTEGRATION_TEST_PROVISION_DEFAULT_TARGET)-amd64
|
||||
|
||||
provision-tests-track-%:
|
||||
@$(MAKE) hack-test-provision-tests \
|
||||
TAG=$(TAG) \
|
||||
TALOSCTL=$(PWD)/$(ARTIFACTS)/$(TALOSCTL_DEFAULT_TARGET)-amd64 \
|
||||
INTEGRATION_TEST=$(PWD)/$(ARTIFACTS)/$(INTEGRATION_TEST_PROVISION_DEFAULT_TARGET)-amd64 \
|
||||
INTEGRATION_TEST_RUN="TestIntegration/.+-TR$*" \
|
||||
INTEGRATION_TEST_TRACK="$*" \
|
||||
CUSTOM_CNI_URL=$(CUSTOM_CNI_URL) \
|
||||
REGISTRY=$(IMAGE_REGISTRY) \
|
||||
ARTIFACTS=$(ARTIFACTS)
|
||||
|
||||
installer-with-extensions: $(ARTIFACTS)/extensions/_out/extensions-metadata
|
||||
$(MAKE) image-installer \
|
||||
IMAGER_ARGS="--base-installer-image=$(REGISTRY_AND_USERNAME)/installer:$(IMAGE_TAG) $(shell cat $(ARTIFACTS)/extensions/_out/extensions-metadata | $(EXTENSIONS_FILTER_COMMAND) | xargs -n 1 echo --system-extension-image)"
|
||||
crane push $(ARTIFACTS)/installer-amd64.tar $(REGISTRY_AND_USERNAME)/installer:$(IMAGE_TAG)-amd64-extensions
|
||||
INSTALLER_IMAGE_EXTENSIONS="$(REGISTRY_AND_USERNAME)/installer:$(IMAGE_TAG)-amd64-extensions" yq eval -n '.machine.install.image = strenv(INSTALLER_IMAGE_EXTENSIONS)' > $(ARTIFACTS)/installer-extensions-patch.yaml
|
||||
|
||||
# Assets for releases
|
||||
|
||||
.PHONY: $(ARTIFACTS)/$(TALOS_RELEASE)
|
||||
$(ARTIFACTS)/$(TALOS_RELEASE): $(ARTIFACTS)/$(TALOS_RELEASE)/vmlinuz $(ARTIFACTS)/$(TALOS_RELEASE)/initramfs.xz
|
||||
|
||||
# download release artifacts for specific version
|
||||
$(ARTIFACTS)/$(TALOS_RELEASE)/%:
|
||||
@mkdir -p $(ARTIFACTS)/$(TALOS_RELEASE)/
|
||||
@case "$*" in \
|
||||
vmlinuz) \
|
||||
curl -L -o "$(ARTIFACTS)/$(TALOS_RELEASE)/$*" "https://github.com/siderolabs/talos/releases/download/$(TALOS_RELEASE)/vmlinuz-amd64" \
|
||||
;; \
|
||||
initramfs.xz) \
|
||||
curl -L -o "$(ARTIFACTS)/$(TALOS_RELEASE)/$*" "https://github.com/siderolabs/talos/releases/download/$(TALOS_RELEASE)/initramfs-amd64.xz" \
|
||||
;; \
|
||||
esac
|
||||
|
||||
.PHONY: release-artifacts
|
||||
release-artifacts:
|
||||
@for release in $(RELEASES); do \
|
||||
$(MAKE) $(ARTIFACTS)/$$release TALOS_RELEASE=$$release; \
|
||||
done
|
||||
|
||||
# Utilities
|
||||
|
||||
.PHONY: rekres
|
||||
rekres:
|
||||
@docker pull $(KRES_IMAGE)
|
||||
@docker run --rm --net=host --user $(shell id -u):$(shell id -g) -v $(PWD):/src -w /src -e GITHUB_TOKEN $(KRES_IMAGE)
|
||||
|
||||
.PHONY: conformance
|
||||
conformance:
|
||||
@docker pull $(CONFORMANCE_IMAGE)
|
||||
@docker run --rm -it -v $(PWD):/src -w /src $(CONFORMANCE_IMAGE) enforce
|
||||
|
||||
.PHONY: release-notes
|
||||
release-notes:
|
||||
ARTIFACTS=$(ARTIFACTS) ./hack/release.sh $@ $(ARTIFACTS)/RELEASE_NOTES.md $(TAG)
|
||||
|
||||
push: ## Pushes the installer, imager, talos and talosctl images to the configured container registry with the generated tag.
|
||||
@$(MAKE) installer PUSH=true
|
||||
@$(MAKE) imager PUSH=true
|
||||
@$(MAKE) talos PUSH=true
|
||||
@$(MAKE) talosctl-image PUSH=true
|
||||
|
||||
push-%: ## Pushes the installer, imager, talos and talosctl images to the configured container registry with the specified tag (e.g. push-latest).
|
||||
@$(MAKE) push IMAGE_TAG=$*
|
||||
|
||||
.PHONY: clean
|
||||
clean: ## Cleans up all artifacts.
|
||||
@-rm -rf $(ARTIFACTS)
|
||||
|
||||
.PHONY: image-list
|
||||
image-list: ## Prints a list of all images built by this Makefile with digests.
|
||||
@echo -n installer talos imager talosctl | xargs -d ' ' -I{} sh -c 'echo $(REGISTRY_AND_USERNAME)/{}:$(IMAGE_TAG)' | xargs -I{} sh -c 'echo {}@$$(crane digest {})'
|
||||
|
||||
.PHONY: sign-images
|
||||
sign-images: ## Run cosign to sign all images built by this Makefile.
|
||||
@for image in $(shell $(MAKE) --quiet image-list REGISTRY_AND_USERNAME=$(REGISTRY_AND_USERNAME) IMAGE_TAG=$(IMAGE_TAG)); do \
|
||||
echo '==>' $$image; \
|
||||
cosign verify $$image --certificate-identity-regexp '@siderolabs\.com$$' --certificate-oidc-issuer https://accounts.google.com || \
|
||||
cosign sign --yes $$image; \
|
||||
done
|
||||
|
||||
.PHONY: reproducibility-test
|
||||
reproducibility-test:
|
||||
@$(MAKE) reproducibility-test-local-initramfs
|
||||
@$(MAKE) reproducibility-test-docker-installer INSTALLER_ARCH=targetarch PLATFORM=linux/amd64
|
||||
@$(MAKE) reproducibility-test-docker-talos reproducibility-test-docker-imager reproducibility-test-docker-talosctl PLATFORM=linux/amd64
|
||||
|
||||
reproducibility-test-docker-%:
|
||||
@rm -rf _out1/ _out2/
|
||||
@mkdir -p _out1/ _out2/
|
||||
@$(MAKE) docker-$* DEST=_out1/
|
||||
@$(MAKE) docker-$* DEST=_out2/ TARGET_ARGS="--no-cache"
|
||||
@find _out1/ -type f | xargs -IFILE diffoscope FILE `echo FILE | sed 's/_out1/_out2/'`
|
||||
@rm -rf _out1/ _out2/
|
||||
|
||||
reproducibility-test-local-%:
|
||||
@rm -rf _out1/ _out2/
|
||||
@mkdir -p _out1/ _out2/
|
||||
@$(MAKE) local-$* DEST=_out1/
|
||||
@$(MAKE) local-$* DEST=_out2/ TARGET_ARGS="--no-cache"
|
||||
@find _out1/ -type f | xargs -IFILE diffoscope FILE `echo FILE | sed 's/_out1/_out2/'`
|
||||
@rm -rf _out1/ _out2/
|
||||
|
||||
.PHONY: ci-temp-release-tag
|
||||
ci-temp-release-tag: ## Generates a temporary release tag for CI run.
|
||||
@if [ -n "$(CI_RELEASE_TAG)" -a -n "$${GITHUB_ENV}" ]; then \
|
||||
echo Setting temporary release tag "$(CI_RELEASE_TAG)"; \
|
||||
echo "TAG=$(CI_RELEASE_TAG)" >> "$${GITHUB_ENV}"; \
|
||||
echo "ABBREV_TAG=$(CI_RELEASE_TAG)" >> "$${GITHUB_ENV}"; \
|
||||
fi
|
264
hack/modules-amd64.txt-alt
Normal file
264
hack/modules-amd64.txt-alt
Normal file
@ -0,0 +1,264 @@
|
||||
kernel/arch/x86/crypto/aesni-intel.ko
|
||||
kernel/arch/x86/crypto/crc32c-intel.ko
|
||||
kernel/arch/x86/crypto/crc32-pclmul.ko
|
||||
kernel/arch/x86/crypto/chacha-x86_64.ko
|
||||
kernel/arch/x86/crypto/sha1-ssse3.ko
|
||||
kernel/arch/x86/crypto/sha256-ssse3.ko
|
||||
kernel/arch/x86/crypto/sha512-ssse3.ko
|
||||
kernel/arch/x86/kvm/kvm.ko
|
||||
kernel/arch/x86/kvm/kvm-intel.ko
|
||||
kernel/arch/x86/kvm/kvm-amd.ko
|
||||
kernel/crypto/async_tx/async_memcpy.ko
|
||||
kernel/crypto/async_tx/async_pq.ko
|
||||
kernel/crypto/async_tx/async_raid6_recov.ko
|
||||
kernel/crypto/async_tx/async_tx.ko
|
||||
kernel/crypto/async_tx/async_xor.ko
|
||||
kernel/crypto/xor.ko
|
||||
kernel/crypto/blake2b_generic.ko
|
||||
kernel/crypto/crc32_generic.ko
|
||||
kernel/crypto/crypto_simd.ko
|
||||
kernel/crypto/chacha_generic.ko
|
||||
kernel/crypto/chacha20poly1305.ko
|
||||
kernel/crypto/des_generic.ko
|
||||
kernel/crypto/xxhash_generic.ko
|
||||
kernel/drivers/ata/ahci.ko
|
||||
kernel/drivers/ata/libahci.ko
|
||||
kernel/drivers/ata/libata.ko
|
||||
kernel/drivers/ata/pata_amd.ko
|
||||
kernel/drivers/ata/pata_marvell.ko
|
||||
kernel/drivers/ata/pata_oldpiix.ko
|
||||
kernel/drivers/ata/pata_sch.ko
|
||||
kernel/drivers/block/nbd.ko
|
||||
kernel/drivers/block/virtio_blk.ko
|
||||
kernel/drivers/char/hw_random/amd-rng.ko
|
||||
kernel/drivers/char/hw_random/intel-rng.ko
|
||||
kernel/drivers/char/hw_random/rng-core.ko
|
||||
kernel/drivers/char/hw_random/virtio-rng.ko
|
||||
kernel/drivers/char/ipmi/ipmi_watchdog.ko
|
||||
kernel/drivers/char/virtio_console.ko
|
||||
kernel/drivers/crypto/ccp/ccp.ko
|
||||
kernel/drivers/crypto/virtio/virtio_crypto.ko
|
||||
kernel/drivers/crypto/padlock-aes.ko
|
||||
kernel/drivers/edac/amd64_edac.ko
|
||||
kernel/drivers/edac/e752x_edac.ko
|
||||
kernel/drivers/edac/i3000_edac.ko
|
||||
kernel/drivers/edac/i3200_edac.ko
|
||||
kernel/drivers/edac/i5100_edac.ko
|
||||
kernel/drivers/edac/i5400_edac.ko
|
||||
kernel/drivers/edac/i7300_edac.ko
|
||||
kernel/drivers/edac/i7core_edac.ko
|
||||
kernel/drivers/edac/i82975x_edac.ko
|
||||
kernel/drivers/edac/ie31200_edac.ko
|
||||
kernel/drivers/edac/igen6_edac.ko
|
||||
kernel/drivers/edac/sb_edac.ko
|
||||
kernel/drivers/edac/skx_edac.ko
|
||||
kernel/drivers/edac/x38_edac.ko
|
||||
kernel/drivers/firmware/efi/efi-pstore.ko
|
||||
kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
|
||||
kernel/drivers/gpu/drm/amd/amdxcp/amdxcp.ko
|
||||
kernel/drivers/gpu/drm/display/drm_display_helper.ko
|
||||
kernel/drivers/gpu/drm/drm_buddy.ko
|
||||
kernel/drivers/gpu/drm/drm_exec.ko
|
||||
kernel/drivers/gpu/drm/drm_suballoc_helper.ko
|
||||
kernel/drivers/gpu/drm/drm_ttm_helper.ko
|
||||
kernel/drivers/gpu/drm/i915/i915.ko
|
||||
kernel/drivers/gpu/drm/virtio/virtio-gpu.ko
|
||||
kernel/drivers/gpu/drm/scheduler/gpu-sched.ko
|
||||
kernel/drivers/gpu/drm/ttm/ttm.ko
|
||||
kernel/drivers/hid/hid-a4tech.ko
|
||||
kernel/drivers/hid/hid-apple.ko
|
||||
kernel/drivers/hid/hid-belkin.ko
|
||||
kernel/drivers/hid/hid-cherry.ko
|
||||
kernel/drivers/hid/hid-chicony.ko
|
||||
kernel/drivers/hid/hid-cypress.ko
|
||||
kernel/drivers/hid/hid-ezkey.ko
|
||||
kernel/drivers/hid/hid-gyration.ko
|
||||
kernel/drivers/hid/hid-ite.ko
|
||||
kernel/drivers/hid/hid-kensington.ko
|
||||
kernel/drivers/hid/hid-lg-g15.ko
|
||||
kernel/drivers/hid/hid-logitech.ko
|
||||
kernel/drivers/hid/hid-microsoft.ko
|
||||
kernel/drivers/hid/hid-monterey.ko
|
||||
kernel/drivers/hid/hid-petalynx.ko
|
||||
kernel/drivers/hid/hid-pl.ko
|
||||
kernel/drivers/hid/hid-samsung.ko
|
||||
kernel/drivers/hid/hid-sunplus.ko
|
||||
kernel/drivers/hid/hid-topseed.ko
|
||||
kernel/drivers/hwmon/fam15h_power.ko
|
||||
kernel/drivers/hwmon/i5500_temp.ko
|
||||
kernel/drivers/hwmon/i5k_amb.ko
|
||||
kernel/drivers/hwmon/k10temp.ko
|
||||
kernel/drivers/hwmon/k8temp.ko
|
||||
kernel/drivers/i2c/algos/i2c-algo-bit.ko
|
||||
kernel/drivers/i2c/busses/i2c-i801.ko
|
||||
kernel/drivers/i2c/i2c-smbus.ko
|
||||
kernel/drivers/iommu/virtio-iommu.ko
|
||||
kernel/drivers/infiniband/core/ib_core.ko
|
||||
kernel/drivers/infiniband/core/ib_cm.ko
|
||||
kernel/drivers/infiniband/core/iw_cm.ko
|
||||
kernel/drivers/infiniband/core/rdma_cm.ko
|
||||
kernel/drivers/infiniband/hw/mlx4/mlx4_ib.ko
|
||||
kernel/drivers/infiniband/hw/mlx5/mlx5_ib.ko
|
||||
kernel/drivers/infiniband/sw/rxe/rdma_rxe.ko
|
||||
kernel/drivers/md/dm-bio-prison.ko
|
||||
kernel/drivers/md/dm-multipath.ko
|
||||
kernel/drivers/md/dm-raid.ko
|
||||
kernel/drivers/md/dm-round-robin.ko
|
||||
kernel/drivers/md/dm-thin-pool.ko
|
||||
kernel/drivers/md/persistent-data/dm-persistent-data.ko
|
||||
kernel/drivers/md/raid456.ko
|
||||
kernel/drivers/message/fusion/mptbase.ko
|
||||
kernel/drivers/message/fusion/mptsas.ko
|
||||
kernel/drivers/message/fusion/mptscsih.ko
|
||||
kernel/drivers/message/fusion/mptspi.ko
|
||||
kernel/drivers/mfd/lpc_ich.ko
|
||||
kernel/drivers/misc/hpilo.ko
|
||||
kernel/drivers/mmc/host/sdhci-acpi.ko
|
||||
kernel/drivers/mmc/host/sdhci-pci.ko
|
||||
kernel/drivers/mmc/host/sdhci-pltfm.ko
|
||||
kernel/drivers/mmc/host/sdhci-xenon-driver.ko
|
||||
kernel/drivers/net/ethernet/aquantia/atlantic/atlantic.ko
|
||||
kernel/drivers/net/ethernet/atheros/alx/alx.ko
|
||||
kernel/drivers/net/ethernet/broadcom/bnx2.ko
|
||||
kernel/drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko
|
||||
kernel/drivers/net/ethernet/broadcom/bnxt/bnxt_en.ko
|
||||
kernel/drivers/net/ethernet/broadcom/tg3.ko
|
||||
kernel/drivers/net/ethernet/cisco/enic/enic.ko
|
||||
kernel/drivers/net/ethernet/emulex/benet/be2net.ko
|
||||
kernel/drivers/net/ethernet/intel/e100.ko
|
||||
kernel/drivers/net/ethernet/intel/e1000/e1000.ko
|
||||
kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
|
||||
kernel/drivers/net/ethernet/intel/i40e/i40e.ko
|
||||
kernel/drivers/net/ethernet/intel/iavf/iavf.ko
|
||||
kernel/drivers/net/ethernet/intel/ice/ice.ko
|
||||
kernel/drivers/net/ethernet/intel/igb/igb.ko
|
||||
kernel/drivers/net/ethernet/intel/igbvf/igbvf.ko
|
||||
kernel/drivers/net/ethernet/intel/igc/igc.ko
|
||||
kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko
|
||||
kernel/drivers/net/ethernet/intel/ixgbevf/ixgbevf.ko
|
||||
kernel/drivers/net/ethernet/marvell/sky2.ko
|
||||
kernel/drivers/net/ethernet/mellanox/mlx4/mlx4_core.ko
|
||||
kernel/drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko
|
||||
kernel/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko
|
||||
kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_core.ko
|
||||
kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c.ko
|
||||
kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_minimal.ko
|
||||
kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci.ko
|
||||
kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_spectrum.ko
|
||||
kernel/drivers/net/ethernet/qlogic/netxen/netxen_nic.ko
|
||||
kernel/drivers/net/ethernet/qlogic/qed/qed.ko
|
||||
kernel/drivers/net/ethernet/qlogic/qede/qede.ko
|
||||
kernel/drivers/net/ethernet/qlogic/qlcnic/qlcnic.ko
|
||||
kernel/drivers/net/ethernet/realtek/8139too.ko
|
||||
kernel/drivers/net/ethernet/realtek/r8169.ko
|
||||
kernel/drivers/net/ethernet/sfc/sfc.ko
|
||||
kernel/drivers/net/ethernet/sfc/siena/sfc-siena.ko
|
||||
kernel/drivers/net/geneve.ko
|
||||
kernel/drivers/net/mdio.ko
|
||||
kernel/drivers/net/mii.ko
|
||||
kernel/drivers/net/usb/r8152.ko
|
||||
kernel/drivers/net/vmxnet3/vmxnet3.ko
|
||||
kernel/drivers/net/virtio_net.ko
|
||||
kernel/drivers/net/vrf.ko
|
||||
kernel/drivers/nvme/host/nvme-rdma.ko
|
||||
kernel/drivers/nvme/target/nvme-loop.ko
|
||||
kernel/drivers/nvme/target/nvmet-fc.ko
|
||||
kernel/drivers/nvme/target/nvmet-rdma.ko
|
||||
kernel/drivers/nvme/target/nvmet-tcp.ko
|
||||
kernel/drivers/nvme/target/nvmet.ko
|
||||
kernel/drivers/scsi/aacraid/aacraid.ko
|
||||
kernel/drivers/scsi/fcoe/libfcoe.ko
|
||||
kernel/drivers/scsi/fnic/fnic.ko
|
||||
kernel/drivers/scsi/hpsa.ko
|
||||
kernel/drivers/scsi/isci/isci.ko
|
||||
kernel/drivers/scsi/libfc/libfc.ko
|
||||
kernel/drivers/scsi/megaraid/megaraid_sas.ko
|
||||
kernel/drivers/scsi/mpt3sas/mpt3sas.ko
|
||||
kernel/drivers/scsi/smartpqi/smartpqi.ko
|
||||
kernel/drivers/scsi/scsi_transport_fc.ko
|
||||
kernel/drivers/scsi/scsi_transport_iscsi.ko
|
||||
kernel/drivers/scsi/scsi_transport_sas.ko
|
||||
kernel/drivers/scsi/scsi_transport_spi.ko
|
||||
kernel/drivers/scsi/scsi_transport_srp.ko
|
||||
kernel/drivers/scsi/sd_mod.ko
|
||||
kernel/drivers/scsi/scsi_mod.ko
|
||||
kernel/drivers/scsi/scsi_common.ko
|
||||
kernel/drivers/scsi/virtio_scsi.ko
|
||||
kernel/drivers/scsi/vmw_pvscsi.ko
|
||||
kernel/drivers/uio/uio.ko
|
||||
kernel/drivers/uio/uio_pci_generic.ko
|
||||
kernel/drivers/usb/serial/ch341.ko
|
||||
kernel/drivers/usb/serial/cp210x.ko
|
||||
kernel/drivers/usb/serial/ftdi_sio.ko
|
||||
kernel/drivers/usb/serial/pl2303.ko
|
||||
kernel/drivers/vfio/pci/vfio-pci-core.ko
|
||||
kernel/drivers/vfio/pci/vfio-pci.ko
|
||||
kernel/drivers/vfio/vfio_iommu_type1.ko
|
||||
kernel/drivers/vfio/vfio.ko
|
||||
kernel/drivers/virtio/virtio.ko
|
||||
kernel/drivers/virtio/virtio_balloon.ko
|
||||
kernel/drivers/virtio/virtio_dma_buf.ko
|
||||
kernel/drivers/virtio/virtio_input.ko
|
||||
kernel/drivers/virtio/virtio_mem.ko
|
||||
kernel/drivers/virtio/virtio_mmio.ko
|
||||
kernel/drivers/virtio/virtio_pci_legacy_dev.ko
|
||||
kernel/drivers/virtio/virtio_pci_modern_dev.ko
|
||||
kernel/drivers/virtio/virtio_pci.ko
|
||||
kernel/drivers/virtio/virtio_ring.ko
|
||||
kernel/drivers/rpmsg/virtio_rpmsg_bus.ko
|
||||
kernel/drivers/watchdog/i6300esb.ko
|
||||
kernel/drivers/watchdog/iTCO_vendor_support.ko
|
||||
kernel/drivers/watchdog/iTCO_wdt.ko
|
||||
kernel/drivers/watchdog/sp5100_tco.ko
|
||||
kernel/drivers/watchdog/wdat_wdt.ko
|
||||
kernel/drivers/watchdog/xen_wdt.ko
|
||||
kernel/fs/9p/9p.ko
|
||||
kernel/fs/autofs/autofs4.ko
|
||||
kernel/fs/btrfs/btrfs.ko
|
||||
kernel/fs/ceph/ceph.ko
|
||||
kernel/fs/efivarfs/efivarfs.ko
|
||||
kernel/fs/fat/fat.ko
|
||||
kernel/fs/fat/msdos.ko
|
||||
kernel/fs/fat/vfat.ko
|
||||
kernel/fs/fuse/cuse.ko
|
||||
kernel/fs/fuse/fuse.ko
|
||||
kernel/fs/fuse/virtiofs.ko
|
||||
kernel/fs/lockd/lockd.ko
|
||||
kernel/fs/netfs/netfs.ko
|
||||
kernel/fs/nfs/nfs.ko
|
||||
kernel/fs/nfs/nfsv2.ko
|
||||
kernel/fs/nfs/nfsv3.ko
|
||||
kernel/fs/nfs/nfsv4.ko
|
||||
kernel/fs/nfs/blocklayout/blocklayoutdriver.ko
|
||||
kernel/fs/nfs/filelayout/nfs_layout_nfsv41_files.ko
|
||||
kernel/fs/nfs/flexfilelayout/nfs_layout_flexfiles.ko
|
||||
kernel/fs/nfs_common/grace.ko
|
||||
kernel/fs/nfs_common/nfs_acl.ko
|
||||
kernel/fs/nfsd/nfsd.ko
|
||||
kernel/fs/overlayfs/overlay.ko
|
||||
kernel/fs/udf/udf.ko
|
||||
kernel/fs/xfs/xfs.ko
|
||||
kernel/lib/objagg.ko
|
||||
kernel/lib/parman.ko
|
||||
kernel/lib/libcrc32c.ko
|
||||
kernel/lib/crypto/libchacha.ko
|
||||
kernel/lib/crypto/libchacha20poly1305.ko
|
||||
kernel/lib/crypto/libpoly1305.ko
|
||||
kernel/lib/raid6/raid6_pq.ko
|
||||
kernel/net/dns_resolver/dns_resolver.ko
|
||||
kernel/net/ipv4/ip_gre.ko
|
||||
kernel/net/ipv4/udp_tunnel.ko
|
||||
kernel/net/ipv6/ip6_udp_tunnel.ko
|
||||
kernel/net/openvswitch/openvswitch.ko
|
||||
kernel/net/openvswitch/vport-geneve.ko
|
||||
kernel/net/openvswitch/vport-gre.ko
|
||||
kernel/net/openvswitch/vport-vxlan.ko
|
||||
kernel/net/ceph/libceph.ko
|
||||
kernel/net/tls/tls.ko
|
||||
kernel/net/sunrpc/sunrpc.ko
|
||||
kernel/net/sunrpc/auth_gss/auth_rpcgss.ko
|
||||
kernel/net/sunrpc/auth_gss/rpcsec_gss_krb5.ko
|
||||
kernel/net/sunrpc/xprtrdma/rpcrdma.ko
|
||||
modules.builtin
|
||||
modules.builtin.modinfo
|
||||
modules.order
|
Loading…
x
Reference in New Issue
Block a user