diff --git a/README.md b/README.md index e69de29..7dd46ed 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,47 @@ +# k0s Update Server - Reference implementation + +This repo serves as k0s update server reference implementation. It provides the basic channels descriptions that is expected from an update server. + +Essentially k0s autopilot assumes the folowing structure for update channels: + +```text +channels/ + / + index.yaml +``` + +Each the channel name can contain e.g. forward slashes so you can structure the channels for example like so: + +```text +channels/ + stable/v1.28/ + index.yaml + unstable/v1.28/ + index.yaml +``` + +Each channel `index.yaml` need to provide following information: + +```yaml +channel: v1.27 +eolDate: "2024-06-28" +version: 1.27.8+k0s.0 +downloadURLs: +- arch: amd64 + os: linux + k0s: https://github.com/k0sproject/k0s/releases/download/v1.27.0%2Bk0s.0/k0s-v1.27.0+k0s.0-amd64 + k0sSha256: deadbeef + airgapBundle: someurlhere + airgapSha256: deadbeef +- arch: arm64 + os: linux + url: https://github.com/k0sproject/k0s/releases/download/v1.27.0%2Bk0s.0/k0s-v1.27.0+k0s.0-arm64 +- arch: arm + os: linux + url: https://github.com/k0sproject/k0s/releases/download/v1.27.0%2Bk0s.0/k0s-v1.27.0+k0s.0-arm +- arch: amd64 + os: windows + url: https://github.com/k0sproject/k0s/releases/download/v1.27.0%2Bk0s.0/k0s-v1.27.0+k0s.0-amd64.exe +``` + +So each channel can offer only single version to k0s autopilot client. In general the design pattern here is that each major.minor version will have their own channel where the latest patch release is offered. \ No newline at end of file diff --git a/channels/latest/index.yaml b/channels/latest/index.yaml new file mode 100644 index 0000000..c018938 --- /dev/null +++ b/channels/latest/index.yaml @@ -0,0 +1,15 @@ +channel: latest +version: 1.28.2+k0s.0 # This is the version which is offered by this channel +downloadURLs: +- arch: amd64 + os: linux + k0s: https://github.com/k0sproject/k0s/releases/download/v1.28.2%2Bk0s.0/k0s-v1.28.2+k0s.0-amd64 + k0sSha256: deadbeef # SHA256 checksum of the k0s binary + airgapBundle: someurlhere # URL to the airgap bundle + airgapSha256: deadbeef # SHA256 checksum of the airgap bundle +- arch: arm64 + os: linux + k0s: https://github.com/k0sproject/k0s/releases/download/v1.28.2%2Bk0s.0/k0s-v1.28.2+k0s.0-arm64 +- arch: arm + os: linux + k0s: https://github.com/k0sproject/k0s/releases/download/v1.28.2%2Bk0s.0/k0s-v1.28.2+k0s.0-arm diff --git a/channels/stable/v1.27/index.yaml b/channels/stable/v1.27/index.yaml deleted file mode 100644 index d422b6b..0000000 --- a/channels/stable/v1.27/index.yaml +++ /dev/null @@ -1,16 +0,0 @@ -channel: v1.27 -eolDate: 2024-06-28 -version: 1.27.0+k0s.0 -downloadURLs: -- arch: amd64 - os: linux - url: https://github.com/k0sproject/k0s/releases/download/v1.27.0%2Bk0s.0/k0s-v1.27.0+k0s.0-amd64 -- arch: arm64 - os: linux - url: https://github.com/k0sproject/k0s/releases/download/v1.27.0%2Bk0s.0/k0s-v1.27.0+k0s.0-arm64 -- arch: arm - os: linux - url: https://github.com/k0sproject/k0s/releases/download/v1.27.0%2Bk0s.0/k0s-v1.27.0+k0s.0-arm -- arch: amd64 - os: windows - url: https://github.com/k0sproject/k0s/releases/download/v1.27.0%2Bk0s.0/k0s-v1.27.0+k0s.0-amd64.exe diff --git a/channels/stable/v1.28/index.yaml b/channels/stable/v1.28/index.yaml new file mode 100644 index 0000000..3b7e19d --- /dev/null +++ b/channels/stable/v1.28/index.yaml @@ -0,0 +1,16 @@ +channel: v1.28 +version: 1.28.2+k0s.0 # This is the version which is offered by this channel +downloadURLs: +- arch: amd64 + os: linux + k0s: https://github.com/k0sproject/k0s/releases/download/v1.28.2%2Bk0s.0/k0s-v1.28.2+k0s.0-amd64 + k0sSha256: deadbeef # SHA256 checksum of the k0s binary + airgapBundle: someurlhere # URL to the airgap bundle + airgapSha256: deadbeef # SHA256 checksum of the airgap bundle +- arch: arm64 + os: linux + k0s: https://github.com/k0sproject/k0s/releases/download/v1.28.2%2Bk0s.0/k0s-v1.28.2+k0s.0-arm64 +- arch: arm + os: linux + k0s: https://github.com/k0sproject/k0s/releases/download/v1.28.2%2Bk0s.0/k0s-v1.28.2+k0s.0-arm + diff --git a/channels/unstable/index.yaml b/channels/unstable/index.yaml new file mode 100644 index 0000000..cefb23d --- /dev/null +++ b/channels/unstable/index.yaml @@ -0,0 +1,16 @@ +channel: latest-unstable +version: 1.28.2-rc.1+k0s.0 # This is the version which is offered by this channel +downloadURLs: +- arch: amd64 + os: linux + k0s: https://github.com/k0sproject/k0s/releases/download/v1.28.2-rc.1%2Bk0s.0/k0s-v1.28.2-rc.1+k0s.0-amd64 + k0sSha256: deadbeef # SHA256 checksum of the k0s binary + airgapBundle: someurlhere # URL to the airgap bundle + airgapSha256: deadbeef # SHA256 checksum of the airgap bundle +- arch: arm64 + os: linux + k0s: https://github.com/k0sproject/k0s/releases/download/v1.28.2-rc.1%2Bk0s.0/k0s-v1.28.2-rc.1+k0s.0-arm64 +- arch: arm + os: linux + k0s: https://github.com/k0sproject/k0s/releases/download/v1.28.2-rc.1%2Bk0s.0/k0s-v1.28.2-rc.1+k0s.0-arm +