mirror of
https://github.com/kairos-io/kairos-agent.git
synced 2025-06-03 01:44:53 +00:00
seedling: Create framework images for each flavor (#973)
* 🌱 Create framework images for each flavor Signed-off-by: mudler <mudler@c3os.io> * 🌱 Add base cloud config files from packages Signed-off-by: mudler <mudler@c3os.io> * 🐧 No need to import base cloud config anymore from repositories Signed-off-by: mudler <mudler@c3os.io> * 🤖 Build latest framework images Signed-off-by: mudler <mudler@c3os.io> * 🤖 Simplify workflow flavors Signed-off-by: mudler <mudler@c3os.io> * 🤖 Make linter happy Signed-off-by: mudler <mudler@c3os.io> * 🐛 correctly parse the flavor Signed-off-by: mudler <mudler@c3os.io> * 🐛 Fixup copying overlay files in the correct location Signed-off-by: mudler <mudler@c3os.io> * 🤖 Set http registry in the self-hosted runner Signed-off-by: mudler <mudler@c3os.io> --------- Signed-off-by: mudler <mudler@c3os.io>
This commit is contained in:
parent
74ddd9db88
commit
91aa007abb
57
Earthfile
57
Earthfile
@ -31,6 +31,9 @@ ARG RENOVATE_VERSION=34
|
||||
# renovate: datasource=docker depName=koalaman/shellcheck-alpine versioning=docker
|
||||
ARG SHELLCHECK_VERSION=v0.9.0
|
||||
|
||||
ARG IMAGE_REPOSITORY_ORG=quay.io/kairos
|
||||
|
||||
|
||||
all:
|
||||
BUILD +docker
|
||||
BUILD +iso
|
||||
@ -99,8 +102,7 @@ BUILD_GOLANG:
|
||||
ARG CGO_ENABLED
|
||||
ARG BIN
|
||||
ARG SRC
|
||||
COPY +version/VERSION ./
|
||||
ARG VERSION=$(cat VERSION)
|
||||
|
||||
ENV CGO_ENABLED=${CGO_ENABLED}
|
||||
ARG LDFLAGS="-s -w -X 'github.com/kairos-io/kairos/internal/common.VERSION=$VERSION'"
|
||||
RUN echo "Building ${BIN} from ${SRC} using ${VERSION}"
|
||||
@ -207,9 +209,8 @@ framework:
|
||||
ARG REPOSITORIES_FILE
|
||||
ARG COSIGN_EXPERIMENTAL
|
||||
ARG COSIGN_REPOSITORY
|
||||
ARG WITH_KERNEL
|
||||
COPY +version/VERSION ./
|
||||
ARG VERSION=$(cat VERSION)
|
||||
ARG FLAVOR
|
||||
ARG VERSION
|
||||
ARG LDFLAGS="-s -w -X 'github.com/kairos-io/kairos/internal/common.VERSION=$VERSION'"
|
||||
|
||||
FROM golang:alpine
|
||||
@ -234,18 +235,42 @@ framework:
|
||||
COPY +luet/luet /framework/usr/bin/luet
|
||||
|
||||
RUN luet cleanup --system-target /framework
|
||||
|
||||
# Copy overlay files
|
||||
COPY overlay/files /framework
|
||||
# Copy flavor-specific overlay files
|
||||
IF [ "$FLAVOR" = "alpine-opensuse-leap" ] || [ "$FLAVOR" = "alpine-ubuntu" ]
|
||||
COPY overlay/files-alpine/ /framework
|
||||
END
|
||||
|
||||
IF [ "$FLAVOR" = "alpine-arm-rpi" ]
|
||||
COPY overlay/files-alpine/ /framework
|
||||
COPY overlay/files-opensuse-arm-rpi/ /framework
|
||||
ELSE IF [ "$FLAVOR" = "opensuse-leap-arm-rpi" ] || [ "$FLAVOR" = "opensuse-tumbleweed-arm-rpi" ]
|
||||
COPY overlay/files-opensuse-arm-rpi/ /framework
|
||||
ELSE IF [ "$FLAVOR" = "fedora" ] || [ "$FLAVOR" = "rockylinux" ]
|
||||
COPY overlay/files-fedora/ /framework
|
||||
ELSE IF [ "$FLAVOR" = "debian" ] || [ "$FLAVOR" = "ubuntu" ] || [ "$FLAVOR" = "ubuntu-20-lts" ] || [ "$FLAVOR" = "ubuntu-22-lts" ]
|
||||
COPY overlay/files-ubuntu/ /framework
|
||||
END
|
||||
|
||||
RUN rm -rf /framework/var/luet
|
||||
RUN rm -rf /framework/var/cache
|
||||
SAVE ARTIFACT --keep-own /framework/ framework
|
||||
|
||||
build-framework-image:
|
||||
COPY +version/VERSION ./
|
||||
ARG VERSION=$(cat VERSION)
|
||||
ARG FLAVOR
|
||||
BUILD +framework-image --VERSION=$VERSION --FLAVOR=$FLAVOR
|
||||
|
||||
framework-image:
|
||||
FROM scratch
|
||||
ARG VERSION
|
||||
ARG IMG
|
||||
ARG WITH_KERNEL
|
||||
ARG FLAVOR
|
||||
COPY (+framework/framework --FLAVOR=$FLAVOR --WITH_KERNEL=$WITH_KERNEL) /
|
||||
SAVE IMAGE $IMG
|
||||
COPY (+framework/framework --VERSION=$VERSION --FLAVOR=$FLAVOR) /
|
||||
SAVE IMAGE --push $IMAGE_REPOSITORY_ORG/framework:${VERSION}_${FLAVOR}
|
||||
|
||||
docker:
|
||||
ARG FLAVOR
|
||||
@ -274,26 +299,12 @@ docker:
|
||||
ARG OS_LABEL=latest
|
||||
|
||||
# Includes overlay/files
|
||||
COPY +framework/framework /
|
||||
COPY (+framework/framework --FLAVOR=$FLAVOR --VERSION=$OS_VERSION) /
|
||||
|
||||
DO +OSRELEASE --HOME_URL=https://github.com/kairos-io/kairos --BUG_REPORT_URL=https://github.com/kairos-io/kairos/issues --GITHUB_REPO=kairos-io/kairos --VARIANT=${VARIANT} --FLAVOR=${FLAVOR} --OS_ID=${OS_ID} --OS_LABEL=${OS_LABEL} --OS_NAME=${OS_NAME} --OS_REPO=${OS_REPO} --OS_VERSION=${OS_VERSION}
|
||||
|
||||
RUN rm -rf /etc/machine-id && touch /etc/machine-id && chmod 444 /etc/machine-id
|
||||
|
||||
# Copy flavor-specific overlay files
|
||||
IF [[ "$FLAVOR" =~ "alpine" ]]
|
||||
COPY overlay/files-alpine/ /
|
||||
END
|
||||
|
||||
IF [ "$FLAVOR" = "alpine-arm-rpi" ]
|
||||
COPY overlay/files-opensuse-arm-rpi/ /
|
||||
ELSE IF [ "$FLAVOR" = "opensuse-leap-arm-rpi" ] || [ "$FLAVOR" = "opensuse-tumbleweed-arm-rpi" ]
|
||||
COPY overlay/files-opensuse-arm-rpi/ /
|
||||
ELSE IF [ "$FLAVOR" = "fedora" ] || [ "$FLAVOR" = "rockylinux" ]
|
||||
COPY overlay/files-fedora/ /
|
||||
ELSE IF [ "$FLAVOR" = "debian" ] || [ "$FLAVOR" = "ubuntu" ] || [ "$FLAVOR" = "ubuntu-20-lts" ] || [ "$FLAVOR" = "ubuntu-22-lts" ]
|
||||
COPY overlay/files-ubuntu/ /
|
||||
END
|
||||
|
||||
# Enable services
|
||||
IF [ -f /sbin/openrc ]
|
||||
|
Loading…
Reference in New Issue
Block a user