Remove left-overs from when we used this repo to release "standard"
images.

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
This commit is contained in:
Dimitris Karakasilis
2023-10-27 12:32:00 +03:00
committed by GitHub
parent ddb576abef
commit 43e7222cbc
15 changed files with 3 additions and 629 deletions

12
.github/bump_core.sh vendored
View File

@@ -1,12 +0,0 @@
#!/bin/bash
# https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c
get_latest_release() {
curl --silent "https://api.github.com/repos/$1/releases/latest" | # Get latest release from GitHub api
grep '"tag_name":' | # Get tag line
sed -E 's/.*"([^"]+)".*/\1/' # Pluck JSON value
}
LATEST=$(get_latest_release "kairos-io/kairos")
echo "$LATEST" > CORE_VERSION

View File

@@ -1,48 +0,0 @@
#!/bin/bash
# Compares two semantic versions. True if the first is lower or equal to the second.
# https://stackoverflow.com/a/4024263
verlte() {
[ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]
}
# https://www.shellcheck.net/wiki/SC2207
mapfile -t versionsArray < <(curl -s https://update.k3s.io/v1-release/channels | jq -rc '[ .data[] | select(.type == "channel") | select(.name | test("testing") | not) | .latest ] | unique | .[]')
# This gives us the latest stable version minor number
latest_version=$(curl -s https://update.k3s.io/v1-release/channels | jq -rc '.data[] | select(.id == "latest") | .latest' | cut -d. -f2)
# Supported versions are the latest 3 ones:
# "The Kubernetes project maintains release branches for the most recent three minor releases (1.27, 1.26, 1.25)"
# from https://kubernetes.io/releases/
# So we calculate that based on the $(latest release - 2) to get the supported upstream versions
supported_version=$((latest_version-2))
echo "Supported minimum version: v1.$supported_version.0"
# Filter only versions above v1.$supported_version.0 (https://stackoverflow.com/a/40375567)
for index in "${!versionsArray[@]}" ; do
(verlte "${versionsArray[$index]}" v1.$supported_version.0) && unset -v 'versionsArray[$index]'
done
versions="${versionsArray[*]}"
echo "Found supported versions: $versions"
amd64_flavor=("opensuse-leap" "opensuse-tumbleweed" "alpine-ubuntu" "alpine-opensuse-leap" "ubuntu" "ubuntu-20-lts" "ubuntu-22-lts" "fedora" "debian")
arm64_flavor=("opensuse-leap-arm-rpi" "opensuse-tumbleweed-arm-rpi" "alpine-arm-rpi")
arm64_models=("rpi64")
releases="[]"
releases_arm="[]"
for row in $versions; do
for flavor in "${amd64_flavor[@]}"; do
echo "Adding version $row for flavor $flavor on amd64"
releases=$(echo "$releases" | jq ". += [{ \"flavor\": \"$flavor\", \"k3s_version\": \"$row\" }]" )
done
for flavor in "${arm64_flavor[@]}"; do
for model in "${arm64_models[@]}"; do
echo "Adding version $row for flavor $flavor and model $model on arm64"
releases_arm=$(echo "$releases_arm" | jq ". += [{ \"flavor\": \"$flavor\", \"model\": \"$model\", \"k3s_version\": \"$row\" }]" )
done
done
done
echo "$releases_arm" | jq > releases-arm.json
echo "$releases" | jq > releases.json

View File

@@ -1,24 +0,0 @@
#!/bin/bash
set -e
reference() {
nr=$1
tag=$2
echo ".repositories[$nr] |= . * { \"reference\": \"$tag-repository.yaml\" }"
}
YQ=${YQ:-docker run --rm -v "${PWD}":/workdir mikefarah/yq}
set -x
last_commit_snapshot() {
docker run --rm quay.io/skopeo/stable list-tags "docker://$1" | jq -rc '.Tags | map(select( (. | contains("-repository.yaml")) )) | sort_by(. | sub("v";"") | sub("-repository.yaml";"") | sub("-";"") | split(".") | map(tonumber) ) | .[-1]' | sed "s/-repository.yaml//g"
}
latest_tag=$(last_commit_snapshot quay.io/kairos/packages)
latest_tag_arm64=$(last_commit_snapshot quay.io/kairos/packages-arm64)
$YQ eval "$(reference 0 "$latest_tag")" -i repository.yaml
$YQ eval "$(reference 1 "$latest_tag_arm64")" -i repository.yaml

4
.github/run_test.sh vendored
View File

@@ -1,4 +0,0 @@
#!/bin/bash
go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo
ginkgo --label-filter "$1" --fail-fast -v -r ./tests/

View File

@@ -1,23 +0,0 @@
name: Bump core
on:
schedule:
- cron: 0 18 * * *
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Bump k3s 🔧
run: |
sudo -E bash ./.github/bump_core.sh
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
with:
token: ${{ secrets.PAT_TOKEN }}
push-to-fork: ci-forks/provider-c3os
commit-message: ":arrow_up: Update core images"
branch: core-images-bump
signoff: true
title: ":arrow_up: Kairos core image bump"
body: "Update of the Kairos core image tag"

View File

@@ -1,22 +0,0 @@
name: Bump k3s
on:
schedule:
- cron: 0 18 * * *
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Bump k3s 🔧
run: |
sudo -E bash ./.github/bump_k3s_versions.sh
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
with:
signoff: true
token: ${{ secrets.PAT_TOKEN }}
push-to-fork: ci-forks/provider-c3os
commit-message: ":arrow_up: Update k3s"
title: "K3s versions bump"
body: "Keep track of stable releases"

View File

@@ -1,26 +0,0 @@
name: Bump repositories
on:
schedule:
- cron: 0 20 * * *
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Bump cos 🔧
run: |
docker run --name=yq -v "${PWD}":/workdir mikefarah/yq
docker cp yq:/usr/bin/yq ./
export YQ=$PWD/yq
sudo -E bash ./.github/bump_repositories.sh
rm -rf yq
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
with:
token: ${{ secrets.PAT_TOKEN }}
push-to-fork: ci-forks/provider-c3os
commit-message: ":arrow_up: Update repositories"
signoff: true
title: "Repositories bump"
body: "Bump of luet repositories"

View File

@@ -1 +0,0 @@
v2.3.0

277
Earthfile
View File

@@ -1,75 +1,10 @@
VERSION 0.6
IMPORT github.com/kairos-io/kairos
FROM alpine
ARG OS_ID=kairos
ARG VARIANT=standard
ARG FLAVOR=opensuse-leap
## Versioning
ARG K3S_VERSION
RUN apk add git
COPY . ./
RUN echo $(git describe --always --tags --dirty) > VERSION
ARG CORE_VERSION=$(cat CORE_VERSION || echo "latest")
ARG VERSION=$(cat VERSION)
RUN echo "version ${VERSION}"
ARG K3S_VERSION_TAG=$(echo $K3S_VERSION | sed s/+/-/)
ARG TAG=${VERSION}-k3s${K3S_VERSION_TAG}
ARG BASE_REPO=quay.io/kairos
ARG IMAGE=${BASE_REPO}/${OS_ID}-${FLAVOR}:$TAG
ARG BASE_IMAGE=quay.io/kairos/core-${FLAVOR}:${CORE_VERSION}
# renovate: datasource=docker depName=quay.io/kairos/osbuilder-tools versioning=semver-coerced
ARG OSBUILDER_VERSION=v0.8.2
ARG OSBUILDER_IMAGE=quay.io/kairos/osbuilder-tools:$OSBUILDER_VERSION
## External deps pinned versions
ARG LUET_VERSION=0.33.0
# renovate: datasource=docker depName=golang
ARG GO_VERSION=1.20
ARG MODEL=generic
ARG TARGETARCH
ARG CGO_ENABLED=0
RELEASEVERSION:
COMMAND
RUN echo "$IMAGE" > IMAGE
RUN echo "$VERSION" > VERSION
SAVE ARTIFACT VERSION AS LOCAL build/VERSION
SAVE ARTIFACT IMAGE AS LOCAL build/IMAGE
all-arm-generic:
BUILD --platform=linux/arm64 +docker
BUILD --platform=linux/arm64 +image-sbom
BUILD --platform=linux/arm64 +iso
DO +RELEASEVERSION
all:
ARG SECURITY_SCANS=true
BUILD +docker
IF [ "$SECURITY_SCANS" = "true" ]
BUILD +image-sbom
END
BUILD +iso
BUILD +netboot
BUILD +ipxe-iso
DO +RELEASEVERSION
ci:
BUILD +docker
BUILD +iso
all-arm:
ARG SECURITY_SCANS=true
BUILD --platform=linux/arm64 +docker
IF [ "$SECURITY_SCANS" = "true" ]
BUILD --platform=linux/arm64 +image-sbom --MODEL=rpi64
END
BUILD +arm-image --MODEL=rpi64
DO +RELEASEVERSION
go-deps:
ARG GO_VERSION
FROM golang:$GO_VERSION
@@ -82,7 +17,6 @@ go-deps:
test:
FROM +go-deps
WORKDIR /build
COPY (kairos+luet/luet) /usr/bin/luet
COPY . .
RUN go run github.com/onsi/ginkgo/v2/ginkgo --fail-fast --covermode=atomic --coverprofile=coverage.out -p -r ./internal
SAVE ARTIFACT coverage.out AS LOCAL coverage.out
@@ -123,214 +57,3 @@ version:
ARG VERSION=$(cat VERSION)
SAVE ARTIFACT VERSION VERSION
docker:
ARG FLAVOR
ARG VARIANT
FROM $BASE_IMAGE
DO +PROVIDER_INSTALL
ARG KAIROS_VERSION
IF [ "$KAIROS_VERSION" = "" ]
ARG OS_VERSION=${VERSION}
ELSE
ARG OS_VERSION=${KAIROS_VERSION}
END
ARG OS_ID
ARG OS_NAME=${OS_ID}-${FLAVOR}
ARG OS_REPO=quay.io/kairos/${OS_ID}-${FLAVOR}
ARG OS_LABEL=latest
DO kairos+OSRELEASE --BUG_REPORT_URL="https://github.com/kairos-io/kairos/issues/new/choose" --HOME_URL="https://github.com/kairos-io/provider-kairos" --OS_ID=${OS_ID} --OS_LABEL=${OS_LABEL} --OS_NAME=${OS_NAME} --OS_REPO=${OS_REPO} --OS_VERSION=${OS_VERSION}-k3s${K3S_VERSION} --GITHUB_REPO="kairos-io/provider-kairos" --VARIANT=${VARIANT} --FLAVOR=${FLAVOR}
SAVE IMAGE $IMAGE
# This install the requirements for the provider to be included.
# Made as a command so it can be reused from other targets without depending on this repo BASE_IMAGE
PROVIDER_INSTALL:
COMMAND
IF [ "$K3S_VERSION" = "latest" ]
ELSE
ENV INSTALL_K3S_VERSION=${K3S_VERSION}
END
IF [ "$FLAVOR" = "opensuse-leap" ] || [ "$FLAVOR" = "opensuse-leap-arm-rpi" ]
RUN zypper ref && zypper in -y nohang
ELSE IF [ "$FLAVOR" = "alpine-ubuntu" ] || [ "$FLAVOR" = "alpine-opensuse-leap" ] || [ "$FLAVOR" = "alpine-arm-rpi" ]
RUN apk add grep
ELSE IF [ "$FLAVOR" = "opensuse-tumbleweed" ] || [ "$FLAVOR" = "opensuse-tumbleweed-arm-rpi" ]
RUN zypper ref && zypper in -y nohang
ELSE IF [ "$FLAVOR" = "ubuntu" ] || [ "$FLAVOR" = "ubuntu-20-lts" ] || [ "$FLAVOR" = "ubuntu-22-lts" ] || [ "$FLAVOR" = "debian" ]
RUN apt-get update && apt-get install -y nohang
END
ENV INSTALL_K3S_BIN_DIR="/usr/bin"
RUN curl -sfL https://get.k3s.io > installer.sh \
&& INSTALL_K3S_SELINUX_WARN=true INSTALL_K3S_SKIP_START="true" INSTALL_K3S_SKIP_ENABLE="true" INSTALL_K3S_SKIP_SELINUX_RPM="true" bash installer.sh \
&& INSTALL_K3S_SELINUX_WARN=true INSTALL_K3S_SKIP_START="true" INSTALL_K3S_SKIP_ENABLE="true" INSTALL_K3S_SKIP_SELINUX_RPM="true" bash installer.sh agent \
&& rm -rf installer.sh
# If base image does not bundle a luet config use one
# TODO: Remove this, use luet config from base images so they are in sync
IF [ ! -e "/etc/luet/luet.yaml" ]
COPY repository.yaml /etc/luet/luet.yaml
END
RUN luet install -y utils/edgevpn utils/k9s utils/nerdctl container/kubectl utils/kube-vip && luet cleanup
# Drop env files from k3s as we will generate them
IF [ -e "/etc/rancher/k3s/k3s.env" ]
RUN rm -rf /etc/rancher/k3s/k3s.env /etc/rancher/k3s/k3s-agent.env && touch /etc/rancher/k3s/.keep
END
COPY +build-kairos-agent-provider/agent-provider-kairos /system/providers/agent-provider-kairos
RUN ln -s /system/providers/agent-provider-kairos /usr/bin/kairos
docker-rootfs:
FROM +docker
SAVE ARTIFACT /. rootfs
kairos:
ARG KAIROS_VERSION=master
FROM alpine
RUN apk add git
WORKDIR /kairos
RUN git clone https://github.com/kairos-io/kairos /kairos && cd /kairos && git checkout "$KAIROS_VERSION"
SAVE ARTIFACT /kairos/
iso:
ARG OSBUILDER_IMAGE
ARG IMG=docker:$IMAGE
ARG overlay=overlay/files-iso
IF [ "$TARGETARCH" = "arm64" ]
ARG DISTRO=$(echo $FLAVOR | sed 's/-arm-.*//')
ARG ISO_NAME=${OS_ID}-${VARIANT}-${DISTRO}-${TARGETARCH}-${MODEL}-${VERSION}
ELSE
ARG ISO_NAME=${OS_ID}-${VARIANT}-${FLAVOR}-${TARGETARCH}-${MODEL}-${VERSION}
END
FROM $OSBUILDER_IMAGE
RUN zypper in -y jq docker
WORKDIR /build
COPY . ./
RUN mkdir -p overlay/files-iso
COPY +kairos/kairos/overlay/files-iso/ ./$overlay/
COPY +docker-rootfs/rootfs /build/image
RUN /entrypoint.sh --name $ISO_NAME --debug build-iso --date=false dir:/build/image --overlay-iso /build/${overlay} --output /build
SAVE ARTIFACT /build/$ISO_NAME.iso kairos.iso AS LOCAL build/$ISO_NAME.iso
SAVE ARTIFACT /build/$ISO_NAME.iso.sha256 kairos.iso.sha256 AS LOCAL build/$ISO_NAME.iso.sha256
netboot:
FROM opensuse/leap
ARG VERSION
IF [ "$TARGETARCH" = "arm64" ]
ARG DISTRO=$(echo $FLAVOR | sed 's/-arm-.*//')
ARG ISO_NAME=${OS_ID}-${VARIANT}-${DISTRO}-${TARGETARCH}-${MODEL}-${VERSION}
ELSE
ARG ISO_NAME=${OS_ID}-${VARIANT}-${FLAVOR}-${TARGETARCH}-${MODEL}-${VERSION}
END
WORKDIR /build
COPY +iso/kairos.iso kairos.iso
COPY . .
RUN zypper in -y cdrtools
COPY +kairos/kairos/scripts/netboot.sh ./
RUN sh netboot.sh kairos.iso $ISO_NAME $VERSION
SAVE ARTIFACT /build/$ISO_NAME.squashfs squashfs AS LOCAL build/$ISO_NAME.squashfs
SAVE ARTIFACT /build/$ISO_NAME-kernel kernel AS LOCAL build/$ISO_NAME-kernel
SAVE ARTIFACT /build/$ISO_NAME-initrd initrd AS LOCAL build/$ISO_NAME-initrd
SAVE ARTIFACT /build/$ISO_NAME.ipxe ipxe AS LOCAL build/$ISO_NAME.ipxe
arm-image:
ARG OSBUILDER_IMAGE
ARG COMPRESS_IMG=true
FROM $OSBUILDER_IMAGE
ARG MODEL=rpi64
ARG DISTRO=$(echo $FLAVOR | sed 's/-arm-.*//')
# TARGETARCH is not used here because OSBUILDER_IMAGE is not available in arm64. When this changes, then the caller
# of this target can simply pass the desired TARGETARCH.
ARG IMAGE_NAME=${OS_ID}-${VARIANT}-${DISTRO}-arm64-${MODEL}-${VERSION}-k3s${K3S_VERSION}.img
WORKDIR /build
ENV SIZE="15200"
IF [[ "$FLAVOR" = "ubuntu-20-lts-arm-nvidia-jetson-agx-orin" ]]
ENV STATE_SIZE="14000"
ENV RECOVERY_SIZE="10000"
ENV DEFAULT_ACTIVE_SIZE="4500"
ELSE IF [[ "$FLAVOR" =~ ^ubuntu* ]]
ENV STATE_SIZE="6900"
ENV RECOVERY_SIZE="4600"
ENV DEFAULT_ACTIVE_SIZE="2700"
ELSE
ENV STATE_SIZE="6200"
ENV RECOVERY_SIZE="4200"
ENV DEFAULT_ACTIVE_SIZE="2000"
END
COPY --platform=linux/arm64 +docker-rootfs/rootfs /build/image
# With docker is required for loop devices
WITH DOCKER --allow-privileged
RUN /build-arm-image.sh --use-lvm --model $MODEL --directory "/build/image" /build/$IMAGE_NAME
END
IF [ "$COMPRESS_IMG" = "true" ]
RUN xz -v /build/$IMAGE_NAME
SAVE ARTIFACT /build/$IMAGE_NAME.xz img AS LOCAL build/$IMAGE_NAME.xz
ELSE
SAVE ARTIFACT /build/$IMAGE_NAME img AS LOCAL build/$IMAGE_NAME
END
SAVE ARTIFACT /build/$IMAGE_NAME.sha256 img-sha256 AS LOCAL build/$IMAGE_NAME.sha256
syft:
FROM anchore/syft:latest
SAVE ARTIFACT /syft syft
image-sbom:
FROM +docker
WORKDIR /build
ARG TAG
ARG FLAVOR
ARG VARIANT
ARG MODEL
IF [ "$TARGETARCH" = "arm64" ]
ARG DISTRO=$(echo $FLAVOR | sed 's/-arm-.*//')
ARG ISO_NAME=${OS_ID}-${VARIANT}-${DISTRO}-${TARGETARCH}-${MODEL}-${VERSION}
ELSE
ARG ISO_NAME=${OS_ID}-${VARIANT}-${FLAVOR}-${TARGETARCH}-${MODEL}-${VERSION}
END
COPY +syft/syft /usr/bin/syft
RUN syft / -o json=sbom.syft.json -o spdx-json=sbom.spdx.json
SAVE ARTIFACT /build/sbom.syft.json sbom.syft.json AS LOCAL build/${ISO_NAME}-sbom.syft.json
SAVE ARTIFACT /build/sbom.spdx.json sbom.spdx.json AS LOCAL build/${ISO_NAME}-sbom.spdx.json
ipxe-iso:
FROM ubuntu
ARG ipxe_script
RUN apt update
RUN apt install -y -o Acquire::Retries=50 \
mtools syslinux isolinux gcc-arm-none-eabi git make gcc liblzma-dev mkisofs xorriso
# jq docker
WORKDIR /build
RUN git clone https://github.com/ipxe/ipxe
IF [ "$ipxe_script" = "" ]
COPY +netboot/ipxe /build/ipxe/script.ipxe
ELSE
COPY $ipxe_script /build/ipxe/script.ipxe
END
RUN cd ipxe/src && make EMBED=/build/ipxe/script.ipxe
SAVE ARTIFACT /build/ipxe/src/bin/ipxe.iso iso AS LOCAL build/${ISO_NAME}-ipxe.iso
SAVE ARTIFACT /build/ipxe/src/bin/ipxe.usb usb AS LOCAL build/${ISO_NAME}-ipxe-usb.img
## Security targets
trivy:
FROM aquasec/trivy
SAVE ARTIFACT /usr/local/bin/trivy /trivy
trivy-scan:
ARG SEVERITY=CRITICAL
FROM +docker
COPY +trivy/trivy /trivy
RUN /trivy filesystem --severity $SEVERITY --exit-code 1 --no-progress /

View File

@@ -57,19 +57,19 @@ Contribute
## Provider kairos
This repository generates Kairos images with full-mesh support. full-mesh support currently is available only with k3s, and the provider follows strictly k3s releases.
This repository hosts the code for provider binary used in Kairos "standard" images which offer full-mesh support.
full-mesh support currently is available only with k3s, and the provider follows strictly k3s releases.
> [!NOTE]
> The provider-kairos release pipelines have been merged with the kairos ones from version `2.4.0` onward. All image artifacts are released from the kairos repository, both core images and standard images (those with the provider).
To use Kairos with mesh support, either download the bootable medium in the releases.
To use Kairos with mesh support, download the bootable medium form the [kairos releases](https://github.com/kairos-io/kairos/releases).
Follow up the examples in our documentation on how to get started:
- https://kairos.io/docs/examples/single-node/
- https://kairos.io/docs/examples/multi-node/
- https://kairos.io/docs/examples/multi-node-p2p-ha-kubevip/
## Upgrades
Upgrading can be done either via Kubernetes or manually with `kairos-agent upgrade --image <image>`, or you can list available versions with `kairos-agent upgrade list-releases`.

View File

@@ -3,7 +3,6 @@ package role
import (
"fmt"
"math/rand"
"time"
"github.com/kairos-io/kairos-agent/v2/pkg/config"
providerConfig "github.com/kairos-io/provider-kairos/v2/internal/provider/config"
@@ -13,8 +12,6 @@ import (
// scheduleRoles assigns roles to nodes. Meant to be called only by leaders.
func scheduleRoles(nodes []string, c *service.RoleConfig, cc *config.Config, pconfig *providerConfig.Config) error { //nolint:revive
rand.Seed(time.Now().Unix())
// Assign roles to nodes
unassignedNodes, currentRoles := getRoles(c.Client, nodes)
c.Logger.Infof("I'm the leader. My UUID is: %s.\n Current assigned roles: %+v", c.UUID, currentRoles)

View File

@@ -1,47 +0,0 @@
[
{
"flavor": "opensuse-leap-arm-rpi",
"model": "rpi64",
"k3s_version": "v1.25.11+k3s1"
},
{
"flavor": "opensuse-tumbleweed-arm-rpi",
"model": "rpi64",
"k3s_version": "v1.25.11+k3s1"
},
{
"flavor": "alpine-arm-rpi",
"model": "rpi64",
"k3s_version": "v1.25.11+k3s1"
},
{
"flavor": "opensuse-leap-arm-rpi",
"model": "rpi64",
"k3s_version": "v1.26.6+k3s1"
},
{
"flavor": "opensuse-tumbleweed-arm-rpi",
"model": "rpi64",
"k3s_version": "v1.26.6+k3s1"
},
{
"flavor": "alpine-arm-rpi",
"model": "rpi64",
"k3s_version": "v1.26.6+k3s1"
},
{
"flavor": "opensuse-leap-arm-rpi",
"model": "rpi64",
"k3s_version": "v1.27.3+k3s1"
},
{
"flavor": "opensuse-tumbleweed-arm-rpi",
"model": "rpi64",
"k3s_version": "v1.27.3+k3s1"
},
{
"flavor": "alpine-arm-rpi",
"model": "rpi64",
"k3s_version": "v1.27.3+k3s1"
}
]

View File

@@ -1,122 +0,0 @@
[
{
"flavor": "opensuse-leap",
"k3s_version": "v1.25.11+k3s1"
},
{
"flavor": "opensuse-tumbleweed",
"k3s_version": "v1.25.11+k3s1"
},
{
"flavor": "alpine-ubuntu",
"k3s_version": "v1.25.11+k3s1"
},
{
"flavor": "alpine-opensuse-leap",
"k3s_version": "v1.25.11+k3s1"
},
{
"flavor": "ubuntu",
"k3s_version": "v1.25.11+k3s1"
},
{
"flavor": "ubuntu-20-lts",
"k3s_version": "v1.25.11+k3s1"
},
{
"flavor": "ubuntu-22-lts",
"k3s_version": "v1.25.11+k3s1"
},
{
"flavor": "fedora",
"k3s_version": "v1.25.11+k3s1"
},
{
"flavor": "debian",
"k3s_version": "v1.25.11+k3s1"
},
{
"flavor": "rockylinux",
"k3s_version": "v1.25.11+k3s1"
},
{
"flavor": "opensuse-leap",
"k3s_version": "v1.26.6+k3s1"
},
{
"flavor": "opensuse-tumbleweed",
"k3s_version": "v1.26.6+k3s1"
},
{
"flavor": "alpine-ubuntu",
"k3s_version": "v1.26.6+k3s1"
},
{
"flavor": "alpine-opensuse-leap",
"k3s_version": "v1.26.6+k3s1"
},
{
"flavor": "ubuntu",
"k3s_version": "v1.26.6+k3s1"
},
{
"flavor": "ubuntu-20-lts",
"k3s_version": "v1.26.6+k3s1"
},
{
"flavor": "ubuntu-22-lts",
"k3s_version": "v1.26.6+k3s1"
},
{
"flavor": "fedora",
"k3s_version": "v1.26.6+k3s1"
},
{
"flavor": "debian",
"k3s_version": "v1.26.6+k3s1"
},
{
"flavor": "rockylinux",
"k3s_version": "v1.26.6+k3s1"
},
{
"flavor": "opensuse-leap",
"k3s_version": "v1.27.3+k3s1"
},
{
"flavor": "opensuse-tumbleweed",
"k3s_version": "v1.27.3+k3s1"
},
{
"flavor": "alpine-ubuntu",
"k3s_version": "v1.27.3+k3s1"
},
{
"flavor": "alpine-opensuse-leap",
"k3s_version": "v1.27.3+k3s1"
},
{
"flavor": "ubuntu",
"k3s_version": "v1.27.3+k3s1"
},
{
"flavor": "ubuntu-20-lts",
"k3s_version": "v1.27.3+k3s1"
},
{
"flavor": "ubuntu-22-lts",
"k3s_version": "v1.27.3+k3s1"
},
{
"flavor": "fedora",
"k3s_version": "v1.27.3+k3s1"
},
{
"flavor": "debian",
"k3s_version": "v1.27.3+k3s1"
},
{
"flavor": "rockylinux",
"k3s_version": "v1.27.3+k3s1"
}
]

View File

@@ -1,17 +0,0 @@
repositories:
- &kairos
name: "kairos"
# https://github.com/kairos-io/packages
description: "kairos repository"
type: "docker"
arch: amd64
cached: true
priority: 2
urls:
- "quay.io/kairos/packages"
reference: 20230707164258-repository.yaml
- !!merge <<: *kairos
arch: arm64
urls:
- "quay.io/kairos/packages-arm64"
reference: 20230707174702-repository.yaml