Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
This commit is contained in:
Andrei Kvapil
2024-02-07 17:07:47 +01:00
parent cdc0e6cd30
commit 9e9144f8dc
35 changed files with 282 additions and 89 deletions

View File

@@ -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

View File

@@ -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]

View File

@@ -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}') && \

View 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"
}

View File

@@ -0,0 +1 @@
ghcr.io/aenix-io/cozystack/nginx:v0.0.1

View File

@@ -1,4 +0,0 @@
{
"containerimage.config.digest": "sha256:b1916dbacb372ed89ea3f920f08ee68730be2edc016f2caa373a7bbfbad25845",
"containerimage.digest": "sha256:f77d5b63f1ed9dfda4725696d9170130939219a2465260b6ba941947460de2da"
}

View File

@@ -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:

View 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

View File

@@ -0,0 +1,4 @@
{
"containerimage.config.digest": "sha256:e982cfa2320d3139ed311ae44bcc5ea18db7e4e76d2746e0af04c516288ff0f1",
"containerimage.digest": "sha256:34f6aba5b5a2afbb46bbb891ef4ddc0855c2ffe4f9e5a99e8e553286ddd2c070"
}

View File

@@ -0,0 +1 @@
ghcr.io/aenix-io/cozystack/ubuntu-container-disk:v1.29.1

View File

@@ -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

View File

@@ -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

View File

@@ -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"
}

View File

@@ -0,0 +1 @@
ghcr.io/aenix-io/cozystack/installer:v0.0.1

View File

@@ -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

View File

@@ -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)

View 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

View 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

View 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

View 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

View 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

View File

@@ -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

View File

@@ -1,3 +1,3 @@
images
hack
.gitkeep
images/*/*

View File

@@ -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

View File

@@ -0,0 +1 @@
../../images

View File

@@ -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 }}

View File

@@ -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 }}

View File

@@ -1,4 +1,4 @@
{
"containerimage.config.digest": "sha256:3306c2b22c5514525c4657ede97e8921c7f160bb42ad713261a7edf2d86f772c",
"containerimage.digest": "sha256:9cafd6b4e86ddba373018e574d1076aa3b193f2a60c98e1dea98ddbf36b4b055"
"containerimage.config.digest": "sha256:f5a26c90226016af3a23d5fdb8b23d36b0aca97b1b2a8a1de2e37cc9d5dfeb04",
"containerimage.digest": "sha256:c71ed8953381d8fba2aebd79d538bfc0a6933910ed626afc850c4dbef4a15182"
}

View File

@@ -0,0 +1 @@
ghcr.io/aenix-io/cozystack/dashboard:v0.0.1

View File

@@ -1,4 +1,4 @@
{
"containerimage.config.digest": "sha256:3d9f31dfa89204482aff36a87f2a6cb6b2279ac2e894ded905e4c4c57bc00715",
"containerimage.digest": "sha256:adcd4fda6a1e9384576edf3b539ae629fe8ce0cd764544f35e045666b5f35c93"
"containerimage.config.digest": "sha256:87c3ac99ed10ee9cf29ca01ec3a00da11f336a614ea98c48da04cd7349e13454",
"containerimage.digest": "sha256:d286c9be6baba35fc4b5dacd8701999b490a82fef42a1c52d0d65ced8bb07b51"
}

View File

@@ -0,0 +1 @@
ghcr.io/aenix-io/cozystack/kubeapps-apis:v0.0.1

View 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 -}}