From cdb60f0cb1f2bdbdcd7f46871b81e63a162608e0 Mon Sep 17 00:00:00 2001 From: Andrei Kvapil Date: Wed, 7 Aug 2024 12:35:24 +0200 Subject: [PATCH] Remove build artifacts from repository (#266) Let's use approach suggested by @nbykov0 in https://github.com/aenix-io/cozystack/pull/175 We will only update values.yaml and do not store build json artifact The reset charts include this change in - https://github.com/aenix-io/cozystack/pull/262 - https://github.com/aenix-io/cozystack/pull/263 - https://github.com/aenix-io/cozystack/pull/264 - https://github.com/aenix-io/cozystack/pull/265 Signed-off-by: Andrei Kvapil --- packages/apps/http-cache/Makefile | 4 +- .../apps/http-cache/images/nginx-cache.json | 48 ------------------- .../apps/http-cache/images/nginx-cache.tag | 2 +- packages/apps/http-cache/images/nginx.json | 4 -- .../templates/nginx/deployment.yaml | 4 +- packages/apps/kubernetes/Makefile | 4 +- .../images/ubuntu-container-disk.json | 48 ------------------- .../images/ubuntu-container-disk.tag | 2 +- .../apps/kubernetes/templates/cluster.yaml | 2 +- packages/core/installer/Makefile | 5 +- packages/core/installer/images/cozystack.json | 10 ---- packages/core/installer/images/cozystack.tag | 1 - packages/core/installer/images/matchbox.json | 45 ----------------- packages/core/installer/images/matchbox.tag | 1 - .../core/installer/templates/cozystack.yaml | 4 +- packages/core/installer/values.yaml | 2 + 16 files changed, 18 insertions(+), 168 deletions(-) delete mode 100644 packages/apps/http-cache/images/nginx-cache.json delete mode 100644 packages/apps/http-cache/images/nginx.json delete mode 100644 packages/apps/kubernetes/images/ubuntu-container-disk.json delete mode 100644 packages/core/installer/images/cozystack.json delete mode 100644 packages/core/installer/images/cozystack.tag delete mode 100644 packages/core/installer/images/matchbox.json delete mode 100644 packages/core/installer/images/matchbox.tag create mode 100644 packages/core/installer/values.yaml diff --git a/packages/apps/http-cache/Makefile b/packages/apps/http-cache/Makefile index 2738f769..162c3ff3 100644 --- a/packages/apps/http-cache/Makefile +++ b/packages/apps/http-cache/Makefile @@ -14,7 +14,9 @@ image-nginx: --metadata-file images/nginx-cache.json \ --push=$(PUSH) \ --load=$(LOAD) - echo "$(REGISTRY)/nginx-cache:$(call settag,$(NGINX_CACHE_TAG))" > images/nginx-cache.tag + echo "$(REGISTRY)/nginx-cache:$(call settag,$(NGINX_CACHE_TAG))@$$(yq e '."containerimage.digest"' images/nginx-cache.json -o json -r)" \ + > images/nginx-cache.tag + rm -f images/nginx-cache.json generate: readme-generator -v values.yaml -s values.schema.json -r README.md diff --git a/packages/apps/http-cache/images/nginx-cache.json b/packages/apps/http-cache/images/nginx-cache.json deleted file mode 100644 index 11b058c6..00000000 --- a/packages/apps/http-cache/images/nginx-cache.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "buildx.build.provenance": { - "buildType": "https://mobyproject.org/buildkit@v1", - "materials": [ - { - "uri": "pkg:docker/ubuntu@22.04?platform=linux%2Famd64", - "digest": { - "sha256": "340d9b015b194dc6e2a13938944e0d016e57b9679963fdeb9ce021daac430221" - } - } - ], - "invocation": { - "configSource": { - "entryPoint": "Dockerfile" - }, - "parameters": { - "frontend": "dockerfile.v0", - "args": { - "build-arg:ARCH": "amd64" - }, - "locals": [ - { - "name": "context" - }, - { - "name": "dockerfile" - } - ] - }, - "environment": { - "platform": "linux/amd64" - } - } - }, - "buildx.build.ref": "cozystack/cozystack0/7j4plhjjn8onm0o8q0omik63x", - "containerimage.config.digest": "sha256:f30f57d817c596f7a7d0ecfe734b7b41994eca9d36d43307206314ee37bdb286", - "containerimage.descriptor": { - "mediaType": "application/vnd.docker.distribution.manifest.v2+json", - "digest": "sha256:f7d86b1a72a12b60434a12a604e9ddd3779d9fa605205c7968fe9495e764c94c", - "size": 1094, - "platform": { - "architecture": "amd64", - "os": "linux" - } - }, - "containerimage.digest": "sha256:f7d86b1a72a12b60434a12a604e9ddd3779d9fa605205c7968fe9495e764c94c", - "image.name": "ghcr.io/aenix-io/cozystack/nginx-cache:v0.1.0,ghcr.io/aenix-io/cozystack/nginx-cache:v0.1.0-v0.10.1" -} \ No newline at end of file diff --git a/packages/apps/http-cache/images/nginx-cache.tag b/packages/apps/http-cache/images/nginx-cache.tag index 86b6633b..511fb6ef 100644 --- a/packages/apps/http-cache/images/nginx-cache.tag +++ b/packages/apps/http-cache/images/nginx-cache.tag @@ -1 +1 @@ -ghcr.io/aenix-io/cozystack/nginx-cache:v0.1.0 +ghcr.io/aenix-io/cozystack/nginx-cache:v0.1.0@sha256:f77d5b63f1ed9dfda4725696d9170130939219a2465260b6ba941947460de2da diff --git a/packages/apps/http-cache/images/nginx.json b/packages/apps/http-cache/images/nginx.json deleted file mode 100644 index 46348f67..00000000 --- a/packages/apps/http-cache/images/nginx.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "containerimage.config.digest": "sha256:b1916dbacb372ed89ea3f920f08ee68730be2edc016f2caa373a7bbfbad25845", - "containerimage.digest": "sha256:f77d5b63f1ed9dfda4725696d9170130939219a2465260b6ba941947460de2da" -} \ No newline at end of file diff --git a/packages/apps/http-cache/templates/nginx/deployment.yaml b/packages/apps/http-cache/templates/nginx/deployment.yaml index 0ac6e83e..e12b7059 100644 --- a/packages/apps/http-cache/templates/nginx/deployment.yaml +++ b/packages/apps/http-cache/templates/nginx/deployment.yaml @@ -52,7 +52,7 @@ spec: shareProcessNamespace: true containers: - name: nginx - image: "{{ $.Files.Get "images/nginx-cache.tag" | trim }}@{{ index ($.Files.Get "images/nginx-cache.json" | fromJson) "containerimage.digest" }}" + image: "{{ $.Files.Get "images/nginx-cache.tag" | trim }}" readinessProbe: httpGet: path: /healthz @@ -81,7 +81,7 @@ spec: - mountPath: /run name: run - name: reloader - image: "{{ $.Files.Get "images/nginx-cache.tag" | trim }}@{{ index ($.Files.Get "images/nginx-cache.json" | fromJson) "containerimage.digest" }}" + image: "{{ $.Files.Get "images/nginx-cache.tag" | trim }}" command: ["/usr/bin/nginx-reloader.sh"] #command: ["sleep", "infinity"] volumeMounts: diff --git a/packages/apps/kubernetes/Makefile b/packages/apps/kubernetes/Makefile index 69f5486e..f48ba499 100644 --- a/packages/apps/kubernetes/Makefile +++ b/packages/apps/kubernetes/Makefile @@ -17,4 +17,6 @@ image-ubuntu-container-disk: --metadata-file images/ubuntu-container-disk.json \ --push=$(PUSH) \ --load=$(LOAD) - echo "$(REGISTRY)/ubuntu-container-disk:$(call settag,$(UBUNTU_CONTAINER_DISK_TAG))" > images/ubuntu-container-disk.tag + echo "$(REGISTRY)/ubuntu-container-disk:$(call settag,$(UBUNTU_CONTAINER_DISK_TAG))@$$(yq e '."containerimage.digest"' images/ubuntu-container-disk.json -o json -r)" \ + > images/ubuntu-container-disk.tag + rm -f images/ubuntu-container-disk.json diff --git a/packages/apps/kubernetes/images/ubuntu-container-disk.json b/packages/apps/kubernetes/images/ubuntu-container-disk.json deleted file mode 100644 index 65729082..00000000 --- a/packages/apps/kubernetes/images/ubuntu-container-disk.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "buildx.build.provenance": { - "buildType": "https://mobyproject.org/buildkit@v1", - "materials": [ - { - "uri": "pkg:docker/ubuntu@22.04?platform=linux%2Famd64", - "digest": { - "sha256": "340d9b015b194dc6e2a13938944e0d016e57b9679963fdeb9ce021daac430221" - } - } - ], - "invocation": { - "configSource": { - "entryPoint": "Dockerfile" - }, - "parameters": { - "frontend": "dockerfile.v0", - "args": { - "build-arg:ARCH": "amd64" - }, - "locals": [ - { - "name": "context" - }, - { - "name": "dockerfile" - } - ] - }, - "environment": { - "platform": "linux/amd64" - } - } - }, - "buildx.build.ref": "cozystack/cozystack0/xkanpm0dojuj7v0lo951qocfb", - "containerimage.config.digest": "sha256:c144c5f12a47af7880ee5f056b14177c07b585b8ab1e68b7e7900e1c923083cf", - "containerimage.descriptor": { - "mediaType": "application/vnd.docker.distribution.manifest.v2+json", - "digest": "sha256:81caf89efe252ae2ca1990d08a3a314552d70ff36bcd4022b173c7150fbec805", - "size": 506, - "platform": { - "architecture": "amd64", - "os": "linux" - } - }, - "containerimage.digest": "sha256:81caf89efe252ae2ca1990d08a3a314552d70ff36bcd4022b173c7150fbec805", - "image.name": "ghcr.io/aenix-io/cozystack/ubuntu-container-disk:v1.30.1,ghcr.io/aenix-io/cozystack/ubuntu-container-disk:v1.30.1-v0.10.1" -} \ No newline at end of file diff --git a/packages/apps/kubernetes/images/ubuntu-container-disk.tag b/packages/apps/kubernetes/images/ubuntu-container-disk.tag index 5ea3ff97..934010b9 100644 --- a/packages/apps/kubernetes/images/ubuntu-container-disk.tag +++ b/packages/apps/kubernetes/images/ubuntu-container-disk.tag @@ -1 +1 @@ -ghcr.io/aenix-io/cozystack/ubuntu-container-disk:v1.30.1 +ghcr.io/aenix-io/cozystack/ubuntu-container-disk:v1.30.1@sha256:81caf89efe252ae2ca1990d08a3a314552d70ff36bcd4022b173c7150fbec805 diff --git a/packages/apps/kubernetes/templates/cluster.yaml b/packages/apps/kubernetes/templates/cluster.yaml index ed610fa9..8932501e 100644 --- a/packages/apps/kubernetes/templates/cluster.yaml +++ b/packages/apps/kubernetes/templates/cluster.yaml @@ -45,7 +45,7 @@ spec: volumes: - name: system containerDisk: - image: "{{ $.Files.Get "images/ubuntu-container-disk.tag" | trim }}@{{ index ($.Files.Get "images/ubuntu-container-disk.json" | fromJson) "containerimage.digest" }}" + image: "{{ $.Files.Get "images/ubuntu-container-disk.tag" | trim }}" - name: ephemeral emptyDisk: capacity: {{ .group.ephemeralStorage | default "20Gi" }} diff --git a/packages/core/installer/Makefile b/packages/core/installer/Makefile index 090cb4b0..25b2dd79 100644 --- a/packages/core/installer/Makefile +++ b/packages/core/installer/Makefile @@ -30,7 +30,9 @@ image-cozystack: --metadata-file images/cozystack.json \ --push=$(PUSH) \ --load=$(LOAD) - echo "$(REGISTRY)/cozystack:$(call settag,$(TAG))" > images/cozystack.tag + IMAGE="$(REGISTRY)/cozystack:$(call settag,$(TAG))@$$(yq e '."containerimage.digest"' images/cozystack.json -o json -r)" \ + yq -i '.cozystack.image = strenv(IMAGE)' values.yaml + rm -f images/cozystack.json image-talos: test -f ../../../_out/assets/installer-amd64.tar || make talos-installer @@ -50,7 +52,6 @@ image-matchbox: --metadata-file images/matchbox.json \ --push=$(PUSH) \ --load=$(LOAD) - echo "$(REGISTRY)/matchbox:$(call settag,$(TALOS_VERSION))" > images/matchbox.tag assets: talos-iso talos-nocloud diff --git a/packages/core/installer/images/cozystack.json b/packages/core/installer/images/cozystack.json deleted file mode 100644 index 5bd2cc81..00000000 --- a/packages/core/installer/images/cozystack.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "buildx.build.ref": "cozystack/cozystack0/zk58yqp4vkrfgx3gdjumn9k70", - "containerimage.descriptor": { - "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json", - "digest": "sha256:b92988122fa68adc85751384170a46895b5761cc5bf27e80b0b53b12b89b6d6c", - "size": 685 - }, - "containerimage.digest": "sha256:b92988122fa68adc85751384170a46895b5761cc5bf27e80b0b53b12b89b6d6c", - "image.name": "ghcr.io/aenix-io/cozystack/cozystack:latest" -} \ No newline at end of file diff --git a/packages/core/installer/images/cozystack.tag b/packages/core/installer/images/cozystack.tag deleted file mode 100644 index 602d7b26..00000000 --- a/packages/core/installer/images/cozystack.tag +++ /dev/null @@ -1 +0,0 @@ -ghcr.io/aenix-io/cozystack/cozystack:latest diff --git a/packages/core/installer/images/matchbox.json b/packages/core/installer/images/matchbox.json deleted file mode 100644 index c93aacbb..00000000 --- a/packages/core/installer/images/matchbox.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "buildx.build.provenance": { - "buildType": "https://mobyproject.org/buildkit@v1", - "materials": [ - { - "uri": "pkg:docker/quay.io/poseidon/matchbox@v0.10.0?platform=linux%2Famd64", - "digest": { - "sha256": "e14cc4a8f6e8f1182fce74d04fe949b6bfc91b04132b3944297661e2c38c9790" - } - } - ], - "invocation": { - "configSource": { - "entryPoint": "Dockerfile" - }, - "parameters": { - "frontend": "dockerfile.v0", - "locals": [ - { - "name": "context" - }, - { - "name": "dockerfile" - } - ] - }, - "environment": { - "platform": "linux/amd64" - } - } - }, - "buildx.build.ref": "cozystack/cozystack0/qu2ygr61roizh7ga2l4kkmdx6", - "containerimage.config.digest": "sha256:94aa5abc006ac672ccdd91b8d9361fd14de6e0b286299f4e44dd09002becc3b7", - "containerimage.descriptor": { - "mediaType": "application/vnd.docker.distribution.manifest.v2+json", - "digest": "sha256:b1e6084402619dde9dcdc8251cd581cbfc3940c885e938547b7b7306376a411e", - "size": 1488, - "platform": { - "architecture": "amd64", - "os": "linux" - } - }, - "containerimage.digest": "sha256:b1e6084402619dde9dcdc8251cd581cbfc3940c885e938547b7b7306376a411e", - "image.name": "ghcr.io/aenix-io/cozystack/matchbox:v0.10.1,ghcr.io/aenix-io/cozystack/matchbox:v1.7.1-v0.10.1" -} \ No newline at end of file diff --git a/packages/core/installer/images/matchbox.tag b/packages/core/installer/images/matchbox.tag deleted file mode 100644 index dadda235..00000000 --- a/packages/core/installer/images/matchbox.tag +++ /dev/null @@ -1 +0,0 @@ -ghcr.io/aenix-io/cozystack/matchbox:v1.7.1 diff --git a/packages/core/installer/templates/cozystack.yaml b/packages/core/installer/templates/cozystack.yaml index ce4a7d24..e2cef440 100644 --- a/packages/core/installer/templates/cozystack.yaml +++ b/packages/core/installer/templates/cozystack.yaml @@ -49,7 +49,7 @@ spec: serviceAccountName: cozystack containers: - name: cozystack - image: "{{ .Files.Get "images/cozystack.tag" | trim }}@{{ index (.Files.Get "images/cozystack.json" | fromJson) "containerimage.digest" }}" + image: "{{ .Values.cozystack.image }}" env: - name: KUBERNETES_SERVICE_HOST value: localhost @@ -68,7 +68,7 @@ spec: fieldRef: fieldPath: metadata.name - name: darkhttpd - image: "{{ .Files.Get "images/cozystack.tag" | trim }}@{{ index (.Files.Get "images/cozystack.json" | fromJson) "containerimage.digest" }}" + image: "{{ .Values.cozystack.image }}" command: - /usr/bin/darkhttpd - /cozystack/assets diff --git a/packages/core/installer/values.yaml b/packages/core/installer/values.yaml new file mode 100644 index 00000000..0006b8a4 --- /dev/null +++ b/packages/core/installer/values.yaml @@ -0,0 +1,2 @@ +cozystack: + image: ghcr.io/aenix-io/cozystack/cozystack:latest@sha256:b92988122fa68adc85751384170a46895b5761cc5bf27e80b0b53b12b89b6d6c