mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-03-20 22:41:18 +00:00
5
Makefile
5
Makefile
@@ -1,4 +1,4 @@
|
||||
.PHONY: manifests repos
|
||||
.PHONY: manifests repos assets
|
||||
|
||||
manifests:
|
||||
(cd packages/core/installer/; helm template -n cozy-installer installer .) > manifests/cozystack-installer.yaml
|
||||
@@ -10,3 +10,6 @@ repos:
|
||||
make -C packages/system repo
|
||||
make -C packages/apps repo
|
||||
make -C packages/extra repo
|
||||
|
||||
assets:
|
||||
make -C packages/core/talos/ assets
|
||||
|
||||
26
README.md
26
README.md
@@ -30,26 +30,6 @@ Any Linux system installed on it (eg. Ubuntu should be enough)
|
||||
|
||||
**Note:** The VM should support `x86-64-v2` architecture, the most probably you can achieve this by setting cpu model to `host`
|
||||
|
||||
### Preapre Talos image for your infrastructure
|
||||
|
||||
(later this will be automated)
|
||||
|
||||
```
|
||||
docker run --rm -t \
|
||||
-v $PWD/_out:/out -v /dev:/dev --privileged ghcr.io/siderolabs/imager:v1.6.2 installer \
|
||||
--system-extension-image=ghcr.io/siderolabs/qlogic-firmware:20240115 \
|
||||
--system-extension-image=ghcr.io/siderolabs/bnx2-bnx2x:20240115 \
|
||||
--system-extension-image=ghcr.io/siderolabs/drbd:9.2.6-v1.6.2 \
|
||||
--system-extension-image=ghcr.io/siderolabs/zfs:2.1.14-v1.6.2
|
||||
|
||||
docker load -i _out/installer-amd64.tar
|
||||
|
||||
docker tag ghcr.io/siderolabs/installer:v1.6.2 ghcr.io/kvaps/test:cozystack-talos-v1.6.2
|
||||
|
||||
docker push ghcr.io/kvaps/test:cozystack-talos-v1.6.2
|
||||
```
|
||||
|
||||
|
||||
### Netboot server
|
||||
|
||||
Write configuration:
|
||||
@@ -58,9 +38,9 @@ Write configuration:
|
||||
mkdir -p matchbox/assets matchbox/groups matchbox/profiles
|
||||
|
||||
wget -O matchbox/assets/initramfs.xz \
|
||||
https://github.com/siderolabs/talos/releases/download/v1.6.0/initramfs-amd64.xz
|
||||
https://github.com/aenix-io/cozystack/releases/download/v0.0.1/initramfs-metal-amd64.xz
|
||||
wget -O matchbox/assets/vmlinuz \
|
||||
https://github.com/siderolabs/talos/releases/download/v1.6.0/vmlinuz-amd64
|
||||
https://github.com/aenix-io/cozystack/releases/download/v0.0.1/kernel-amd64
|
||||
|
||||
|
||||
cat > matchbox/groups/default.json <<EOT
|
||||
@@ -152,7 +132,7 @@ machine:
|
||||
- usermode_helper=disabled
|
||||
- name: zfs
|
||||
install:
|
||||
image: ghcr.io/kvaps/test:cozystack-talos-v1.6.2
|
||||
image: ghcr.io/aenix-io/cozystack/talos:v1.6.4
|
||||
files:
|
||||
- content: |
|
||||
[plugins]
|
||||
|
||||
@@ -1,17 +1,20 @@
|
||||
PUSH := 1
|
||||
LOAD := 0
|
||||
REGISTRY := ghcr.io/aenix-io/cozystack
|
||||
TAG := v0.0.1
|
||||
|
||||
image: image-nginx
|
||||
|
||||
image-nginx:
|
||||
docker buildx build --platform linux/amd64 --build-arg ARCH=amd64 images/nginx \
|
||||
docker buildx build --platform linux/amd64 --build-arg ARCH=amd64 images/nginx-cache \
|
||||
--provenance false \
|
||||
--tag ghcr.io/aenix-io/cozystack/nginx-cache:latest \
|
||||
--cache-from type=registry,ref=ghcr.io/aenix-io/cozystack/nginx-cache:latest \
|
||||
--tag $(REGISTRY)/nginx-cache:$(TAG) \
|
||||
--cache-from type=registry,ref=$(REGISTRY)/nginx-cache:$(TAG) \
|
||||
--cache-to type=inline \
|
||||
--metadata-file images/nginx.json \
|
||||
--metadata-file images/nginx-cache.json \
|
||||
--push=$(PUSH) \
|
||||
--load=$(LOAD)
|
||||
echo "$(REGISTRY)/nginx:$(TAG)" > images/nginx-cache.tag
|
||||
|
||||
update:
|
||||
tag=$$(git ls-remote --tags --sort="v:refname" https://github.com/chrislim2888/IP2Location-C-Library | awk -F'[/^]' 'END{print $$3}') && \
|
||||
|
||||
14
packages/apps/http-cache/images/nginx-cache.json
Normal file
14
packages/apps/http-cache/images/nginx-cache.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"containerimage.config.digest": "sha256:d68641167af14b246e0332c14a7a9d9f6c0a4f813881db2de5fc53816bd35786",
|
||||
"containerimage.descriptor": {
|
||||
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
|
||||
"digest": "sha256:241da53aba9b121d5d1829744a9ba31036cd5e5ffd6cf584da8113ddd79764f2",
|
||||
"size": 1093,
|
||||
"platform": {
|
||||
"architecture": "amd64",
|
||||
"os": "linux"
|
||||
}
|
||||
},
|
||||
"containerimage.digest": "sha256:241da53aba9b121d5d1829744a9ba31036cd5e5ffd6cf584da8113ddd79764f2",
|
||||
"image.name": "ghcr.io/aenix-io/cozystack/nginx-cache:v0.0.1"
|
||||
}
|
||||
1
packages/apps/http-cache/images/nginx-cache.tag
Normal file
1
packages/apps/http-cache/images/nginx-cache.tag
Normal file
@@ -0,0 +1 @@
|
||||
ghcr.io/aenix-io/cozystack/nginx:v0.0.1
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"containerimage.config.digest": "sha256:b1916dbacb372ed89ea3f920f08ee68730be2edc016f2caa373a7bbfbad25845",
|
||||
"containerimage.digest": "sha256:f77d5b63f1ed9dfda4725696d9170130939219a2465260b6ba941947460de2da"
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
{{ $imageNginx := .Files.Get "images/nginx.json" | fromJson }}
|
||||
---
|
||||
apiVersion: policy/v1
|
||||
kind: PodDisruptionBudget
|
||||
@@ -53,7 +52,7 @@ spec:
|
||||
shareProcessNamespace: true
|
||||
containers:
|
||||
- name: nginx
|
||||
image: "ghcr.io/aenix-io/cozystack/nginx-cache:latest@{{ index $imageNginx "containerimage.digest" }}"
|
||||
image: "{{ $.Files.Get "images/nginx-cache.tag" | trim }}@{{ index ($.Files.Get "images/nginx-cache.json" | fromJson) "containerimage.digest" }}"
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
@@ -82,7 +81,7 @@ spec:
|
||||
- mountPath: /run
|
||||
name: run
|
||||
- name: reloader
|
||||
image: "ghcr.io/aenix-io/cozystack/nginx-cache:latest@{{ index $imageNginx "containerimage.digest" }}"
|
||||
image: "{{ $.Files.Get "images/nginx-cache.tag" | trim }}@{{ index ($.Files.Get "images/nginx-cache.json" | fromJson) "containerimage.digest" }}"
|
||||
command: ["/usr/bin/nginx-reloader.sh"]
|
||||
#command: ["sleep", "infinity"]
|
||||
volumeMounts:
|
||||
|
||||
18
packages/apps/kubernetes/Makefile
Normal file
18
packages/apps/kubernetes/Makefile
Normal file
@@ -0,0 +1,18 @@
|
||||
PUSH := 1
|
||||
LOAD := 0
|
||||
REGISTRY := ghcr.io/aenix-io/cozystack
|
||||
TAG := v0.0.1
|
||||
UBUNTU_CONTAINER_DISK_TAG = v1.29.1
|
||||
|
||||
image: image-ubuntu-container-disk
|
||||
|
||||
image-ubuntu-container-disk:
|
||||
docker buildx build --platform linux/amd64 --build-arg ARCH=amd64 images/ubuntu-container-disk \
|
||||
--provenance false \
|
||||
--tag $(REGISTRY)/ubuntu-container-disk:$(TAG)-$(UBUNTU_CONTAINER_DISK_TAG) \
|
||||
--cache-from type=registry,ref=$(REGISTRY)/ubuntu-container-disk:$(UBUNTU_CONTAINER_DISK_TAG) \
|
||||
--cache-to type=inline \
|
||||
--metadata-file images/ubuntu-container-disk.json \
|
||||
--push=$(PUSH) \
|
||||
--load=$(LOAD)
|
||||
echo "$(REGISTRY)/ubuntu-container-disk:$(UBUNTU_CONTAINER_DISK_TAG)" > images/ubuntu-container-disk.tag
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"containerimage.config.digest": "sha256:e982cfa2320d3139ed311ae44bcc5ea18db7e4e76d2746e0af04c516288ff0f1",
|
||||
"containerimage.digest": "sha256:34f6aba5b5a2afbb46bbb891ef4ddc0855c2ffe4f9e5a99e8e553286ddd2c070"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
ghcr.io/aenix-io/cozystack/ubuntu-container-disk:v1.29.1
|
||||
@@ -116,7 +116,7 @@ spec:
|
||||
evictionStrategy: External
|
||||
volumes:
|
||||
- containerDisk:
|
||||
image: ghcr.io/kvaps/test:ubuntu-2204-container-disk-v1.29.1-2
|
||||
image: "{{ $.Files.Get "images/ubuntu-container-disk.tag" | trim }}@{{ index ($.Files.Get "images/ubuntu-container-disk.json" | fromJson) "containerimage.digest" }}"
|
||||
name: containervolume
|
||||
---
|
||||
apiVersion: cluster.x-k8s.io/v1beta1
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
NAMESPACE=cozy-installer
|
||||
NAME=installer
|
||||
PUSH=1
|
||||
LOAD=0
|
||||
PUSH := 1
|
||||
LOAD := 0
|
||||
REGISTRY := ghcr.io/aenix-io/cozystack
|
||||
TAG := v0.0.1
|
||||
|
||||
show:
|
||||
helm template -n $(NAMESPACE) $(NAME) .
|
||||
@@ -15,10 +17,10 @@ diff:
|
||||
image:
|
||||
docker buildx build -f images/installer/Dockerfile ../../.. \
|
||||
--provenance false \
|
||||
--tag ghcr.io/aenix-io/cozystack/installer:latest \
|
||||
--cache-from type=registry,ref=ghcr.io/aenix-io/cozystack/installer:latest \
|
||||
--tag $(REGISTRY)/installer:$(TAG) \
|
||||
--cache-from type=registry,ref=$(REGISTRY)/installer:$(TAG) \
|
||||
--cache-to type=inline \
|
||||
--metadata-file images/installer.json \
|
||||
--push=$(PUSH) \
|
||||
--load=$(LOAD)
|
||||
|
||||
echo "$(REGISTRY)/installer:$(TAG)" > images/installer.tag
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"containerimage.config.digest": "sha256:8fb299f31e9655056fb1326400f39d9f84f848daf14a270c60e871b8da617de8",
|
||||
"containerimage.config.digest": "sha256:2cef76bb260c9a5fb0c7685e76e4bd311ab1decbe5611078beb5b292ec4ac38b",
|
||||
"containerimage.descriptor": {
|
||||
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
|
||||
"digest": "sha256:4939b5347be6a7b4209c8f14fffe87840c076588938d64248c99cedd6bb6dd3f",
|
||||
"digest": "sha256:d9458837b3ea4fd207c3e36cd0f2c296ab05f1bdad53747fb71b3f6e0635581f",
|
||||
"size": 2074,
|
||||
"platform": {
|
||||
"architecture": "amd64",
|
||||
"os": "linux"
|
||||
}
|
||||
},
|
||||
"containerimage.digest": "sha256:4939b5347be6a7b4209c8f14fffe87840c076588938d64248c99cedd6bb6dd3f",
|
||||
"image.name": "ghcr.io/aenix-io/cozystack/installer:latest"
|
||||
"containerimage.digest": "sha256:d9458837b3ea4fd207c3e36cd0f2c296ab05f1bdad53747fb71b3f6e0635581f",
|
||||
"image.name": "ghcr.io/aenix-io/cozystack/installer:v0.0.1"
|
||||
}
|
||||
1
packages/core/installer/images/installer.tag
Normal file
1
packages/core/installer/images/installer.tag
Normal file
@@ -0,0 +1 @@
|
||||
ghcr.io/aenix-io/cozystack/installer:v0.0.1
|
||||
@@ -1,4 +1,3 @@
|
||||
{{ $image := .Files.Get "images/installer.json" | fromJson }}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
@@ -53,14 +52,14 @@ spec:
|
||||
serviceAccountName: cozystack
|
||||
containers:
|
||||
- name: cozystack
|
||||
image: "{{ index $image "image.name" }}@{{ index $image "containerimage.digest" }}"
|
||||
image: "{{ .Files.Get "images/installer.tag" | trim }}@{{ index (.Files.Get "images/installer.json" | fromJson) "containerimage.digest" }}"
|
||||
env:
|
||||
- name: KUBERNETES_SERVICE_HOST
|
||||
value: localhost
|
||||
- name: KUBERNETES_SERVICE_PORT
|
||||
value: "7445"
|
||||
- name: darkhttpd
|
||||
image: "{{ index $image "image.name" }}@{{ index $image "containerimage.digest" }}"
|
||||
image: "{{ .Files.Get "images/installer.tag" | trim }}@{{ index (.Files.Get "images/installer.json" | fromJson) "containerimage.digest" }}"
|
||||
command:
|
||||
- /usr/bin/darkhttpd
|
||||
- /cozystack/assets
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
include versions.env
|
||||
TALOS_VERSION=$(shell awk '/^version:/ {print $$2}' profiles/installer.yaml)
|
||||
|
||||
gen-versions:
|
||||
hack/gen-versions.sh | tee versions.env
|
||||
gen-profiles:
|
||||
hack/gen-profiles.sh
|
||||
|
||||
assets: kernel initramfs iso
|
||||
|
||||
initramfs kernel installer iso:
|
||||
cat profiles/$@.yaml | docker run --rm -i -v $${PWD}/../../../_out/images:/out -v /dev:/dev --privileged "ghcr.io/siderolabs/imager:$(TALOS_VERSION)" -
|
||||
|
||||
image:
|
||||
docker run --rm \
|
||||
-v $${PWD}/../../../_out/images:/out -v /dev:/dev --privileged "ghcr.io/siderolabs/imager:$(TALOS_VERSION)" \
|
||||
--system-extension-image=ghcr.io/siderolabs/amd-ucode:$(AMD_UCODE_VERSION) \
|
||||
--system-extension-image=ghcr.io/siderolabs/amdgpu-firmware:$(AMDGPU_FIRMWARE_VERSION) \
|
||||
--system-extension-image=ghcr.io/siderolabs/bnx2-bnx2x:$(BNX2_BNX2X_VERSION) \
|
||||
--system-extension-image=ghcr.io/siderolabs/i915-ucode:$(I915_UCODE_VERSION) \
|
||||
--system-extension-image=ghcr.io/siderolabs/intel-ice-firmware:$(INTEL_ICE_FIRMWARE_VERSION) \
|
||||
--system-extension-image=ghcr.io/siderolabs/intel-ucode:$(INTEL_UCODE_VERSION) \
|
||||
--system-extension-image=ghcr.io/siderolabs/qlogic-firmware:$(QLOGIC_FIRMWARE_VERSION) \
|
||||
--system-extension-image=ghcr.io/siderolabs/drbd:$(DRBD_VERSION) \
|
||||
--system-extension-image=ghcr.io/siderolabs/zfs:$(ZFS_VERSION) \
|
||||
installer
|
||||
test -f ../../../_out/images/installer-amd64.tar || make installer
|
||||
docker load -i ../../../_out/images/installer-amd64.tar
|
||||
docker tag ghcr.io/siderolabs/installer:$(TALOS_VERSION) ghcr.io/aenix-io/cozystack/talos:$(TALOS_VERSION)
|
||||
docker push ghcr.io/aenix-io/cozystack/talos:$(TALOS_VERSION)
|
||||
|
||||
63
packages/core/talos/hack/gen-profiles.sh
Executable file
63
packages/core/talos/hack/gen-profiles.sh
Executable file
@@ -0,0 +1,63 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
set -u
|
||||
|
||||
PROFILES="initramfs kernel iso installer"
|
||||
FIRMWARES="amd-ucode amdgpu-firmware bnx2-bnx2x i915-ucode intel-ice-firmware intel-ucode qlogic-firmware"
|
||||
EXTENSIONS="drbd zfs"
|
||||
|
||||
mkdir -p profiles
|
||||
|
||||
printf "fetching talos version: "
|
||||
talos_version=${1:-$(skopeo --override-os linux --override-arch amd64 list-tags docker://ghcr.io/siderolabs/imager | jq -r '.Tags[]' | grep '^v[0-9]\+.[0-9]\+.[0-9]\+$' | sort -V | tail -n 1)}
|
||||
echo "$talos_version"
|
||||
|
||||
export "TALOS_VERSION=$talos_version"
|
||||
|
||||
for firmware in $FIRMWARES; do
|
||||
printf "fetching %s version: " "$firmware"
|
||||
firmware_var=$(echo "$firmware" | tr '[:lower:]' '[:upper:]' | tr - _)_VERSION
|
||||
version=$(skopeo list-tags docker://ghcr.io/siderolabs/$firmware | jq -r '.Tags[]|select(length == 8)|select(startswith("20"))' | sort -V | tail -n 1)
|
||||
echo "$version"
|
||||
export "$firmware_var=$version"
|
||||
done
|
||||
|
||||
for extension in $EXTENSIONS; do
|
||||
printf "fetching %s version: " "$extension"
|
||||
extension_var=$(echo "$extension" | tr '[:lower:]' '[:upper:]' | tr - _)_VERSION
|
||||
version=$(skopeo --override-os linux --override-arch amd64 list-tags docker://ghcr.io/siderolabs/$extension | jq -r '.Tags[]' | grep "\-${talos_version}$" | sort -V | tail -n1)
|
||||
echo "$version"
|
||||
export "$extension_var=$version"
|
||||
done
|
||||
|
||||
for profile in $PROFILES; do
|
||||
echo "writing profile profiles/$profile.yaml"
|
||||
cat > profiles/$profile.yaml <<EOT
|
||||
# this file generated by hack/gen-profiles.sh
|
||||
# do not edit it
|
||||
arch: amd64
|
||||
platform: metal
|
||||
secureboot: false
|
||||
version: ${TALOS_VERSION}
|
||||
input:
|
||||
kernel:
|
||||
path: /usr/install/amd64/vmlinuz
|
||||
initramfs:
|
||||
path: /usr/install/amd64/initramfs.xz
|
||||
baseInstaller:
|
||||
imageRef: ghcr.io/siderolabs/installer:${TALOS_VERSION}
|
||||
systemExtensions:
|
||||
- imageRef: ghcr.io/siderolabs/amd-ucode:${AMD_UCODE_VERSION}
|
||||
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:${AMDGPU_FIRMWARE_VERSION}
|
||||
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:${BNX2_BNX2X_VERSION}
|
||||
- imageRef: ghcr.io/siderolabs/i915-ucode:${I915_UCODE_VERSION}
|
||||
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:${INTEL_ICE_FIRMWARE_VERSION}
|
||||
- imageRef: ghcr.io/siderolabs/intel-ucode:${INTEL_UCODE_VERSION}
|
||||
- imageRef: ghcr.io/siderolabs/qlogic-firmware:${QLOGIC_FIRMWARE_VERSION}
|
||||
- imageRef: ghcr.io/siderolabs/drbd:${DRBD_VERSION}
|
||||
- imageRef: ghcr.io/siderolabs/zfs:${ZFS_VERSION}
|
||||
output:
|
||||
kind: ${profile}
|
||||
outFormat: raw
|
||||
EOT
|
||||
done
|
||||
26
packages/core/talos/profiles/initramfs.yaml
Normal file
26
packages/core/talos/profiles/initramfs.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
# this file generated by hack/gen-profiles.sh
|
||||
# do not edit it
|
||||
arch: amd64
|
||||
platform: metal
|
||||
secureboot: false
|
||||
version: v1.6.4
|
||||
input:
|
||||
kernel:
|
||||
path: /usr/install/amd64/vmlinuz
|
||||
initramfs:
|
||||
path: /usr/install/amd64/initramfs.xz
|
||||
baseInstaller:
|
||||
imageRef: ghcr.io/siderolabs/installer:v1.6.4
|
||||
systemExtensions:
|
||||
- imageRef: ghcr.io/siderolabs/amd-ucode:20240115
|
||||
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115
|
||||
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115
|
||||
- imageRef: ghcr.io/siderolabs/i915-ucode:20240115
|
||||
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115
|
||||
- imageRef: ghcr.io/siderolabs/intel-ucode:20231114
|
||||
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115
|
||||
- imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4
|
||||
- imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4
|
||||
output:
|
||||
kind: initramfs
|
||||
outFormat: raw
|
||||
26
packages/core/talos/profiles/installer.yaml
Normal file
26
packages/core/talos/profiles/installer.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
# this file generated by hack/gen-profiles.sh
|
||||
# do not edit it
|
||||
arch: amd64
|
||||
platform: metal
|
||||
secureboot: false
|
||||
version: v1.6.4
|
||||
input:
|
||||
kernel:
|
||||
path: /usr/install/amd64/vmlinuz
|
||||
initramfs:
|
||||
path: /usr/install/amd64/initramfs.xz
|
||||
baseInstaller:
|
||||
imageRef: ghcr.io/siderolabs/installer:v1.6.4
|
||||
systemExtensions:
|
||||
- imageRef: ghcr.io/siderolabs/amd-ucode:20240115
|
||||
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115
|
||||
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115
|
||||
- imageRef: ghcr.io/siderolabs/i915-ucode:20240115
|
||||
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115
|
||||
- imageRef: ghcr.io/siderolabs/intel-ucode:20231114
|
||||
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115
|
||||
- imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4
|
||||
- imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4
|
||||
output:
|
||||
kind: installer
|
||||
outFormat: raw
|
||||
26
packages/core/talos/profiles/iso.yaml
Normal file
26
packages/core/talos/profiles/iso.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
# this file generated by hack/gen-profiles.sh
|
||||
# do not edit it
|
||||
arch: amd64
|
||||
platform: metal
|
||||
secureboot: false
|
||||
version: v1.6.4
|
||||
input:
|
||||
kernel:
|
||||
path: /usr/install/amd64/vmlinuz
|
||||
initramfs:
|
||||
path: /usr/install/amd64/initramfs.xz
|
||||
baseInstaller:
|
||||
imageRef: ghcr.io/siderolabs/installer:v1.6.4
|
||||
systemExtensions:
|
||||
- imageRef: ghcr.io/siderolabs/amd-ucode:20240115
|
||||
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115
|
||||
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115
|
||||
- imageRef: ghcr.io/siderolabs/i915-ucode:20240115
|
||||
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115
|
||||
- imageRef: ghcr.io/siderolabs/intel-ucode:20231114
|
||||
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115
|
||||
- imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4
|
||||
- imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4
|
||||
output:
|
||||
kind: iso
|
||||
outFormat: raw
|
||||
26
packages/core/talos/profiles/kernel.yaml
Normal file
26
packages/core/talos/profiles/kernel.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
# this file generated by hack/gen-profiles.sh
|
||||
# do not edit it
|
||||
arch: amd64
|
||||
platform: metal
|
||||
secureboot: false
|
||||
version: v1.6.4
|
||||
input:
|
||||
kernel:
|
||||
path: /usr/install/amd64/vmlinuz
|
||||
initramfs:
|
||||
path: /usr/install/amd64/initramfs.xz
|
||||
baseInstaller:
|
||||
imageRef: ghcr.io/siderolabs/installer:v1.6.4
|
||||
systemExtensions:
|
||||
- imageRef: ghcr.io/siderolabs/amd-ucode:20240115
|
||||
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115
|
||||
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115
|
||||
- imageRef: ghcr.io/siderolabs/i915-ucode:20240115
|
||||
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115
|
||||
- imageRef: ghcr.io/siderolabs/intel-ucode:20231114
|
||||
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115
|
||||
- imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4
|
||||
- imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4
|
||||
output:
|
||||
kind: kernel
|
||||
outFormat: raw
|
||||
@@ -1,10 +0,0 @@
|
||||
TALOS_VERSION=v1.6.4
|
||||
AMD_UCODE_VERSION=20240115
|
||||
AMDGPU_FIRMWARE_VERSION=20240115
|
||||
BNX2_BNX2X_VERSION=20240115
|
||||
I915_UCODE_VERSION=20240115
|
||||
INTEL_ICE_FIRMWARE_VERSION=20240115
|
||||
INTEL_UCODE_VERSION=20231114
|
||||
QLOGIC_FIRMWARE_VERSION=20240115
|
||||
DRBD_VERSION=9.2.6-v1.6.4
|
||||
ZFS_VERSION=2.1.14-v1.6.4
|
||||
@@ -1,3 +1,3 @@
|
||||
images
|
||||
hack
|
||||
.gitkeep
|
||||
images/*/*
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
NAME=dashboard
|
||||
NAMESPACE=cozy-dashboard
|
||||
PUSH=1
|
||||
LOAD=0
|
||||
PUSH := 1
|
||||
LOAD := 0
|
||||
REPOSITORY := ghcr.io/aenix-io/cozystack
|
||||
TAG := v0.0.1
|
||||
|
||||
show:
|
||||
helm template --dry-run=server -n $(NAMESPACE) $(NAME) .
|
||||
@@ -21,8 +23,7 @@ update-chart:
|
||||
helm repo update bitnami
|
||||
helm pull bitnami/kubeapps --untar --untardir charts
|
||||
rm -rf charts/kubeapps/charts/postgresql/
|
||||
sed -i 's|{{ include "kubeapps.dashboard.image" . }}|ghcr.io/aenix-io/cozystack/dashboard:latest|g' charts/kubeapps/templates/dashboard/deployment.yaml
|
||||
sed -i 's|{{ include "kubeapps.kubeappsapis.image" . }}|ghcr.io/aenix-io/cozystack/kubeapps-apis:latest|g' charts/kubeapps/templates/kubeappsapis/deployment.yaml
|
||||
ln -s ../../images charts/kubeapps/images
|
||||
|
||||
update-dockerfiles:
|
||||
tag=$$(git ls-remote --tags --sort="v:refname" https://github.com/vmware-tanzu/kubeapps | awk -F'[/^]' 'END{print $$3}') && \
|
||||
@@ -33,23 +34,24 @@ update-dockerfiles:
|
||||
version=$$(echo "$$tag" | sed 's/^v//') && \
|
||||
sed -i "s/ARG VERSION=.*/ARG VERSION=$${version}/" images/dashboard/Dockerfile
|
||||
|
||||
|
||||
image-dashboard:
|
||||
docker buildx build images/dashboard \
|
||||
--provenance false \
|
||||
--tag ghcr.io/aenix-io/cozystack/dashboard:latest \
|
||||
--cache-from type=registry,ref=ghcr.io/aenix-io/cozystack/dashboard:latest \
|
||||
--tag $(REPOSITORY)/dashboard:$(TAG) \
|
||||
--cache-from type=registry,ref=$(REPOSITORY)/dashboard:$(TAG) \
|
||||
--cache-to type=inline \
|
||||
--metadata-file images/dashboard.json \
|
||||
--push=$(PUSH) \
|
||||
--load=$(LOAD)
|
||||
echo "$(REPOSITORY)/dashboard:$(TAG)" > images/dashboard.tag
|
||||
|
||||
image-kubeapps-apis:
|
||||
docker buildx build images/kubeapps-apis \
|
||||
--provenance false \
|
||||
--tag ghcr.io/aenix-io/cozystack/kubeapps-apis:latest \
|
||||
--cache-from type=registry,ref=ghcr.io/aenix-io/cozystack/kubeapps-apis:latest \
|
||||
--tag $(REPOSITORY)/kubeapps-apis:$(TAG) \
|
||||
--cache-from type=registry,ref=$(REPOSITORY)/kubeapps-apis:$(TAG) \
|
||||
--cache-to type=inline \
|
||||
--metadata-file images/kubeapps-apis.json \
|
||||
--push=$(PUSH) \
|
||||
--load=$(LOAD)
|
||||
echo "$(REPOSITORY)/kubeapps-apis:$(TAG)" > images/kubeapps-apis.tag
|
||||
|
||||
1
packages/system/dashboard/charts/kubeapps/images
Symbolic link
1
packages/system/dashboard/charts/kubeapps/images
Symbolic link
@@ -0,0 +1 @@
|
||||
../../images
|
||||
@@ -70,7 +70,7 @@ spec:
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: dashboard
|
||||
image: ghcr.io/aenix-io/cozystack/dashboard:latest@sha256:9cafd6b4e86ddba373018e574d1076aa3b193f2a60c98e1dea98ddbf36b4b055
|
||||
image: {{ include "kubeapps.dashboard.image" . }}
|
||||
imagePullPolicy: {{ .Values.dashboard.image.pullPolicy | quote }}
|
||||
{{- if .Values.dashboard.containerSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.dashboard.containerSecurityContext "enabled" | toYaml | nindent 12 }}
|
||||
|
||||
@@ -71,7 +71,7 @@ spec:
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: kubeappsapis
|
||||
image: ghcr.io/aenix-io/cozystack/kubeapps-apis:latest@sha256:adcd4fda6a1e9384576edf3b539ae629fe8ce0cd764544f35e045666b5f35c93
|
||||
image: {{ include "kubeapps.kubeappsapis.image" . }}
|
||||
imagePullPolicy: {{ .Values.kubeappsapis.image.pullPolicy | quote }}
|
||||
{{- if .Values.kubeappsapis.containerSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.kubeappsapis.containerSecurityContext "enabled" | toYaml | nindent 12 }}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"containerimage.config.digest": "sha256:3306c2b22c5514525c4657ede97e8921c7f160bb42ad713261a7edf2d86f772c",
|
||||
"containerimage.digest": "sha256:9cafd6b4e86ddba373018e574d1076aa3b193f2a60c98e1dea98ddbf36b4b055"
|
||||
"containerimage.config.digest": "sha256:f5a26c90226016af3a23d5fdb8b23d36b0aca97b1b2a8a1de2e37cc9d5dfeb04",
|
||||
"containerimage.digest": "sha256:c71ed8953381d8fba2aebd79d538bfc0a6933910ed626afc850c4dbef4a15182"
|
||||
}
|
||||
1
packages/system/dashboard/images/dashboard.tag
Normal file
1
packages/system/dashboard/images/dashboard.tag
Normal file
@@ -0,0 +1 @@
|
||||
ghcr.io/aenix-io/cozystack/dashboard:v0.0.1
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"containerimage.config.digest": "sha256:3d9f31dfa89204482aff36a87f2a6cb6b2279ac2e894ded905e4c4c57bc00715",
|
||||
"containerimage.digest": "sha256:adcd4fda6a1e9384576edf3b539ae629fe8ce0cd764544f35e045666b5f35c93"
|
||||
"containerimage.config.digest": "sha256:87c3ac99ed10ee9cf29ca01ec3a00da11f336a614ea98c48da04cd7349e13454",
|
||||
"containerimage.digest": "sha256:d286c9be6baba35fc4b5dacd8701999b490a82fef42a1c52d0d65ced8bb07b51"
|
||||
}
|
||||
1
packages/system/dashboard/images/kubeapps-apis.tag
Normal file
1
packages/system/dashboard/images/kubeapps-apis.tag
Normal file
@@ -0,0 +1 @@
|
||||
ghcr.io/aenix-io/cozystack/kubeapps-apis:v0.0.1
|
||||
13
packages/system/dashboard/templates/_helpers.tpl
Normal file
13
packages/system/dashboard/templates/_helpers.tpl
Normal file
@@ -0,0 +1,13 @@
|
||||
{{/*
|
||||
Return the proper dashboard image name
|
||||
*/}}
|
||||
{{- define "kubeapps.dashboard.image" -}}
|
||||
{{ .Files.Get "images/dashboard.tag" | trim }}@{{ index (.Files.Get "images/dashboard.json" | fromJson) "containerimage.digest" }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper kubeappsapis image name
|
||||
*/}}
|
||||
{{- define "kubeapps.kubeappsapis.image" -}}
|
||||
{{ .Files.Get "images/kubeapps-apis.tag" | trim }}@{{ index (.Files.Get "images/kubeapps-apis.json" | fromJson) "containerimage.digest" }}
|
||||
{{- end -}}
|
||||
Reference in New Issue
Block a user