Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛 Move kairos vars to their own file #2908

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ labels: bug, unconfirmed, triage

**Kairos version:**
<!-- Provide the output from "cat /etc/os-release" -->
<!-- Provide the output from "cat /etc/kairos-release" -->

**CPU architecture, OS, and Version:**
<!-- Provide the output from "uname -a" -->
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/reusable-uki-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ jobs:
sudo luet util unpack "${TEMP_IMAGE}" ./unpacked
new_version="mynewversion"
sudo sed -i 's/^KAIROS_VERSION=.*/KAIROS_VERSION="'$new_version'"/' ./unpacked/etc/os-release
sudo sed -i 's/^KAIROS_VERSION=.*/KAIROS_VERSION="'$new_version'"/' ./unpacked/etc/kairos-release
echo "$new_version" > "${PWD}/build/expected_new_version"

docker run --rm \
Expand Down
22 changes: 11 additions & 11 deletions Earthfile
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@
image-sbom:
FROM +base-image
WORKDIR /build
ARG ISO_NAME=$(cat /etc/os-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')
ARG ISO_NAME=$(cat /etc/kairos-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')

COPY +syft/syft /usr/bin/syft
RUN syft / -o json=sbom.syft.json -o spdx-json=sbom.spdx.json
Expand Down Expand Up @@ -502,7 +502,7 @@
# We just use it here to take a shortcut to the artifact name
FROM +base-image
WORKDIR /build
ARG ISO_NAME=$(cat /etc/os-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')
ARG ISO_NAME=$(cat /etc/kairos-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')

COPY +git-version/GIT_VERSION ./
ARG KAIROS_VERSION=$(cat GIT_VERSION)
Expand Down Expand Up @@ -556,7 +556,7 @@

iso:
FROM +base-image
ARG ISO_NAME=$(cat /etc/os-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')
ARG ISO_NAME=$(cat /etc/kairos-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')

ARG OSBUILDER_IMAGE
FROM $OSBUILDER_IMAGE
Expand All @@ -581,7 +581,7 @@
iso-remote:
ARG --required REMOTE_IMG
FROM $REMOTE_IMG
ARG ISO_NAME=$(cat /etc/os-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')
ARG ISO_NAME=$(cat /etc/kairos-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')

ARG OSBUILDER_IMAGE
FROM $OSBUILDER_IMAGE
Expand All @@ -595,7 +595,7 @@
netboot:
FROM +base-image

ARG ISO_NAME=$(cat /etc/os-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')
ARG ISO_NAME=$(cat /etc/kairos-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')

# Variables used here:
# https://github.com/kairos-io/osbuilder/blob/66e9e7a9403a413e310f462136b70d715605ab09/tools-image/ipxe.tmpl#L5
Expand Down Expand Up @@ -625,7 +625,7 @@
ARG IMG_COMPRESSION=xz

FROM --platform=linux/arm64 +base-image
ARG IMAGE_NAME=$(cat /etc/os-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//').img
ARG IMAGE_NAME=$(cat /etc/kairos-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//').img

FROM $OSBUILDER_IMAGE
ARG --required MODEL
Expand Down Expand Up @@ -694,7 +694,7 @@
ARG ENABLE_HTTPS

FROM +base-image
ARG ISO_NAME=$(cat /etc/os-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')
ARG ISO_NAME=$(cat /etc/kairos-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')

# Variables used here:
# https://github.com/kairos-io/osbuilder/blob/66e9e7a9403a413e310f462136b70d715605ab09/tools-image/ipxe.tmpl#L5
Expand Down Expand Up @@ -738,7 +738,7 @@
# We just use it here to take a shortcut to the artifact name
FROM +base-image
WORKDIR /build
ARG IMG_NAME=$(cat /etc/os-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//').raw
ARG IMG_NAME=$(cat /etc/kairos-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//').raw

ARG OSBUILDER_IMAGE
FROM $OSBUILDER_IMAGE
Expand Down Expand Up @@ -777,7 +777,7 @@
# Use base-image so it can read original os-release file
FROM +base-image

ARG ISO_NAME=$(cat /etc/os-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')
ARG ISO_NAME=$(cat /etc/kairos-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')

COPY +trivy/trivy /trivy
COPY +trivy/contrib /contrib
Expand Down Expand Up @@ -805,7 +805,7 @@

COPY +grype/grype grype

ARG ISO_NAME=$(cat /etc/os-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')
ARG ISO_NAME=$(cat /etc/kairos-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')

RUN mkdir build
RUN ./grype dir:. --output sarif --add-cpes-if-none --file /build/report.sarif
Expand Down Expand Up @@ -855,7 +855,7 @@

run-qemu-netboot-test:
FROM +base-image
ARG ISO_NAME=$(cat /etc/os-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')
ARG ISO_NAME=$(cat /etc/kairos-release | grep 'KAIROS_ARTIFACT' | sed 's/KAIROS_ARTIFACT=\"//' | sed 's/\"//')

COPY +git-version/GIT_VERSION GIT_VERSION
ARG VERSION=$(cat ./GIT_VERSION)
Expand Down Expand Up @@ -913,7 +913,7 @@
END
COPY +go-deps-test/go.mod go.mod
COPY +go-deps-test/go.sum go.sum
RUN go run github.com/onsi/ginkgo/v2/ginkgo -v --label-filter "$TEST_SUITE" --fail-fast -r ./tests/

Check failure on line 916 in Earthfile

View workflow job for this annotation

GitHub Actions / upgrade-latest / test

Error

The command RUN go run github.com/onsi/ginkgo/v2/ginkgo -v --label-filter "$TEST_SUITE" --fail-fast -r ./tests/ did not complete successfully. Exit code 1

###
### Artifacts targets
Expand Down
6 changes: 2 additions & 4 deletions images/Dockerfile.kairos
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ RUN rm -rf /etc/ssh/ssh_host_*
COPY which-init.sh /usr/local/bin/which-init.sh

RUN sed -i -n '/KAIROS_/!p' /etc/os-release
RUN if [ -f "/etc/kairos-release" ]; then sed -i -n '/KAIROS_/!p' /etc/kairos-release; fi
mauromorales marked this conversation as resolved.
Show resolved Hide resolved

# need to be defined after FROM for them to be replaced in the RUN bellow
ARG HOME_URL="https://github.com/kairos-io/kairos"
Expand Down Expand Up @@ -73,11 +74,8 @@ LABEL io.kairos.software-version="${SOFTWARE_VERSION}"
LABEL io.kairos.software-version-prefix="${SOFTWARE_VERSION_PREFIX}"
LABEL io.kairos.targetarch="${TARGETARCH}"

# not duplicated but used to see the error
RUN kairos-agent versioneer os-release-variables
RUN kairos-agent versioneer os-release-variables >> /etc/os-release
# not duplicated but used to see the error
RUN kairos-agent versioneer container-artifact-name
RUN kairos-agent versioneer os-release-variables > /etc/kairos-release
Itxaka marked this conversation as resolved.
Show resolved Hide resolved
RUN kairos-agent versioneer container-artifact-name > /IMAGE

SHELL ["/bin/bash", "-o", "pipefail", "-c"]
Expand Down
6 changes: 2 additions & 4 deletions images/Dockerfile.kairos-alpine
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ RUN rm -rf /etc/ssh/ssh_host_*
COPY which-init.sh /usr/local/bin/which-init.sh

RUN sed -i -n '/KAIROS_/!p' /etc/os-release
RUN if [ -f "/etc/kairos-release" ]; then sed -i -n '/KAIROS_/!p' /etc/kairos-release; fi

# need to be defined after FROM for them to be replaced in the RUN bellow
ARG HOME_URL="https://github.com/kairos-io/kairos"
Expand Down Expand Up @@ -223,11 +224,8 @@ LABEL io.kairos.software-version="${SOFTWARE_VERSION}"
LABEL io.kairos.software-version-prefix="${SOFTWARE_VERSION_PREFIX}"
LABEL io.kairos.targetarch="${TARGETARCH}"

# not duplicated but used to see the error
RUN kairos-agent versioneer os-release-variables
RUN kairos-agent versioneer os-release-variables >> /etc/os-release
# not duplicated but used to see the error
RUN kairos-agent versioneer container-artifact-name
RUN kairos-agent versioneer os-release-variables > /etc/kairos-release
RUN kairos-agent versioneer container-artifact-name > /IMAGE

SHELL ["/bin/bash", "-o", "pipefail", "-c"]
Expand Down
6 changes: 2 additions & 4 deletions images/Dockerfile.kairos-debian
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ RUN rm -rf /etc/ssh/ssh_host_*
COPY which-init.sh /usr/local/bin/which-init.sh

RUN sed -i -n '/KAIROS_/!p' /etc/os-release
RUN if [ -f "/etc/kairos-release" ]; then sed -i -n '/KAIROS_/!p' /etc/kairos-release; fi

# need to be defined after FROM for them to be replaced in the RUN bellow
ARG HOME_URL="https://github.com/kairos-io/kairos"
Expand Down Expand Up @@ -237,11 +238,8 @@ LABEL io.kairos.software-version="${SOFTWARE_VERSION}"
LABEL io.kairos.software-version-prefix="${SOFTWARE_VERSION_PREFIX}"
LABEL io.kairos.targetarch="${TARGETARCH}"

# not duplicated but used to see the error
RUN kairos-agent versioneer os-release-variables
RUN kairos-agent versioneer os-release-variables >> /etc/os-release
# not duplicated but used to see the error
RUN kairos-agent versioneer container-artifact-name
RUN kairos-agent versioneer os-release-variables > /etc/kairos-release
RUN kairos-agent versioneer container-artifact-name > /IMAGE

SHELL ["/bin/bash", "-o", "pipefail", "-c"]
Expand Down
6 changes: 2 additions & 4 deletions images/Dockerfile.kairos-opensuse
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@ RUN rm -rf /etc/ssh/ssh_host_*
COPY which-init.sh /usr/local/bin/which-init.sh

RUN sed -i -n '/KAIROS_/!p' /etc/os-release
RUN if [ -f "/etc/kairos-release" ]; then sed -i -n '/KAIROS_/!p' /etc/kairos-release; fi

# need to be defined after FROM for them to be replaced in the RUN bellow
ARG HOME_URL="https://github.com/kairos-io/kairos"
Expand Down Expand Up @@ -233,11 +234,8 @@ LABEL io.kairos.software-version="${SOFTWARE_VERSION}"
LABEL io.kairos.software-version-prefix="${SOFTWARE_VERSION_PREFIX}"
LABEL io.kairos.targetarch="${TARGETARCH}"

# not duplicated but used to see the error
RUN kairos-agent versioneer os-release-variables
RUN kairos-agent versioneer os-release-variables >> /etc/os-release
# not duplicated but used to see the error
RUN kairos-agent versioneer container-artifact-name
RUN kairos-agent versioneer os-release-variables > /etc/kairos-release
RUN kairos-agent versioneer container-artifact-name > /IMAGE

SHELL ["/bin/bash", "-o", "pipefail", "-c"]
Expand Down
6 changes: 2 additions & 4 deletions images/Dockerfile.kairos-rhel
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ RUN rm -rf /etc/ssh/ssh_host_*
COPY which-init.sh /usr/local/bin/which-init.sh

RUN sed -i -n '/KAIROS_/!p' /etc/os-release
RUN if [ -f "/etc/kairos-release" ]; then sed -i -n '/KAIROS_/!p' /etc/kairos-release; fi

# need to be defined after FROM for them to be replaced in the RUN bellow
ARG HOME_URL="https://github.com/kairos-io/kairos"
Expand Down Expand Up @@ -172,11 +173,8 @@ LABEL io.kairos.software-version="${SOFTWARE_VERSION}"
LABEL io.kairos.software-version-prefix="${SOFTWARE_VERSION_PREFIX}"
LABEL io.kairos.targetarch="${TARGETARCH}"

# not duplicated but used to see the error
RUN kairos-agent versioneer os-release-variables
RUN kairos-agent versioneer os-release-variables >> /etc/os-release
# not duplicated but used to see the error
RUN kairos-agent versioneer container-artifact-name
RUN kairos-agent versioneer os-release-variables > /etc/kairos-release
RUN kairos-agent versioneer container-artifact-name > /IMAGE

SHELL ["/bin/bash", "-o", "pipefail", "-c"]
Expand Down
6 changes: 2 additions & 4 deletions images/Dockerfile.kairos-ubuntu
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,7 @@ RUN rm -rf /etc/ssh/ssh_host_*
COPY which-init.sh /usr/local/bin/which-init.sh

RUN sed -i -n '/KAIROS_/!p' /etc/os-release
RUN if [ -f "/etc/kairos-release" ]; then sed -i -n '/KAIROS_/!p' /etc/kairos-release; fi

# need to be defined after FROM for them to be replaced in the RUN bellow
ARG HOME_URL="https://github.com/kairos-io/kairos"
Expand Down Expand Up @@ -438,11 +439,8 @@ LABEL io.kairos.software-version="${SOFTWARE_VERSION}"
LABEL io.kairos.software-version-prefix="${SOFTWARE_VERSION_PREFIX}"
LABEL io.kairos.targetarch="${TARGETARCH}"

# not duplicated but used to see the error
RUN kairos-agent versioneer os-release-variables
RUN kairos-agent versioneer os-release-variables >> /etc/os-release
# not duplicated but used to see the error
RUN kairos-agent versioneer container-artifact-name
RUN kairos-agent versioneer os-release-variables > /etc/kairos-release
RUN kairos-agent versioneer container-artifact-name > /IMAGE

SHELL ["/bin/bash", "-o", "pipefail", "-c"]
Expand Down
4 changes: 2 additions & 2 deletions tests/bundles_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ var _ = Describe("kairos bundles test", Label("bundles-test"), func() {
}, 3*time.Minute, 10*time.Second).Should(ContainSubstring("kubo"), func() string {
// Debug output in case of an error
result := ""
out, _ := vm.Sudo("cat /etc/os-release")
result = result + fmt.Sprintf("os-release:\n%s\n", out)
out, _ := vm.Sudo("cat /etc/kairos-release")
result = result + fmt.Sprintf("kairos-release:\n%s\n", out)

out, _ = vm.Sudo("cat /oem/90_custom.yaml")
result = result + fmt.Sprintf("90_custom.yaml:\n%s\n", out)
Expand Down
2 changes: 1 addition & 1 deletion tests/provider_decentralized_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ var _ = Describe("kairos decentralized k8s test", Label("provider", "provider-de
})

vmForEach("checking if it upgrades to a specific version", vms, func(vm VM) {
version, err := vm.Sudo("source /etc/os-release; echo $VERSION")
version, err := vm.Sudo(getVersionCmd)
Expect(err).ToNot(HaveOccurred(), version)

out, err := vm.Sudo("kairos-agent upgrade --image quay.io/kairos/kairos-opensuse:v1.0.0-rc2-k3sv1.21.14-k3s1")
Expand Down
2 changes: 1 addition & 1 deletion tests/tests_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func TestSuite(t *testing.T) {
RunSpecs(t, "kairos Test Suite")
}

var getVersionCmd = ". /etc/os-release; [ ! -z \"$KAIROS_VERSION\" ] && echo $KAIROS_VERSION || echo $VERSION"
var getVersionCmd = ". /etc/kairos-release; [ ! -z \"$KAIROS_VERSION\" ] && echo $KAIROS_VERSION || echo $VERSION"

// https://gist.github.com/sevkin/96bdae9274465b2d09191384f86ef39d
// GetFreePort asks the kernel for a free open port that is ready to use.
Expand Down
2 changes: 1 addition & 1 deletion tests/uki_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ var _ = Describe("kairos UKI test", Label("uki"), Ordered, func() {
vm.EventuallyConnects(1200)

By("checking if upgrade worked")
out, err = vm.Sudo("cat /etc/os-release")
out, err = vm.Sudo("cat /etc/kairos-release")
Expect(err).ToNot(HaveOccurred(), out)
Expect(out).To(MatchRegexp(fmt.Sprintf("KAIROS_VERSION=\"?%s\"?", os.Getenv("EXPECTED_NEW_VERSION"))))

Expand Down
Loading