From a239d5906b6db1763fb36a4c991480bca909f199 Mon Sep 17 00:00:00 2001 From: "v.oleynikov" Date: Mon, 22 Apr 2024 19:21:23 +0300 Subject: [PATCH] Initial branch Signed-off-by: v.oleynikov --- .werf/bundle.yaml | 31 + .werf/images-digests.yaml | 40 + .werf/images.yaml | 17 + .werf/python-deps.yaml | 15 + .werf/release.yaml | 22 + charts/deckhouse_lib_helm-1.11.0.tgz | Bin 23477 -> 0 bytes charts/deckhouse_lib_helm-1.21.0.tgz | Bin 0 -> 24064 bytes crds/crd-csi-snapshot.yaml | 841 ++++++++++++++++++ .../werf.inc.yaml | 27 + images/csi-nfs-controller/werf.inc.yaml | 21 + lib/python/requirements.txt | 4 +- module.yaml | 2 + openapi/config-values.yaml | 7 + openapi/values.yaml | 16 + templates/csi/controller.yaml | 87 ++ templates/csi/csidriver.yaml | 12 + templates/csi/rbac-for-us.yaml | 1 + templates/namespace.yaml | 8 + templates/registry-secret.yaml | 14 + 19 files changed, 1163 insertions(+), 2 deletions(-) create mode 100644 .werf/bundle.yaml create mode 100644 .werf/images-digests.yaml create mode 100644 .werf/images.yaml create mode 100644 .werf/python-deps.yaml create mode 100644 .werf/release.yaml delete mode 100644 charts/deckhouse_lib_helm-1.11.0.tgz create mode 100644 charts/deckhouse_lib_helm-1.21.0.tgz create mode 100644 crds/crd-csi-snapshot.yaml create mode 100644 images/csi-nfs-controller-distroless/werf.inc.yaml create mode 100644 images/csi-nfs-controller/werf.inc.yaml create mode 100644 module.yaml create mode 100644 openapi/config-values.yaml create mode 100644 openapi/values.yaml create mode 100644 templates/csi/controller.yaml create mode 100644 templates/csi/csidriver.yaml create mode 100644 templates/csi/rbac-for-us.yaml create mode 100644 templates/namespace.yaml create mode 100644 templates/registry-secret.yaml diff --git a/.werf/bundle.yaml b/.werf/bundle.yaml new file mode 100644 index 0000000..9ebf87e --- /dev/null +++ b/.werf/bundle.yaml @@ -0,0 +1,31 @@ +# Bundle image, stored in your.registry.io/modules/: +--- +image: bundle +from: registry.deckhouse.io/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc +fromCacheVersion: "2023-11-27.1" +import: +# Rendering .werf/images-digests.yaml is required! +- image: images-digests + add: /images_digests.json + to: /images_digests.json + after: setup +# Rendering .werf/python-deps.yaml is required! +- image: python-dependencies + add: /lib/python/dist + to: /lib/python/dist + after: setup +git: +- add: / + to: / + includePaths: + - .helmignore + - charts + - crds + - docs + - enabled + - hooks + - monitoring + - module.yaml + - openapi + - templates + - Chart.yaml diff --git a/.werf/images-digests.yaml b/.werf/images-digests.yaml new file mode 100644 index 0000000..bd54c2d --- /dev/null +++ b/.werf/images-digests.yaml @@ -0,0 +1,40 @@ +{{- /* Find all images digests and save use them to compose a structure for the module values. */ -}} +{{- $ImagesIDList := list }} +{{- $Images := tpl (.Files.Get ".werf/images.yaml") . }} + + +{{- range $ImageManifest := regexSplit "\n?---[ \t]*\n" $Images -1 }} + {{- $ImageManifest := $ImageManifest | fromYaml }} + {{- if $ImageManifest.image }} + {{- $ImagesIDList = append $ImagesIDList $ImageManifest.image }} + {{- end }} +{{- end }} + +# Images Digest: a files with all image digests to be able to use them in helm templates of a module +--- +image: images-digests +from: registry.deckhouse.io/base_images/alpine:3.16.3 +dependencies: +{{- range $ImageID := $ImagesIDList }} + {{- $ImageNameCamel := $ImageID | splitList "/" | last | camelcase | untitle }} + - image: {{ $ImageID }} + before: setup + imports: + - type: ImageDigest + targetEnv: MODULE_IMAGE_DIGEST_{{ $ImageNameCamel }} +{{- end }} +shell: + beforeInstall: + - apk add --no-cache jq + setup: + - | + env | grep MODULE_IMAGE_DIGEST | jq -Rn ' + reduce inputs as $i ( + {}; + . * ( + $i | ltrimstr("MODULE_IMAGE_DIGEST_") | sub("=";"_") | + split("_") as [$imageName, $digest] | + {($imageName): $digest} + ) + ) + ' > /images_digests.json diff --git a/.werf/images.yaml b/.werf/images.yaml new file mode 100644 index 0000000..47b9385 --- /dev/null +++ b/.werf/images.yaml @@ -0,0 +1,17 @@ +{{- $ImagesBuildFiles := .Files.Glob "images/*/{Dockerfile,werf.inc.yaml}" }} + +{{- range $path, $content := $ImagesBuildFiles }} + {{ $ctx := (dict "ImageName" ($path | split "/")._1) }} +--- + {{- /* For Dockerfile just render it from the folder. */ -}} + {{- if not (regexMatch "/werf.inc.yaml$" $path) }} +image: images/{{ $ctx.ImageName }} +context: images/{{ $ctx.ImageName }} +dockerfile: Dockerfile + + {{- /* For werf.inc.yaml render content by providing the ImageName param. */ -}} + {{- else }} +{{ tpl $content $ctx }} + + {{- end }} +{{- end }} diff --git a/.werf/python-deps.yaml b/.werf/python-deps.yaml new file mode 100644 index 0000000..e0564dd --- /dev/null +++ b/.werf/python-deps.yaml @@ -0,0 +1,15 @@ +# Python deps image, required to download dependencies and put it to the final module image (bundle) +--- +image: python-dependencies +from: registry.deckhouse.io/base_images/alpine:3.16.3 +fromCacheVersion: 2024-02-14 +git: + - add: / + to: / + includePaths: + - lib/python +shell: + beforeInstall: + - apk add --no-cache python3 py3-pip + setup: + - pip3 install -r /lib/python/requirements.txt -t /lib/python/dist diff --git a/.werf/release.yaml b/.werf/release.yaml new file mode 100644 index 0000000..f1e18db --- /dev/null +++ b/.werf/release.yaml @@ -0,0 +1,22 @@ +# Release image, stored in your.registry.io/modules//release: +--- +artifact: release-channel-version-artifact +from: registry.deckhouse.io/base_images/alpine:3.16.3 +shell: + beforeInstall: + - apk add --no-cache curl + - curl -sfL https://github.com/mikefarah/yq/releases/download/2.4.1/yq_linux_amd64 --output /usr/local/bin/yq + - chmod +x /usr/local/bin/yq + install: + - | + yq n version "{{ env "CI_COMMIT_REF_NAME" }}" | yq r - -j > version.json +--- +image: release-channel-version +from: registry.deckhouse.io/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc +import: + - artifact: release-channel-version-artifact + add: / + to: / + after: install + includePaths: + - version.json diff --git a/charts/deckhouse_lib_helm-1.11.0.tgz b/charts/deckhouse_lib_helm-1.11.0.tgz deleted file mode 100644 index 8780cd79b74b1eb1e7d771a9380aa6bebc47af8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23477 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 diff --git a/charts/deckhouse_lib_helm-1.21.0.tgz b/charts/deckhouse_lib_helm-1.21.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d00bd9f9445d4794ba4eae22cdf655de876d8626 GIT binary patch literal 24064 zcmV)gK%~DPiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMZ{b{jX6IJ|%BDKPEK87ZGgU3{C-j&nXmQWE`Q%lafI**Tef z9k3fDF>V4K04D7{Wan5{AE&M@gMtl##LqRck;t2{gDVsIXgl(hg&g`k)Wx9zrQ2N3}uQY z5-BoE6RZe|$(S;#-%B*+0-d`4gJwL=5+a9N4A00Bs&}j{HBZSAO6W*nG2gmzXb*;m z2gCiXPc4am&tJp%ce<8)VI*l7ai#=M5+a5wUCAVLkN>C7pFe+E9{-2?&!0bj82|V2 zd;fl5#xy|zRtiT`B0@nV&qPFIfIfcQiqh-|9qiAxW@N_2{0JRBeMPtQhlItt!Ilps z75s+kfqh3ff=K$$JHn6*r*g`bx+9!~-VjElOa&j2J3%T2(;_fW_Zz_MeTjaMctVcQ z`}c^lD9K`i0zGPB_?CxjIKzyNiBvK`+XBN71;C(&Ll0@m)iBZtjhRVE=FDY+KzM(V1Gvy;{c>&{3t0II&~fMUhl z0HpG!1BR#M1~?6GJ79S-_=$_RM93BixwjsygZ(D?G=QnTYK38C&;X+HrWJz6eFKz+ zx9$AIF@$?KImtWQ8M`Sn*4CyQ%(0j(1Osil!TiXRY(^GBa?Sbxd&M)RdP1~q+rVPV zs@79XJ>EwD=-ALpR9W<=o_D}1zt zkXb2t|K5v+fqMNfnc|2Xq4>`O{oXNQ*5)qqmcV73m=ioAiL42BJEoCB0Z!AP9$p8x zT)a&86Z^{23gLWE|N9VZFDCGnAcQjvYjv^N)eA*4UM9*WQmzpFuoiQwV>EPqg% z5H=I+%zJNYn`Zi(Ak_`h$|TD|tutcV_2#2tkziA7*lD=WRl@|dl{2qxZ|+)_FYbZE zI{hVM+?#{eg_HXk7oK73OL6l8%^Jx)*l&<|)vXwlTey--9-mSvGFX`ZI*TVneddm2 zX9u-8h8ceM1H(6%CVI>qp@S`iBuPl5xG(~oVHHhZ0#YYYoThaKwb*LjqvW2ApZWY{ z)gmfE(u77>8X*Z{T+DY=DlX

5Qr)bhxtk5Ryt@MJCokn*Et85($D8(JtKX1X!@1 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