``` FROM quay.io/luet/base as luet FROM alpine # Install packages in the image. In a systemd-based system you would install systemd instead of openrc. # Note, grub2 is a required dependency, along as an init system (currently openRC and systemd are supported) RUN apk --no-cache add \ grub \ grub-efi \ grub-bios \ bash \ bonding \ bridge \ connman \ gettext \ squashfs-tools \ openrc \ parted \ e2fsprogs \ logrotate \ dosfstools \ coreutils \ which \ curl \ nano \ gawk \ haveged \ tar \ rsync \ bash-completion \ blkid \ busybox-openrc \ ca-certificates \ conntrack-tools \ coreutils \ cryptsetup \ curl \ dbus \ dmidecode \ dosfstools \ e2fsprogs \ e2fsprogs-extra \ efibootmgr \ eudev \ fail2ban \ findutils \ gcompat \ grub-efi \ haveged \ htop \ hvtools \ iproute2 \ iptables \ irqbalance \ iscsi-scst \ jq \ kbd-bkeymaps \ lm-sensors \ libc6-compat \ libusb \ logrotate \ lsscsi \ lvm2 \ lvm2-extra \ mdadm \ mdadm-misc \ mdadm-udev \ multipath-tools \ ncurses \ ncurses-terminfo \ nfs-utils \ open-iscsi \ rbd-nbd \ openrc \ openssh-client \ openssh-server \ parted \ procps \ qemu-guest-agent \ rng-tools \ rsync \ strace \ smartmontools \ sudo \ tar \ tzdata \ util-linux \ vim \ wireguard-tools \ wpa_supplicant \ xfsprogs \ xz \ open-vm-tools \ open-vm-tools-deploypkg \ open-vm-tools-guestinfo \ open-vm-tools-static \ open-vm-tools-vmbackup # Enable some services RUN rc-update add sshd boot && \ rc-update add connman boot && \ rc-update add acpid boot && \ rc-update add hwclock boot && \ rc-update add syslog boot && \ rc-update add udev sysinit && \ rc-update add udev-trigger sysinit && \ rc-update add ntpd boot && \ rc-update add crond && \ rc-update add fail2ban # Symlinks to make boot-assessment work RUN ln -s /usr/sbin/grub-install /usr/sbin/grub2-install && \ ln -s /usr/bin/grub-editenv /usr/bin/grub2-editenv # Now we install Kairos dependencies below COPY --from=luet /usr/bin/luet /usr/bin/luet RUN mkdir -p /etc/luet/repos.conf.d && \ luet repo add kairos -y --url quay.io/kairos/packages --type docker RUN luet install -y \ system/base-cloud-config \ dracut/immutable-rootfs \ dracut/network \ static/grub-config \ system/suc-upgrade \ system/shim \ system/grub2-efi \ system/elemental-cli \ init-svc/openrc # use init-svc/systemd for systemd based distros # Install kernels from the Kairos repositories, or regenerate the initrd with dracut RUN luet install -y distro-kernels/opensuse-leap distro-initrd/opensuse-leap # Enable services RUN mkdir -p /etc/runlevels/default && \ ln -sf /etc/init.d/cos-setup-boot /etc/runlevels/default/cos-setup-boot && \ ln -sf /etc/init.d/cos-setup-network /etc/runlevels/default/cos-setup-network && \ ln -sf /etc/init.d/cos-setup-reconcile /etc/runlevels/default/cos-setup-reconcile && \ ln -sf /etc/init.d/kairos-agent /etc/runlevels/default/kairos-agent # On systemd would be: #RUN systemctl enable cos-setup-rootfs.service && \ # systemctl enable cos-setup-initramfs.service && \ # systemctl enable cos-setup-reconcile.timer && \ # systemctl enable cos-setup-fs.service && \ # systemctl enable cos-setup-boot.service && \ # systemctl enable cos-setup-network.service # Optionally, put your fixed cloud config files in here following our docs https://kairos.io/docs/reference/configuration/ # RUN cp cloud.yaml /system/oem/configuration.yaml ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up