From a0707f582e148dc1ee367f2960506276b9de5c32 Mon Sep 17 00:00:00 2001 From: "v.oleynikov" Date: Thu, 9 Jan 2025 09:25:44 +0300 Subject: [PATCH 01/43] Bump lib-helm version Signed-off-by: v.oleynikov --- charts/deckhouse_lib_helm-1.1.3.tgz | Bin 22668 -> 0 bytes charts/deckhouse_lib_helm-1.41.0.tgz | Bin 0 -> 25851 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 charts/deckhouse_lib_helm-1.1.3.tgz create mode 100644 charts/deckhouse_lib_helm-1.41.0.tgz diff --git a/charts/deckhouse_lib_helm-1.1.3.tgz b/charts/deckhouse_lib_helm-1.1.3.tgz deleted file mode 100644 index a3b597f99e8f4a5924a2f8dd5e87fe1c22c62527..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22668 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

V&7kj;CO_;@0r_Cp`&;CFsC7t`+ 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 L22_*m07L=+Iku6m diff --git a/charts/deckhouse_lib_helm-1.41.0.tgz b/charts/deckhouse_lib_helm-1.41.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..ed78597f2da7c05795b7399bce6b671edffd1f77 GIT binary patch literal 25851 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%0AmVl zc0&L;7(q#t3Jp33Nng?Umt5(}>usxh+{OmDKqN+tn{cI5nCkXQNlC%cA#my$@?>1c zM7c)H#vCZuixL&AWzcOkZbjBvMbs_c6h>&}Ysi^}Y~n-7emj)W7ri6H6M6ued<#n> z(d0Gga3E7-Q4X~VGKS4%Q0-lzJv8!;sXL{GXam~!f_EW!6He}eokB5@^Vb$C)@`Tr z6<^2t&d>E)+}Hrmci!NVe3ym5?+G3EX)5?&3UB-Bw#V1Nd&luV(eL2K-qnF|tS?uj zkV~b=h=O9iTV(nM86W|e8;xTfx&SDwfaZt=C_1;J0odJXmH{VDtC)Z(8e*Mnzbwe+ z`)RI{q740!Auc(;6BX5kJJr&iD3^C-rORfE-)cRL>)cV@EsVNWCBK|04b-X&Hj;OHoyQzYD83e^=%>=^A?yWA+(U~x}_Uhkvr z=!V+cTEqX<2rbY1du>}R1-P%9^!&#+q&zhXJ1KNFiJ^I$GBm=sOR!`;Icl{}5IBzL zp>A=FDyjT+smDT_IcyhOM%O{mvmliRQA1pqS`PSvK=(kDS~3(XkGcg=PZq2{<)l!* z7w)~PTg(CGaoO|ZMClsFZGtZhvSF%FCy)-_6I zstp~NS4Sme%8Lji?&t=(3yY1)Jc2m9u3soVFU%s{>0G`^wDFK>P)2q&WGG*7no9x{ z>4-@{moGA*=>0XZJ1!>xhzb-xy++K$28Ec2JCUP|v_pz-UV;6=UkAG{*P!y$bpd!c z!Rm>gm~T#IQ+r8Ye_DhXx<)03I!x051OjmpfFRF^YF=S7Ho4SSNDn6lm+6JV#3hP% zrLCSe-i5U~TWqb(RdJM#F**7pCX3L|Yw!UWY09_q8pzb`W}QR8a~fOF26AB((+7Cx zH1<;GOE@-OUzRRJ({9)m)ZX3M*-`(jn#}KHALL@z2jF|v4f$h9n(9?&IhvM;8E9Aw z8PGc7w`Lp7vR4{cOE&dULPshX8&~IEQx9IGL34sNxK>41G8 z#vFI*x zeDooKi99DqI$x151tc+K@j~NvN9ug;8N(Xi3F13lI-S3xHi$ImzW+wW#CJ?|CBa|`h#2iW8RwA9>e$K7$YTUaD^x(vQFaU^(s z(l5b-0=$m7n~FRG`sK-M*^-ikP+-Sd?e2oDQy)L$vebm%8pyt8ihe#K7B|tCp&HAG z4n~?oSrMfQfOnXr?QsBB)L-q;RERH?qtZ6FB5JgE(ZYGD6r~p z&bJVL;Uz;QtaBOxvXRt!Tds4hsO{PpGX^%y!s?e4okY+MgOVC_YW*v{q53Q%WIG;! z!X~Z$8~k|s`gH(;%U>?T^Q())qm$JepeUQCE;Mp66vVO{oM$Gn#=2676fP^^O!WfmM<};~*{jmm|?_a69(4 zm=Q%sz^_g>ep~er7vlqLi{WUO7hfyj~ zusJ+Z&9pBH16BB*C%kU6%P2PY%9-A|_wP6NHq{FcVCC4tkk_$3&_m>lfg^{Yo0got z%2X(Kx%2QjbH6CiR|UGw{Bp~+B)(rtHq)jx($@cF?`n4Awt;ZZ`xFCS+5*<5xdw&- zXWIfkI55y4mmC5`q-!<`wUD&y?AsTd;gHl1wc54ZG=TSHOVn`Ynp7Zy&b?V2xc8X9H%uFFc~i^LAsOqzIEyiCwSo^6MT!Tw z_&xCZH4N5_I)X4-fde*T0k)hUtNKe><+5>c;y{E6Uhq;NvCIpo4DRR&rn(X!LWL0^ zczs6@oreICn?q(W&_^&|ml$|t#CsGO96gI5(WIy?zW|}U0FxR_95$VExCu) zuH{I;j47rTKg{$wZ`2uRk7Jwxly0IJU8LuvYt^jrnmZ|dhLl`8C0+CZAtEkpZLjH2 z?D6y#EV1TdK1xxyTEWKFAs>9z9=2)?vFne-Dmn59lnGT0Br~E(nXa#6Om?BRc1psk z@@KBg2Jhlz>#b7S&@P&i1jcG$@)*_KY6Wj&`ToYmohhnXRz^vx?b@(8%lLQq4C^$L z-atvb%g-fH*o{6(DetK%rN(Lbj;UqsbTQ6CDv2>bavcY7y@9wA1-$`m4lA;n3c z_{B`rjKV@Q^$Gm~45)e+V9lF5T`9r=}_Vc3AXcNd<@0Fdy|E+CDO_f%+ z3%erPb0S7l45BII@SBXk>5qg*@nl9J8V_}_+iY$Z#bHvrn7(C{7_~nQj@eJ6X~*5~ zZ{chH4R$7Q&CQzC#_|>od+SoN4rcQ)?P@e<=NG(Ke(#@T^u+BExHjQ}?iYX5jfyz} z9_(;?xf#w~SE;a4KgJW=v-CLc>sXwNe`#m-#7W0of*h_-$42zMoy+KXOKQh;;l+!~ zpg>Bb>eapXY%h~(|j+Efl>({?!x@mRwsv~be zVqiBdcfh|2y8&c;C|@Y#)5KXBjY= z;dAYW&S3E#locPJe6qzeGGBC%nC2nx4;T{+ Date: Thu, 9 Jan 2025 09:37:03 +0300 Subject: [PATCH 02/43] Add src artifact Signed-off-by: v.oleynikov --- .../sds-health-watcher-controller/werf.inc.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/images/sds-health-watcher-controller/werf.inc.yaml b/images/sds-health-watcher-controller/werf.inc.yaml index bea9b7be..8980df57 100644 --- a/images/sds-health-watcher-controller/werf.inc.yaml +++ b/images/sds-health-watcher-controller/werf.inc.yaml @@ -1,6 +1,22 @@ {{- $_ := set . "BASE_GOLANG" "registry.deckhouse.io/base_images/golang:1.22.8-alpine@sha256:54bb7313917c733191a079ccae2e52bd3b80664e46c7879efa06513d4221d804" }} {{- $_ := set . "BASE_SCRATCH" "registry.deckhouse.io/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc" }} +--- +image: {{ $.ImageName }}-src-artifact +from: {{ $.BASE_ALT }} +final: false +git: + - add: /images/{{ $.ImageName }} + to: / + stageDependencies: + install: + - "**/*" + includePaths: + - patches + +shell: + install: + - echo "src artifact" --- image: {{ $.ImageName }}-golang-artifact from: {{ $.BASE_GOLANG }} From 9124ee43515006cc3250eca458ee434a09492bb7 Mon Sep 17 00:00:00 2001 From: "v.oleynikov" Date: Thu, 9 Jan 2025 09:51:01 +0300 Subject: [PATCH 03/43] Fix Signed-off-by: v.oleynikov --- images/sds-health-watcher-controller/werf.inc.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/images/sds-health-watcher-controller/werf.inc.yaml b/images/sds-health-watcher-controller/werf.inc.yaml index 8980df57..ebad2a76 100644 --- a/images/sds-health-watcher-controller/werf.inc.yaml +++ b/images/sds-health-watcher-controller/werf.inc.yaml @@ -1,5 +1,6 @@ {{- $_ := set . "BASE_GOLANG" "registry.deckhouse.io/base_images/golang:1.22.8-alpine@sha256:54bb7313917c733191a079ccae2e52bd3b80664e46c7879efa06513d4221d804" }} {{- $_ := set . "BASE_SCRATCH" "registry.deckhouse.io/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc" }} +{{- $_ := set . "BASE_ALT" "registry.deckhouse.io/base_images/alt:p11@sha256:e47d84424485d3674240cb2f67d3a1801b37d327e6d1eb8cc8d01be8ed3b34f3" }} --- image: {{ $.ImageName }}-src-artifact from: {{ $.BASE_ALT }} From 28d4a9414e89faebb28f26a6f088ff20082120ab Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 15:56:59 +0300 Subject: [PATCH 04/43] Added: src-artifact and binary_replace.sh. Initial commit --- .werf/consts.yaml | 11 ++ images/agent/werf.inc.yaml | 86 ++++++++---- .../werf.inc.yaml | 62 +++++---- images/sds-utils-installer/werf.inc.yaml | 74 +++++++--- .../additional_tools/binary_replace.sh | 129 ++++++++++++++++++ werf.yaml | 1 + 6 files changed, 295 insertions(+), 68 deletions(-) create mode 100644 .werf/consts.yaml create mode 100644 tools/dev_images/additional_tools/binary_replace.sh diff --git a/.werf/consts.yaml b/.werf/consts.yaml new file mode 100644 index 00000000..b97bc90a --- /dev/null +++ b/.werf/consts.yaml @@ -0,0 +1,11 @@ +# base images +{{- $_ := set $ "BASE_ALT" "registry.deckhouse.io/base_images/alt:p10@sha256:f105773c682498700680d7cd61a702a4315c4235aee3622757591fd510fb8b4a" }} +{{- $_ := set $ "BASE_ALT_P11" "registry.deckhouse.io/base_images/alt:p11@sha256:c396cd7348a48f9236413e2ef5569223c15e554c0a3ca37f9d92fb787d4f1893" }} +{{- $_ := set $ "BASE_GOLANG_1_23" "registry.deckhouse.io/base_images/golang:1.23.1-alpine3.20@sha256:716820a183116e643839611ff9eca9bd1c92d2bf8f7a5eda2f9fd16e8acbaa72" }} +{{- $_ := set $ "BASE_SCRATCH" "registry.deckhouse.io/base_images/scratch@sha256:653ae76965c98c8cd1c8c9ff7725316d2983986f896655b30e0f44d2f8b2dd7e" }} +{{- $_ := set $ "BASE_ALPINE" "registry.deckhouse.io/base_images/alpine:3.20.3@sha256:41628df7c9b935d248f64542634e7a843f9bc7f2252d7f878e77f7b79a947466" }} + +# component versions +{{- $versions := dict }} + +{{- $_ := set $ "VERSIONS" $versions }} diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index 0128eabe..3ac92818 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -1,13 +1,37 @@ -{{- $_ := set . "BASE_GOLANG" "registry.deckhouse.io/base_images/golang:1.22.8-alpine@sha256:54bb7313917c733191a079ccae2e52bd3b80664e46c7879efa06513d4221d804" }} -{{- $_ := set . "BASE_SCRATCH" "registry.deckhouse.ru/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc" }} -{{- $_ := set . "BASE_ALPINE_DEV" "registry.deckhouse.ru/base_images/dev-alpine:3.16.3@sha256:c706fa83cc129079e430480369a3f062b8178cac9ec89266ebab753a574aca8e" }} -{{- $_ := set . "BASE_ALT_DEV" "registry.deckhouse.ru/base_images/dev-alt:p10@sha256:76e6e163fa982f03468166203488b569e6d9fc10855d6a259c662706436cdcad" }} +# {{- $_ := set . "BASE_GOLANG" "registry.deckhouse.io/base_images/golang:1.22.8-alpine@sha256:54bb7313917c733191a079ccae2e52bd3b80664e46c7879efa06513d4221d804" }} +# {{- $_ := set . "BASE_SCRATCH" "registry.deckhouse.ru/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc" }} +# {{- $_ := set . "BASE_ALPINE_DEV" "registry.deckhouse.ru/base_images/dev-alpine:3.16.3@sha256:c706fa83cc129079e430480369a3f062b8178cac9ec89266ebab753a574aca8e" }} +# {{- $_ := set . "BASE_ALT_DEV" "registry.deckhouse.ru/base_images/dev-alt:p10@sha256:76e6e163fa982f03468166203488b569e6d9fc10855d6a259c662706436cdcad" }} {{ $binaries := "/opt/deckhouse/sds/lib/libblkid.so.1 /opt/deckhouse/sds/lib/libmount.so.1 /opt/deckhouse/sds/lib/libsmartcols.so.1 /opt/deckhouse/sds/bin/nsenter.static /opt/deckhouse/sds/lib/x86_64-linux-gnu/libudev.so.1 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libcap.so.2 ld-linux-x86-64.so.2 /opt/deckhouse/sds/bin/lsblk.dynamic" }} {{ $version := "2.39.3" }} + +# Do not remove. It's used in external tests. +--- +image: {{ $.ImageName }}-src-artifact +from: {{ $.Root.BASE_ALT }} +final: false + +git: + - add: /images/{{ $.ImageName }}/src + to: /src/images/{{ $.ImageName }}/src + stageDependencies: + install: + - "**/*" + - add: /api + to: /src/api + stageDependencies: + install: + - "**/*" + +shell: + install: + - echo "src artifact" + + --- image: {{ $.ImageName }}-binaries-artifact -from: {{ $.BASE_ALT_DEV }} +from: {{ $.Root.BASE_ALT }} final: false shell: @@ -28,7 +52,8 @@ shell: libmount-devel-static \ automake \ gettext \ - flex + flex \ + ca-certificates - cd / - git clone {{ env "SOURCE_REPO" }}/util-linux/util-linux.git - cd /util-linux @@ -49,28 +74,39 @@ shell: --- image: {{ $.ImageName }}-golang-artifact -from: {{ $.BASE_GOLANG }} +from: {{ $.Root.BASE_GOLANG_1_23 }} final: false -git: - - add: / - to: / - includePaths: - - api - - images/agent/src - stageDependencies: - setup: - - "**/*" +import: + - image: {{ $.ImageName }}-src-artifact + add: /src + to: /src + before: install + +mount: + - fromPath: ~/go-pkg-cache + to: /go/pkg + +# git: +# - add: / +# to: / +# includePaths: +# - api +# - images/agent/src +# stageDependencies: +# setup: +# - "**/*" shell: setup: - - cd /images/agent/src/cmd - - GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o /sds-node-configurator-agent - - chmod +x /sds-node-configurator-agent + - cd /src/images/{{ $.ImageName }}/src/cmd + - GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o /{{ $.ImageName }} + - chmod +x /{{ $.ImageName }} --- image: {{ $.ImageName }}-distroless-artifact -from: {{ $.BASE_ALPINE_DEV }} +# from: {{ $.BASE_ALPINE_DEV }} +from: {{ $.Root.BASE_ALPINE }} final: false shell: @@ -80,7 +116,7 @@ shell: - cp -pr /etc/passwd /etc/group /etc/hostname /etc/hosts /etc/shadow /etc/protocols /etc/services /etc/nsswitch.conf /relocate/etc - cp -pr /usr/share/ca-certificates /relocate/usr/share - cp -pr /usr/share/zoneinfo /relocate/usr/share - - cp -pr etc/ssl/cert.pem /relocate/etc/ssl + - cp -pr /etc/ssl/cert.pem /relocate/etc/ssl - cp -pr /etc/ssl/certs /relocate/etc/ssl - echo "deckhouse:x:64535:64535:deckhouse:/:/sbin/nologin" >> /relocate/etc/passwd - echo "deckhouse:x:64535:" >> /relocate/etc/group @@ -88,7 +124,7 @@ shell: --- image: {{ $.ImageName }}-distroless -from: {{ $.BASE_SCRATCH }} +from: {{ $.Root.BASE_SCRATCH }} final: false import: @@ -106,9 +142,9 @@ import: to: / before: setup - image: {{ $.ImageName }}-golang-artifact - add: /sds-node-configurator-agent - to: /sds-node-configurator-agent + add: /{{ $.ImageName }} + to: /{{ $.ImageName }} before: setup docker: - ENTRYPOINT: ["/sds-node-configurator-agent"] + ENTRYPOINT: ["/{{ $.ImageName }}"] diff --git a/images/sds-health-watcher-controller/werf.inc.yaml b/images/sds-health-watcher-controller/werf.inc.yaml index ebad2a76..e5a87b2f 100644 --- a/images/sds-health-watcher-controller/werf.inc.yaml +++ b/images/sds-health-watcher-controller/werf.inc.yaml @@ -1,55 +1,67 @@ -{{- $_ := set . "BASE_GOLANG" "registry.deckhouse.io/base_images/golang:1.22.8-alpine@sha256:54bb7313917c733191a079ccae2e52bd3b80664e46c7879efa06513d4221d804" }} -{{- $_ := set . "BASE_SCRATCH" "registry.deckhouse.io/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc" }} -{{- $_ := set . "BASE_ALT" "registry.deckhouse.io/base_images/alt:p11@sha256:e47d84424485d3674240cb2f67d3a1801b37d327e6d1eb8cc8d01be8ed3b34f3" }} +# {{- $_ := set . "BASE_GOLANG" "registry.deckhouse.io/base_images/golang:1.22.8-alpine@sha256:54bb7313917c733191a079ccae2e52bd3b80664e46c7879efa06513d4221d804" }} +# {{- $_ := set . "BASE_SCRATCH" "registry.deckhouse.io/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc" }} +# {{- $_ := set . "BASE_ALT" "registry.deckhouse.io/base_images/alt:p11@sha256:e47d84424485d3674240cb2f67d3a1801b37d327e6d1eb8cc8d01be8ed3b34f3" }} + +# Do not remove. It's used in external tests. --- image: {{ $.ImageName }}-src-artifact -from: {{ $.BASE_ALT }} +from: {{ $.Root.BASE_ALT }} final: false git: - - add: /images/{{ $.ImageName }} - to: / + - add: /images/{{ $.ImageName }}/src + to: /src/images/{{ $.ImageName }}/src + stageDependencies: + install: + - "**/*" + - add: /api + to: /src/api stageDependencies: install: - "**/*" - includePaths: - - patches + # Taken from the original source - but I don't see patches in folder images + # - add: /images/{{ $.ImageName }} + # to: /src + # stageDependencies: + # install: + # - "**/*" + # includePaths: + # - patches shell: install: - echo "src artifact" + --- image: {{ $.ImageName }}-golang-artifact -from: {{ $.BASE_GOLANG }} +from: {{ $.Root.BASE_GOLANG_1_23 }} final: false -git: - - add: / - to: / - includePaths: - - api - - images/sds-health-watcher-controller/src - stageDependencies: - setup: - - "**/*" +import: + - image: {{ $.ImageName }}-src-artifact + add: /src + to: /src + before: install + mount: - fromPath: ~/go-pkg-cache to: /go/pkg + shell: setup: - - cd images/sds-health-watcher-controller/src/cmd - - GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o /sds-health-watcher-controller - - chmod +x /sds-health-watcher-controller + - cd /src/images/{{ $.ImageName }}/src/cmd + - GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o /{{ $.ImageName }} + - chmod +x /{{ $.ImageName }} --- image: {{ $.ImageName }} -from: {{ $.BASE_SCRATCH }} +from: {{ $.Root.BASE_SCRATCH }} import: - image: {{ $.ImageName }}-golang-artifact - add: /sds-health-watcher-controller - to: /sds-health-watcher-controller + add: /{{ $.ImageName }} + to: /{{ $.ImageName }} before: setup docker: - ENTRYPOINT: ["/sds-health-watcher-controller"] + ENTRYPOINT: ["/{{ $.ImageName }}"] diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index fcf6039c..3aa93a66 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -1,15 +1,45 @@ -{{- $_ := set . "BASE_GOLANG" "registry.deckhouse.io/base_images/golang:1.22.8-alpine@sha256:54bb7313917c733191a079ccae2e52bd3b80664e46c7879efa06513d4221d804" }} -{{- $_ := set . "BASE_SCRATCH" "registry.deckhouse.ru/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc" }} -{{- $_ := set . "BASE_ALPINE_DEV" "registry.deckhouse.ru/base_images/dev-alpine:3.16.3@sha256:c706fa83cc129079e430480369a3f062b8178cac9ec89266ebab753a574aca8e" }} -{{- $_ := set . "BASE_ALT_DEV" "registry.deckhouse.ru/base_images/dev-alt:p10@sha256:76e6e163fa982f03468166203488b569e6d9fc10855d6a259c662706436cdcad" }} +# {{- $_ := set . "BASE_GOLANG" "registry.deckhouse.io/base_images/golang:1.22.8-alpine@sha256:54bb7313917c733191a079ccae2e52bd3b80664e46c7879efa06513d4221d804" }} +# {{- $_ := set . "BASE_SCRATCH" "registry.deckhouse.ru/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc" }} +# {{- $_ := set . "BASE_ALPINE_DEV" "registry.deckhouse.ru/base_images/dev-alpine:3.16.3@sha256:c706fa83cc129079e430480369a3f062b8178cac9ec89266ebab753a574aca8e" }} +# {{- $_ := set . "BASE_ALT_DEV" "registry.deckhouse.ru/base_images/dev-alt:p10@sha256:76e6e163fa982f03468166203488b569e6d9fc10855d6a259c662706436cdcad" }} {{ $binaries := "/sds-utils/bin/lvm.static" }} {{ $version := "d786a8f820d54ce87a919e6af5426c333c173b11" }} + +# Do not remove. It's used in external tests. +--- +image: {{ $.ImageName }}-src-artifact +from: {{ $.Root.BASE_ALT }} +final: false + +git: + - add: /images/{{ $.ImageName }}/src + to: /src/images/{{ $.ImageName }}/src + stageDependencies: + install: + - "**/*" + - add: /api + to: /src/api + stageDependencies: + install: + - "**/*" + +shell: + install: + - echo "src artifact" + --- image: {{ $.ImageName }}-binaries-artifact -from: {{ $.BASE_ALT_DEV }} +from: {{ $.Root.BASE_ALT }} final: false +git: + - add: /tools/dev_images/additional_tools/binary_replace.sh + to: /binary_replace.sh + stageDependencies: + install: + - "**/*" + shell: install: - apt-get update @@ -33,29 +63,35 @@ shell: - make - mkdir -p /sds-utils/bin/ - mv /lvm2/tools/lvm.static /sds-utils/bin/lvm.static + - chmod +x /binary_replace.sh - /binary_replace.sh -i "{{ $binaries }}" -o /relocate --- image: {{ $.ImageName }}-golang-artifact -from: {{ $.BASE_GOLANG }} +from: {{ $.Root.BASE_GOLANG_1_23 }} final: false -git: - - add: /images/sds-utils-installer/src +import: + - image: {{ $.ImageName }}-src-artifact + add: /src to: /src - stageDependencies: - setup: - - "**/*" + before: install + +mount: + - fromPath: ~/go-pkg-cache + to: /go/pkg shell: setup: - - cd /src/cmd - - GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o /bin-copier - - chmod +x /bin-copier + - cd /src/images/{{ $.ImageName }}/src/cmd + - GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o /{{ $.ImageName }} + - chmod +x /{{ $.ImageName }} + # - GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o /bin-copier + # - chmod +x /bin-copier --- image: {{ $.ImageName }}-distroless-artifact -from: {{ $.BASE_ALPINE_DEV }} +from: {{ $.Root.BASE_ALPINE }} final: false shell: @@ -91,10 +127,12 @@ import: to: / before: setup - image: {{ $.ImageName }}-golang-artifact - add: /bin-copier - to: /bin-copier + add: /{{ $.ImageName }} + to: /{{ $.ImageName }} + # add: /bin-copier + # to: /bin-copier before: setup docker: - ENTRYPOINT: ["/bin-copier"] + ENTRYPOINT: ["/{{ $.ImageName }}"] CMD: ["/sds-utils", "/opt/deckhouse/sds"] diff --git a/tools/dev_images/additional_tools/binary_replace.sh b/tools/dev_images/additional_tools/binary_replace.sh new file mode 100644 index 00000000..eee7370c --- /dev/null +++ b/tools/dev_images/additional_tools/binary_replace.sh @@ -0,0 +1,129 @@ +#!/bin/bash + +# Copyright 2023 Flant JSC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -Eeuo pipefail +shopt -s failglob + +FILE_TEMPLATE_BINS="" +TEMPLATE_BINS="" +RDIR="" + +tools=("ldd" "readlink" "awk" "dirname" "ls" "cat") +for tool in "${tools[@]}"; do + if ! command -v "$tool" >/dev/null 2>&1; then + echo "$tool is not installed." + exit 1 + fi +done + +function Help() { + # Display Help + echo "Copy binaries and their libraries to a folder" + echo "Only one input parameter allowed (-f or -i) !!!" + echo + echo "Syntax: scriptTemplate [-h|f|i|o]" + echo "options:" + echo "f Files with paths to binaries; Support mask like /sbin/m*" + echo "i Paths to binaries separated by space; Support mask like /sbin/m*; Example: /bin/chmod /bin/mount /sbin/m*" + echo ' List of binaries should be in double quotes, -i "/bin/chmod /bin/mount" ' + echo "o Output directory (Default value: '/relocate')" + echo "h Print this help" + echo + echo +} + +while getopts ":h:i:f:o:" option; do + case $option in + h) # display Help + Help + exit;; + f) + FILE_TEMPLATE_BINS=$OPTARG + ;; + i) + TEMPLATE_BINS=$OPTARG + ;; + o) + RDIR=$OPTARG + ;; + \?) + echo "Error: Invalid option" + exit;; + esac +done + +if [[ -z $RDIR ]];then + RDIR="/relocate" +fi +mkdir -p "${RDIR}" + +function relocate() { + local binary=$1 + relocate_item ${binary} + + for lib in $(ldd ${binary} 2>/dev/null | awk '{if ($2=="=>") print $3; else print $1}'); do + # don't try to relocate linux-vdso.so lib due to this lib is virtual + if [[ "${lib}" =~ "linux-vdso" ]]; then + continue + fi + relocate_item ${lib} + done +} + +function relocate_item() { + local file=$1 + local new_place="${RDIR}$(dirname ${file})" + + mkdir -p ${new_place} + cp -a ${file} ${new_place} + + # if symlink, copy original file too + local orig_file="$(readlink -f ${file})" + if [[ "${file}" != "${orig_file}" ]]; then + cp -a ${orig_file} ${new_place} + fi +} + +function get_binary_path () { + local bin + BINARY_LIST=() + + for bin in "$@"; do + if [[ ! -f $bin ]] || [ "${bin}" == "${RDIR}" ]; then + echo "Not found $bin" + exit 1 + fi + BINARY_LIST+=$(ls -la $bin 2>/dev/null | awk '{print $9}')" " + done + + if [[ -z $BINARY_LIST ]]; then echo "No binaryes for replace"; exit 1; fi; +} + +# if get file with binaryes (-f) +if [[ -n $FILE_TEMPLATE_BINS ]] && [[ -f $FILE_TEMPLATE_BINS ]] && [[ -z $TEMPLATE_BINS ]]; then + BIN_TEMPLATE=$(cat $FILE_TEMPLATE_BINS) + get_binary_path ${BIN_TEMPLATE} +# Or get paths to bin via raw input (-i) +elif [[ -n $TEMPLATE_BINS ]] && [[ -z $FILE_TEMPLATE_BINS ]]; then + get_binary_path ${TEMPLATE_BINS} +else + Help + exit +fi + +for binary in ${BINARY_LIST[@]}; do + relocate ${binary} +done diff --git a/werf.yaml b/werf.yaml index 4fab11c4..24d3b974 100644 --- a/werf.yaml +++ b/werf.yaml @@ -6,4 +6,5 @@ configVersion: 1 {{ tpl (.Files.Get ".werf/python-deps.yaml") $ }} {{ tpl (.Files.Get ".werf/bundle.yaml") $ }} {{ tpl (.Files.Get ".werf/release.yaml") $ }} +{{ tpl (.Files.Get ".werf/const.yaml") $ }} From 65254fe6f19c81f2e832916d0ce766f8afa71887 Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 15:58:59 +0300 Subject: [PATCH 05/43] Fix consts file name --- werf.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/werf.yaml b/werf.yaml index 24d3b974..88d1d0e1 100644 --- a/werf.yaml +++ b/werf.yaml @@ -6,5 +6,5 @@ configVersion: 1 {{ tpl (.Files.Get ".werf/python-deps.yaml") $ }} {{ tpl (.Files.Get ".werf/bundle.yaml") $ }} {{ tpl (.Files.Get ".werf/release.yaml") $ }} -{{ tpl (.Files.Get ".werf/const.yaml") $ }} +{{ tpl (.Files.Get ".werf/consts.yaml") $ }} From b971a21c6f59431173990ad782e4cae1e08f134b Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 16:04:27 +0300 Subject: [PATCH 06/43] Typo fix --- images/sds-utils-installer/werf.inc.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index 3aa93a66..953ccbbf 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -109,7 +109,7 @@ shell: --- image: {{ $.ImageName }}-distroless -from: {{ $.BASE_SCRATCH }} +from: {{ $.Root.BASE_SCRATCH }} final: false import: @@ -120,7 +120,7 @@ import: --- image: {{ $.ImageName }} -fromImage: {{ $.ImageName }}-distroless +from: {{ $.ImageName }}-distroless import: - image: {{ $.ImageName }}-binaries-artifact add: /relocate From 03b38c104c3e1d7a6537cdafebbc2d24de373fd1 Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 16:13:22 +0300 Subject: [PATCH 07/43] Re-ordered: consts --- werf.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/werf.yaml b/werf.yaml index 88d1d0e1..07a34773 100644 --- a/werf.yaml +++ b/werf.yaml @@ -1,10 +1,11 @@ project: sds-node-configurator configVersion: 1 --- +{{ tpl (.Files.Get ".werf/consts.yaml") $ }} {{ tpl (.Files.Get ".werf/images.yaml") $ }} {{ tpl (.Files.Get ".werf/images-digests.yaml") $ }} {{ tpl (.Files.Get ".werf/python-deps.yaml") $ }} {{ tpl (.Files.Get ".werf/bundle.yaml") $ }} {{ tpl (.Files.Get ".werf/release.yaml") $ }} -{{ tpl (.Files.Get ".werf/consts.yaml") $ }} + From 45cdf2036d7b92e70b4c2ff53931dfc186edd33a Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 17:09:37 +0300 Subject: [PATCH 08/43] Fixed: global variables and added: docker user directive --- .werf/images.yaml | 2 +- images/agent/werf.inc.yaml | 1 + images/sds-health-watcher-controller/werf.inc.yaml | 1 + images/sds-utils-installer/werf.inc.yaml | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.werf/images.yaml b/.werf/images.yaml index 0908d90a..6aa9b902 100644 --- a/.werf/images.yaml +++ b/.werf/images.yaml @@ -1,7 +1,7 @@ {{- $ImagesBuildFiles := .Files.Glob "images/*/{Dockerfile,werf.inc.yaml}" }} {{- range $path, $content := $ImagesBuildFiles }} - {{ $ctx := (dict "ImageName" ($path | split "/")._1) }} + {{ $ctx := (dict "ImageName" ($path | split "/")._1 "Root" $ "Versions" $.VERSIONS) }} --- {{- /* For Dockerfile just render it from the folder. */ -}} {{- if not (regexMatch "/werf.inc.yaml$" $path) }} diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index 3ac92818..9fa3323b 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -148,3 +148,4 @@ import: docker: ENTRYPOINT: ["/{{ $.ImageName }}"] + USER: deckhouse:deckhouse diff --git a/images/sds-health-watcher-controller/werf.inc.yaml b/images/sds-health-watcher-controller/werf.inc.yaml index e5a87b2f..24feb734 100644 --- a/images/sds-health-watcher-controller/werf.inc.yaml +++ b/images/sds-health-watcher-controller/werf.inc.yaml @@ -65,3 +65,4 @@ import: docker: ENTRYPOINT: ["/{{ $.ImageName }}"] + USER: deckhouse:deckhouse diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index 953ccbbf..73ff6dab 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -136,3 +136,4 @@ import: docker: ENTRYPOINT: ["/{{ $.ImageName }}"] CMD: ["/sds-utils", "/opt/deckhouse/sds"] + USER: deckhouse:deckhouse From f1ebcbf6b2f187a0f81c6dd0efd936341f7e42d0 Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 17:14:47 +0300 Subject: [PATCH 09/43] Fixed: ca-certificates and tzdata-zoneinfo --- images/agent/werf.inc.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index 9fa3323b..e262893d 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -52,8 +52,7 @@ shell: libmount-devel-static \ automake \ gettext \ - flex \ - ca-certificates + flex - cd / - git clone {{ env "SOURCE_REPO" }}/util-linux/util-linux.git - cd /util-linux @@ -111,6 +110,8 @@ final: false shell: install: + - apt-get update + - apt-get install ca-certificates tzdata -y - mkdir -p /relocate/bin /relocate/sbin /relocate/etc /relocate/etc/ssl /relocate/usr/bin /relocate/usr/sbin /relocate/usr/share - cp -pr /tmp /relocate - cp -pr /etc/passwd /etc/group /etc/hostname /etc/hosts /etc/shadow /etc/protocols /etc/services /etc/nsswitch.conf /relocate/etc From 35a1a252b7e7185efb10a108e1976209b0cf7587 Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 17:18:15 +0300 Subject: [PATCH 10/43] apt -> apk fix --- images/agent/werf.inc.yaml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index e262893d..f82e6b94 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -86,16 +86,6 @@ mount: - fromPath: ~/go-pkg-cache to: /go/pkg -# git: -# - add: / -# to: / -# includePaths: -# - api -# - images/agent/src -# stageDependencies: -# setup: -# - "**/*" - shell: setup: - cd /src/images/{{ $.ImageName }}/src/cmd @@ -110,8 +100,8 @@ final: false shell: install: - - apt-get update - - apt-get install ca-certificates tzdata -y + - apk update + - apk install ca-certificates tzdata -y - mkdir -p /relocate/bin /relocate/sbin /relocate/etc /relocate/etc/ssl /relocate/usr/bin /relocate/usr/sbin /relocate/usr/share - cp -pr /tmp /relocate - cp -pr /etc/passwd /etc/group /etc/hostname /etc/hosts /etc/shadow /etc/protocols /etc/services /etc/nsswitch.conf /relocate/etc From b8ab13e0a56a3bbaa936be0489070db3dd71b78e Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 17:23:01 +0300 Subject: [PATCH 11/43] Fix sds-utils-installer --- images/sds-utils-installer/werf.inc.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index 73ff6dab..f2cbda11 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -96,12 +96,14 @@ final: false shell: install: + - apk update + - apk install ca-certificates tzdata -y - mkdir -p /relocate/bin /relocate/sbin /relocate/etc /relocate/etc/ssl /relocate/usr/bin /relocate/usr/sbin /relocate/usr/share - cp -pr /tmp /relocate - cp -pr /etc/passwd /etc/group /etc/hostname /etc/hosts /etc/shadow /etc/protocols /etc/services /etc/nsswitch.conf /relocate/etc - cp -pr /usr/share/ca-certificates /relocate/usr/share - cp -pr /usr/share/zoneinfo /relocate/usr/share - - cp -pr etc/ssl/cert.pem /relocate/etc/ssl + - cp -pr /etc/ssl/cert.pem /relocate/etc/ssl - cp -pr /etc/ssl/certs /relocate/etc/ssl - echo "deckhouse:x:64535:64535:deckhouse:/:/sbin/nologin" >> /relocate/etc/passwd - echo "deckhouse:x:64535:" >> /relocate/etc/group From f89745813cac515a7e4afc24a6a4bc3c3e0a9add Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 17:32:16 +0300 Subject: [PATCH 12/43] Distroless-artifact - Alpine -> ALT --- images/agent/werf.inc.yaml | 12 +++--------- images/sds-health-watcher-controller/werf.inc.yaml | 4 ---- images/sds-utils-installer/werf.inc.yaml | 11 +++-------- 3 files changed, 6 insertions(+), 21 deletions(-) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index f82e6b94..7309eca8 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -1,8 +1,3 @@ -# {{- $_ := set . "BASE_GOLANG" "registry.deckhouse.io/base_images/golang:1.22.8-alpine@sha256:54bb7313917c733191a079ccae2e52bd3b80664e46c7879efa06513d4221d804" }} -# {{- $_ := set . "BASE_SCRATCH" "registry.deckhouse.ru/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc" }} -# {{- $_ := set . "BASE_ALPINE_DEV" "registry.deckhouse.ru/base_images/dev-alpine:3.16.3@sha256:c706fa83cc129079e430480369a3f062b8178cac9ec89266ebab753a574aca8e" }} -# {{- $_ := set . "BASE_ALT_DEV" "registry.deckhouse.ru/base_images/dev-alt:p10@sha256:76e6e163fa982f03468166203488b569e6d9fc10855d6a259c662706436cdcad" }} - {{ $binaries := "/opt/deckhouse/sds/lib/libblkid.so.1 /opt/deckhouse/sds/lib/libmount.so.1 /opt/deckhouse/sds/lib/libsmartcols.so.1 /opt/deckhouse/sds/bin/nsenter.static /opt/deckhouse/sds/lib/x86_64-linux-gnu/libudev.so.1 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libcap.so.2 ld-linux-x86-64.so.2 /opt/deckhouse/sds/bin/lsblk.dynamic" }} {{ $version := "2.39.3" }} @@ -94,14 +89,13 @@ shell: --- image: {{ $.ImageName }}-distroless-artifact -# from: {{ $.BASE_ALPINE_DEV }} -from: {{ $.Root.BASE_ALPINE }} +from: {{ $.Root.BASE_ALT }} final: false shell: install: - - apk update - - apk install ca-certificates tzdata -y + - apt-get update + - apt-get install ca-certificates tzdata -y - mkdir -p /relocate/bin /relocate/sbin /relocate/etc /relocate/etc/ssl /relocate/usr/bin /relocate/usr/sbin /relocate/usr/share - cp -pr /tmp /relocate - cp -pr /etc/passwd /etc/group /etc/hostname /etc/hosts /etc/shadow /etc/protocols /etc/services /etc/nsswitch.conf /relocate/etc diff --git a/images/sds-health-watcher-controller/werf.inc.yaml b/images/sds-health-watcher-controller/werf.inc.yaml index 24feb734..b1e1f553 100644 --- a/images/sds-health-watcher-controller/werf.inc.yaml +++ b/images/sds-health-watcher-controller/werf.inc.yaml @@ -1,7 +1,3 @@ -# {{- $_ := set . "BASE_GOLANG" "registry.deckhouse.io/base_images/golang:1.22.8-alpine@sha256:54bb7313917c733191a079ccae2e52bd3b80664e46c7879efa06513d4221d804" }} -# {{- $_ := set . "BASE_SCRATCH" "registry.deckhouse.io/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc" }} -# {{- $_ := set . "BASE_ALT" "registry.deckhouse.io/base_images/alt:p11@sha256:e47d84424485d3674240cb2f67d3a1801b37d327e6d1eb8cc8d01be8ed3b34f3" }} - # Do not remove. It's used in external tests. --- image: {{ $.ImageName }}-src-artifact diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index f2cbda11..c9c48551 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -1,8 +1,3 @@ -# {{- $_ := set . "BASE_GOLANG" "registry.deckhouse.io/base_images/golang:1.22.8-alpine@sha256:54bb7313917c733191a079ccae2e52bd3b80664e46c7879efa06513d4221d804" }} -# {{- $_ := set . "BASE_SCRATCH" "registry.deckhouse.ru/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc" }} -# {{- $_ := set . "BASE_ALPINE_DEV" "registry.deckhouse.ru/base_images/dev-alpine:3.16.3@sha256:c706fa83cc129079e430480369a3f062b8178cac9ec89266ebab753a574aca8e" }} -# {{- $_ := set . "BASE_ALT_DEV" "registry.deckhouse.ru/base_images/dev-alt:p10@sha256:76e6e163fa982f03468166203488b569e6d9fc10855d6a259c662706436cdcad" }} - {{ $binaries := "/sds-utils/bin/lvm.static" }} {{ $version := "d786a8f820d54ce87a919e6af5426c333c173b11" }} @@ -91,13 +86,13 @@ shell: --- image: {{ $.ImageName }}-distroless-artifact -from: {{ $.Root.BASE_ALPINE }} +from: {{ $.Root.BASE_ALT }} final: false shell: install: - - apk update - - apk install ca-certificates tzdata -y + - apt-get update + - apt-get install ca-certificates tzdata -y - mkdir -p /relocate/bin /relocate/sbin /relocate/etc /relocate/etc/ssl /relocate/usr/bin /relocate/usr/sbin /relocate/usr/share - cp -pr /tmp /relocate - cp -pr /etc/passwd /etc/group /etc/hostname /etc/hosts /etc/shadow /etc/protocols /etc/services /etc/nsswitch.conf /relocate/etc From f0e1e1fb675abbc47ecd9fb39070b9fdcb00c17b Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 17:36:23 +0300 Subject: [PATCH 13/43] /etc/ssl -> /etc/pki/tls --- images/sds-utils-installer/werf.inc.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index c9c48551..19cf3220 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -98,8 +98,8 @@ shell: - cp -pr /etc/passwd /etc/group /etc/hostname /etc/hosts /etc/shadow /etc/protocols /etc/services /etc/nsswitch.conf /relocate/etc - cp -pr /usr/share/ca-certificates /relocate/usr/share - cp -pr /usr/share/zoneinfo /relocate/usr/share - - cp -pr /etc/ssl/cert.pem /relocate/etc/ssl - - cp -pr /etc/ssl/certs /relocate/etc/ssl + - cp -pr /etc/pki/tls/cert.pem /relocate/etc/ssl + - cp -pr /etc/pki/tls/certs /relocate/etc/ssl - echo "deckhouse:x:64535:64535:deckhouse:/:/sbin/nologin" >> /relocate/etc/passwd - echo "deckhouse:x:64535:" >> /relocate/etc/group - echo "deckhouse:!::0:::::" >> /relocate/etc/shadow From 9ac0a57ec5d2fb1cf98b0b608f945cf2b23583d7 Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 17:46:39 +0300 Subject: [PATCH 14/43] Another one fix for /etc/ssl --- images/agent/werf.inc.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index 7309eca8..9928ab9f 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -101,8 +101,8 @@ shell: - cp -pr /etc/passwd /etc/group /etc/hostname /etc/hosts /etc/shadow /etc/protocols /etc/services /etc/nsswitch.conf /relocate/etc - cp -pr /usr/share/ca-certificates /relocate/usr/share - cp -pr /usr/share/zoneinfo /relocate/usr/share - - cp -pr /etc/ssl/cert.pem /relocate/etc/ssl - - cp -pr /etc/ssl/certs /relocate/etc/ssl + - cp -pr /etc/pki/tls/cert.pem /relocate/etc/ssl + - cp -pr /etc/pki/tls/certs /relocate/etc/ssl - echo "deckhouse:x:64535:64535:deckhouse:/:/sbin/nologin" >> /relocate/etc/passwd - echo "deckhouse:x:64535:" >> /relocate/etc/group - echo "deckhouse:!::0:::::" >> /relocate/etc/shadow From 54a08519d90a94d054a7ae49e428f2ad0ca61169 Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 17:52:59 +0300 Subject: [PATCH 15/43] binary_replace.sh fix in agent --- images/agent/werf.inc.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index 9928ab9f..02f53fa6 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -29,6 +29,13 @@ image: {{ $.ImageName }}-binaries-artifact from: {{ $.Root.BASE_ALT }} final: false +git: + - add: /tools/dev_images/additional_tools/binary_replace.sh + to: /binary_replace.sh + stageDependencies: + install: + - "**/*" + shell: install: - apt-get update From 56186f8119d6ae034398b0be89adccf07dff4cc5 Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 17:59:08 +0300 Subject: [PATCH 16/43] /binary_replace.sh permissions fixed --- images/agent/werf.inc.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index 02f53fa6..4d5f1e01 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -71,6 +71,7 @@ shell: - cp /lib64/libcap.so.2 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libcap.so.2 - cp /lib64/ld-2.32.so /opt/deckhouse/sds/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - cp /opt/deckhouse/sds/bin/lsblk /opt/deckhouse/sds/bin/lsblk.dynamic + - chmod +x /binary_replace.sh - /binary_replace.sh -i "{{ $binaries }}" -o /relocate --- From 717f97add88b60b4cb1431f96357379640e7f82e Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 18:09:06 +0300 Subject: [PATCH 17/43] libc6-compat - added --- images/agent/werf.inc.yaml | 3 ++- images/sds-utils-installer/werf.inc.yaml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index 4d5f1e01..a0f78cff 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -54,7 +54,8 @@ shell: libmount-devel-static \ automake \ gettext \ - flex + flex \ + libc6-compat - cd / - git clone {{ env "SOURCE_REPO" }}/util-linux/util-linux.git - cd /util-linux diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index 19cf3220..32194ede 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -49,7 +49,8 @@ shell: libaio-devel-static \ libblkid-devel-static \ thin-provisioning-tools \ - git + git \ + libc6-compat - cd / - git clone {{ env "SOURCE_REPO" }}/lvmteam/lvm2.git - cd /lvm2 From 1ff87195581ae9554f00b21bb9bdaddfbe2f9d8f Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Mon, 13 Jan 2025 18:16:54 +0300 Subject: [PATCH 18/43] glibc-core added --- images/agent/werf.inc.yaml | 2 +- images/sds-utils-installer/werf.inc.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index a0f78cff..da873dd8 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -55,7 +55,7 @@ shell: automake \ gettext \ flex \ - libc6-compat + glibc-core - cd / - git clone {{ env "SOURCE_REPO" }}/util-linux/util-linux.git - cd /util-linux diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index 32194ede..e1d29545 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -50,7 +50,7 @@ shell: libblkid-devel-static \ thin-provisioning-tools \ git \ - libc6-compat + glibc-core - cd / - git clone {{ env "SOURCE_REPO" }}/lvmteam/lvm2.git - cd /lvm2 From 0227358916018a6bd78d55e08275677b203c21c4 Mon Sep 17 00:00:00 2001 From: "v.oleynikov" Date: Mon, 13 Jan 2025 18:29:40 +0300 Subject: [PATCH 19/43] Tmp Signed-off-by: v.oleynikov --- images/agent/werf.inc.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index da873dd8..c5023b75 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -55,7 +55,8 @@ shell: automake \ gettext \ flex \ - glibc-core + glibc-core \ + glibc - cd / - git clone {{ env "SOURCE_REPO" }}/util-linux/util-linux.git - cd /util-linux @@ -66,6 +67,7 @@ shell: - ./configure --prefix /opt/deckhouse/sds --with-udev - make install-strip - mkdir -p /opt/deckhouse/sds/lib/x86_64-linux-gnu/ + - ls -l /lib64 | grep ld - cp /util-linux/nsenter.static /opt/deckhouse/sds/bin/nsenter.static - cp /lib64/libudev.so.1 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libudev.so.1 - cp /lib64/libc.so.6 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libc.so.6 From fd1144dd13171103d6d1898e9be22df4052ba8e2 Mon Sep 17 00:00:00 2001 From: "v.oleynikov" Date: Mon, 13 Jan 2025 18:34:58 +0300 Subject: [PATCH 20/43] Fix Signed-off-by: v.oleynikov --- images/agent/werf.inc.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index c5023b75..1d2b8589 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -1,4 +1,4 @@ -{{ $binaries := "/opt/deckhouse/sds/lib/libblkid.so.1 /opt/deckhouse/sds/lib/libmount.so.1 /opt/deckhouse/sds/lib/libsmartcols.so.1 /opt/deckhouse/sds/bin/nsenter.static /opt/deckhouse/sds/lib/x86_64-linux-gnu/libudev.so.1 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libcap.so.2 ld-linux-x86-64.so.2 /opt/deckhouse/sds/bin/lsblk.dynamic" }} +{{ $binaries := "/opt/deckhouse/sds/lib/libblkid.so.1 /opt/deckhouse/sds/lib/libmount.so.1 /opt/deckhouse/sds/lib/libsmartcols.so.1 /opt/deckhouse/sds/bin/nsenter.static /opt/deckhouse/sds/lib/x86_64-linux-gnu/libudev.so.1 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libcap.so.2 /opt/deckhouse/sds/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /opt/deckhouse/sds/bin/lsblk.dynamic" }} {{ $version := "2.39.3" }} # Do not remove. It's used in external tests. @@ -55,8 +55,7 @@ shell: automake \ gettext \ flex \ - glibc-core \ - glibc + glibc-core - cd / - git clone {{ env "SOURCE_REPO" }}/util-linux/util-linux.git - cd /util-linux @@ -67,7 +66,6 @@ shell: - ./configure --prefix /opt/deckhouse/sds --with-udev - make install-strip - mkdir -p /opt/deckhouse/sds/lib/x86_64-linux-gnu/ - - ls -l /lib64 | grep ld - cp /util-linux/nsenter.static /opt/deckhouse/sds/bin/nsenter.static - cp /lib64/libudev.so.1 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libudev.so.1 - cp /lib64/libc.so.6 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libc.so.6 From d21dde43286c307d78079ec8a71ca15aac743411 Mon Sep 17 00:00:00 2001 From: "v.oleynikov" Date: Mon, 13 Jan 2025 18:39:59 +0300 Subject: [PATCH 21/43] Fix Signed-off-by: v.oleynikov --- images/agent/werf.inc.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index 1d2b8589..ff5f923b 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -66,13 +66,21 @@ shell: - ./configure --prefix /opt/deckhouse/sds --with-udev - make install-strip - mkdir -p /opt/deckhouse/sds/lib/x86_64-linux-gnu/ + - echo 1 - cp /util-linux/nsenter.static /opt/deckhouse/sds/bin/nsenter.static + - echo 2 - cp /lib64/libudev.so.1 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libudev.so.1 + - echo 3 - cp /lib64/libc.so.6 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libc.so.6 + - echo 4 - cp /lib64/libcap.so.2 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libcap.so.2 + - echo 5 - cp /lib64/ld-2.32.so /opt/deckhouse/sds/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + - echo 6 - cp /opt/deckhouse/sds/bin/lsblk /opt/deckhouse/sds/bin/lsblk.dynamic + - echo 7 - chmod +x /binary_replace.sh + - echo 8 - /binary_replace.sh -i "{{ $binaries }}" -o /relocate --- From c7faa1c657a77d1602043c6a34d7bcd7962f7ca1 Mon Sep 17 00:00:00 2001 From: "v.oleynikov" Date: Mon, 13 Jan 2025 18:44:29 +0300 Subject: [PATCH 22/43] Fix Signed-off-by: v.oleynikov --- images/agent/werf.inc.yaml | 8 -------- tools/dev_images/additional_tools/binary_replace.sh | 1 + 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index ff5f923b..1d2b8589 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -66,21 +66,13 @@ shell: - ./configure --prefix /opt/deckhouse/sds --with-udev - make install-strip - mkdir -p /opt/deckhouse/sds/lib/x86_64-linux-gnu/ - - echo 1 - cp /util-linux/nsenter.static /opt/deckhouse/sds/bin/nsenter.static - - echo 2 - cp /lib64/libudev.so.1 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libudev.so.1 - - echo 3 - cp /lib64/libc.so.6 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libc.so.6 - - echo 4 - cp /lib64/libcap.so.2 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libcap.so.2 - - echo 5 - cp /lib64/ld-2.32.so /opt/deckhouse/sds/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - - echo 6 - cp /opt/deckhouse/sds/bin/lsblk /opt/deckhouse/sds/bin/lsblk.dynamic - - echo 7 - chmod +x /binary_replace.sh - - echo 8 - /binary_replace.sh -i "{{ $binaries }}" -o /relocate --- diff --git a/tools/dev_images/additional_tools/binary_replace.sh b/tools/dev_images/additional_tools/binary_replace.sh index eee7370c..c9545e69 100644 --- a/tools/dev_images/additional_tools/binary_replace.sh +++ b/tools/dev_images/additional_tools/binary_replace.sh @@ -14,6 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +set -x set -Eeuo pipefail shopt -s failglob From ccabeb60940da3802bc31421c09ae026268e053b Mon Sep 17 00:00:00 2001 From: "v.oleynikov" Date: Mon, 13 Jan 2025 18:54:34 +0300 Subject: [PATCH 23/43] Fix Signed-off-by: v.oleynikov --- tools/dev_images/additional_tools/binary_replace.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/dev_images/additional_tools/binary_replace.sh b/tools/dev_images/additional_tools/binary_replace.sh index c9545e69..5f239a91 100644 --- a/tools/dev_images/additional_tools/binary_replace.sh +++ b/tools/dev_images/additional_tools/binary_replace.sh @@ -75,6 +75,8 @@ function relocate() { local binary=$1 relocate_item ${binary} + ldd ${binary} + for lib in $(ldd ${binary} 2>/dev/null | awk '{if ($2=="=>") print $3; else print $1}'); do # don't try to relocate linux-vdso.so lib due to this lib is virtual if [[ "${lib}" =~ "linux-vdso" ]]; then From 6226c642c5a8b13a7a8bddb9654be9b7d8519a71 Mon Sep 17 00:00:00 2001 From: "v.oleynikov" Date: Mon, 13 Jan 2025 19:00:30 +0300 Subject: [PATCH 24/43] Fix Signed-off-by: v.oleynikov --- tools/dev_images/additional_tools/binary_replace.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/dev_images/additional_tools/binary_replace.sh b/tools/dev_images/additional_tools/binary_replace.sh index 5f239a91..3b598c0b 100644 --- a/tools/dev_images/additional_tools/binary_replace.sh +++ b/tools/dev_images/additional_tools/binary_replace.sh @@ -75,7 +75,7 @@ function relocate() { local binary=$1 relocate_item ${binary} - ldd ${binary} + ldd ${binary} 2>/dev/null for lib in $(ldd ${binary} 2>/dev/null | awk '{if ($2=="=>") print $3; else print $1}'); do # don't try to relocate linux-vdso.so lib due to this lib is virtual From 1a7efd1c5593265463a526836f2813cb5964a96d Mon Sep 17 00:00:00 2001 From: "v.oleynikov" Date: Mon, 13 Jan 2025 19:09:54 +0300 Subject: [PATCH 25/43] Fix Signed-off-by: v.oleynikov --- tools/dev_images/additional_tools/binary_replace.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/tools/dev_images/additional_tools/binary_replace.sh b/tools/dev_images/additional_tools/binary_replace.sh index 3b598c0b..c9545e69 100644 --- a/tools/dev_images/additional_tools/binary_replace.sh +++ b/tools/dev_images/additional_tools/binary_replace.sh @@ -75,8 +75,6 @@ function relocate() { local binary=$1 relocate_item ${binary} - ldd ${binary} 2>/dev/null - for lib in $(ldd ${binary} 2>/dev/null | awk '{if ($2=="=>") print $3; else print $1}'); do # don't try to relocate linux-vdso.so lib due to this lib is virtual if [[ "${lib}" =~ "linux-vdso" ]]; then From cd6074dd8a37c0c3f84ffc9a854383f796348b69 Mon Sep 17 00:00:00 2001 From: "v.oleynikov" Date: Mon, 13 Jan 2025 19:14:32 +0300 Subject: [PATCH 26/43] Fix Signed-off-by: v.oleynikov --- images/agent/werf.inc.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index 1d2b8589..ded6afe8 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -70,6 +70,7 @@ shell: - cp /lib64/libudev.so.1 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libudev.so.1 - cp /lib64/libc.so.6 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libc.so.6 - cp /lib64/libcap.so.2 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libcap.so.2 + - ls -lah /lib64/ld-2.32.so - cp /lib64/ld-2.32.so /opt/deckhouse/sds/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - cp /opt/deckhouse/sds/bin/lsblk /opt/deckhouse/sds/bin/lsblk.dynamic - chmod +x /binary_replace.sh From f4ae1c4d0425698e666490793ceaed39bc5b9b8a Mon Sep 17 00:00:00 2001 From: "v.oleynikov" Date: Mon, 13 Jan 2025 19:42:58 +0300 Subject: [PATCH 27/43] Fix Signed-off-by: v.oleynikov --- images/agent/werf.inc.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index ded6afe8..1d2b8589 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -70,7 +70,6 @@ shell: - cp /lib64/libudev.so.1 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libudev.so.1 - cp /lib64/libc.so.6 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libc.so.6 - cp /lib64/libcap.so.2 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libcap.so.2 - - ls -lah /lib64/ld-2.32.so - cp /lib64/ld-2.32.so /opt/deckhouse/sds/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 - cp /opt/deckhouse/sds/bin/lsblk /opt/deckhouse/sds/bin/lsblk.dynamic - chmod +x /binary_replace.sh From dfe7fa10e9da271f437b29a54bd1993416cdc0b8 Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Mon, 13 Jan 2025 20:33:34 +0300 Subject: [PATCH 28/43] some fixes Signed-off-by: Aleksandr Zimin --- images/agent/werf.inc.yaml | 15 +++++++-------- images/sds-utils-installer/werf.inc.yaml | 13 ++++++------- .../dev_images/additional_tools/binary_replace.sh | 3 +-- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index 1d2b8589..792e55e1 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -1,5 +1,5 @@ {{ $binaries := "/opt/deckhouse/sds/lib/libblkid.so.1 /opt/deckhouse/sds/lib/libmount.so.1 /opt/deckhouse/sds/lib/libsmartcols.so.1 /opt/deckhouse/sds/bin/nsenter.static /opt/deckhouse/sds/lib/x86_64-linux-gnu/libudev.so.1 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libcap.so.2 /opt/deckhouse/sds/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /opt/deckhouse/sds/bin/lsblk.dynamic" }} -{{ $version := "2.39.3" }} +{{ $UTIL_LINUX_VERSION := "2.39.3" }} # Do not remove. It's used in external tests. --- @@ -21,7 +21,10 @@ git: shell: install: - - echo "src artifact" + - apt-get update + - apt-get -y install git + - git clone --depth 1 --branch v{{ $UTIL_LINUX_VERSION }} {{ env "SOURCE_REPO" }}/util-linux/util-linux.git /src/util-linux + - rm -rf /src/util-linux/.git --- @@ -42,7 +45,6 @@ shell: - | apt-get install -y \ build-essential \ - git \ pkg-config \ gettext \ autoconf \ @@ -56,17 +58,14 @@ shell: gettext \ flex \ glibc-core - - cd / - - git clone {{ env "SOURCE_REPO" }}/util-linux/util-linux.git - - cd /util-linux - - git checkout v{{ $version }} + - cd /src/util-linux - ./autogen.sh - ./configure LDFLAGS="-static" --enable-static-programs -disable-all-programs --enable-nsenter - make install-strip - ./configure --prefix /opt/deckhouse/sds --with-udev - make install-strip - mkdir -p /opt/deckhouse/sds/lib/x86_64-linux-gnu/ - - cp /util-linux/nsenter.static /opt/deckhouse/sds/bin/nsenter.static + - cp /src/util-linux/nsenter.static /opt/deckhouse/sds/bin/nsenter.static - cp /lib64/libudev.so.1 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libudev.so.1 - cp /lib64/libc.so.6 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libc.so.6 - cp /lib64/libcap.so.2 /opt/deckhouse/sds/lib/x86_64-linux-gnu/libcap.so.2 diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index e1d29545..7a8b78f9 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -1,5 +1,5 @@ {{ $binaries := "/sds-utils/bin/lvm.static" }} -{{ $version := "d786a8f820d54ce87a919e6af5426c333c173b11" }} +{{ $LVM2_VERSION := "d786a8f820d54ce87a919e6af5426c333c173b11" }} # Do not remove. It's used in external tests. --- @@ -21,7 +21,10 @@ git: shell: install: - - echo "src artifact" + - apt-get update + - apt-get -y install git + - git clone --depth 1 --branch {{ $LVM2_VERSION }} {{ env "SOURCE_REPO" }}/lvmteam/lvm2.git /src/lvm2 + - rm -rf /src/lvm2/.git --- image: {{ $.ImageName }}-binaries-artifact @@ -49,12 +52,8 @@ shell: libaio-devel-static \ libblkid-devel-static \ thin-provisioning-tools \ - git \ glibc-core - - cd / - - git clone {{ env "SOURCE_REPO" }}/lvmteam/lvm2.git - - cd /lvm2 - - git checkout {{ $version }} + - cd /src/lvm2 - ./configure --enable-static_link --disable-silent-rules --disable-readline --enable-blkid_wiping --build=x86_64-linux-gnu - make - mkdir -p /sds-utils/bin/ diff --git a/tools/dev_images/additional_tools/binary_replace.sh b/tools/dev_images/additional_tools/binary_replace.sh index c9545e69..5f2d0057 100644 --- a/tools/dev_images/additional_tools/binary_replace.sh +++ b/tools/dev_images/additional_tools/binary_replace.sh @@ -14,7 +14,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -set -x set -Eeuo pipefail shopt -s failglob @@ -75,7 +74,7 @@ function relocate() { local binary=$1 relocate_item ${binary} - for lib in $(ldd ${binary} 2>/dev/null | awk '{if ($2=="=>") print $3; else print $1}'); do + for lib in $(ldd ${binary} 2>/dev/null | awk '/statically linked/ {next} {if ($2=="=>") print $3; else print $1}'); do # don't try to relocate linux-vdso.so lib due to this lib is virtual if [[ "${lib}" =~ "linux-vdso" ]]; then continue From 8c96df3aecd557521cdc572805f7e7a07943cd51 Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Mon, 13 Jan 2025 20:39:48 +0300 Subject: [PATCH 29/43] fix git clone Signed-off-by: Aleksandr Zimin --- images/sds-utils-installer/werf.inc.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index 7a8b78f9..c866af16 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -23,7 +23,8 @@ shell: install: - apt-get update - apt-get -y install git - - git clone --depth 1 --branch {{ $LVM2_VERSION }} {{ env "SOURCE_REPO" }}/lvmteam/lvm2.git /src/lvm2 + - git clone --depth 1 {{ env "SOURCE_REPO" }}/lvmteam/lvm2.git /src/lvm2 + - git fetch --depth 1 origin {{ $LVM2_VERSION }} - rm -rf /src/lvm2/.git --- From ba3c29c8711a8c6ad36a641c5ebd5e46cc4ab1f7 Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Mon, 13 Jan 2025 20:48:00 +0300 Subject: [PATCH 30/43] fix Signed-off-by: Aleksandr Zimin --- images/agent/werf.inc.yaml | 6 ++++++ images/sds-health-watcher-controller/werf.inc.yaml | 8 -------- images/sds-utils-installer/werf.inc.yaml | 7 +++++++ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/images/agent/werf.inc.yaml b/images/agent/werf.inc.yaml index 792e55e1..fe6c8467 100644 --- a/images/agent/werf.inc.yaml +++ b/images/agent/werf.inc.yaml @@ -32,6 +32,12 @@ image: {{ $.ImageName }}-binaries-artifact from: {{ $.Root.BASE_ALT }} final: false +import: + - image: {{ $.ImageName }}-src-artifact + add: /src + to: /src + before: install + git: - add: /tools/dev_images/additional_tools/binary_replace.sh to: /binary_replace.sh diff --git a/images/sds-health-watcher-controller/werf.inc.yaml b/images/sds-health-watcher-controller/werf.inc.yaml index b1e1f553..955ad4db 100644 --- a/images/sds-health-watcher-controller/werf.inc.yaml +++ b/images/sds-health-watcher-controller/werf.inc.yaml @@ -15,14 +15,6 @@ git: stageDependencies: install: - "**/*" - # Taken from the original source - but I don't see patches in folder images - # - add: /images/{{ $.ImageName }} - # to: /src - # stageDependencies: - # install: - # - "**/*" - # includePaths: - # - patches shell: install: diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index c866af16..5954cb4f 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -24,6 +24,7 @@ shell: - apt-get update - apt-get -y install git - git clone --depth 1 {{ env "SOURCE_REPO" }}/lvmteam/lvm2.git /src/lvm2 + - cd /src/lvm2 - git fetch --depth 1 origin {{ $LVM2_VERSION }} - rm -rf /src/lvm2/.git @@ -32,6 +33,12 @@ image: {{ $.ImageName }}-binaries-artifact from: {{ $.Root.BASE_ALT }} final: false +import: + - image: {{ $.ImageName }}-src-artifact + add: /src + to: /src + before: install + git: - add: /tools/dev_images/additional_tools/binary_replace.sh to: /binary_replace.sh From 256a46d2cb4ef1783c0d26c8ae623c68003f4d43 Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Mon, 13 Jan 2025 20:51:09 +0300 Subject: [PATCH 31/43] fix23 Signed-off-by: Aleksandr Zimin --- images/sds-utils-installer/werf.inc.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index 5954cb4f..cedcebb2 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -65,7 +65,7 @@ shell: - ./configure --enable-static_link --disable-silent-rules --disable-readline --enable-blkid_wiping --build=x86_64-linux-gnu - make - mkdir -p /sds-utils/bin/ - - mv /lvm2/tools/lvm.static /sds-utils/bin/lvm.static + - mv /src/lvm2/tools/lvm.static /sds-utils/bin/lvm.static - chmod +x /binary_replace.sh - /binary_replace.sh -i "{{ $binaries }}" -o /relocate From ef24eca7e558f8d28f6043c5c943d054301e5016 Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Mon, 13 Jan 2025 21:13:17 +0300 Subject: [PATCH 32/43] test Signed-off-by: Aleksandr Zimin --- .werf/release.yaml | 2 +- images/sds-utils-installer/werf.inc.yaml | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.werf/release.yaml b/.werf/release.yaml index f1e18db7..b75a1ce5 100644 --- a/.werf/release.yaml +++ b/.werf/release.yaml @@ -14,7 +14,7 @@ shell: image: release-channel-version from: registry.deckhouse.io/base_images/scratch@sha256:b054705fcc9f2205777d80a558d920c0b4209efdc3163c22b5bfcb5dda1db5fc import: - - artifact: release-channel-version-artifact + - image: release-channel-version-artifact add: / to: / after: install diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index cedcebb2..9a8cab9c 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -134,8 +134,6 @@ import: - image: {{ $.ImageName }}-golang-artifact add: /{{ $.ImageName }} to: /{{ $.ImageName }} - # add: /bin-copier - # to: /bin-copier before: setup docker: From 4b514a3edd9b6b50f76368aa7ce7a0ca47d7b874 Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Tue, 14 Jan 2025 01:18:47 +0300 Subject: [PATCH 33/43] fix artifact Signed-off-by: Aleksandr Zimin --- .werf/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.werf/release.yaml b/.werf/release.yaml index b75a1ce5..adca3bb9 100644 --- a/.werf/release.yaml +++ b/.werf/release.yaml @@ -1,6 +1,6 @@ # Release image, stored in your.registry.io/modules//release: --- -artifact: release-channel-version-artifact +image: release-channel-version-artifact from: registry.deckhouse.io/base_images/alpine:3.16.3 shell: beforeInstall: From aeb80f96f62f7cc3cad10c0d7900cb927c7ed7ab Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Tue, 14 Jan 2025 01:26:15 +0300 Subject: [PATCH 34/43] fix Signed-off-by: Aleksandr Zimin --- images/sds-utils-installer/werf.inc.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/sds-utils-installer/werf.inc.yaml b/images/sds-utils-installer/werf.inc.yaml index 9a8cab9c..6a3b9729 100644 --- a/images/sds-utils-installer/werf.inc.yaml +++ b/images/sds-utils-installer/werf.inc.yaml @@ -125,7 +125,7 @@ import: --- image: {{ $.ImageName }} -from: {{ $.ImageName }}-distroless +fromImage: {{ $.ImageName }}-distroless import: - image: {{ $.ImageName }}-binaries-artifact add: /relocate From ae917413274394862557ad576da4d2763b31aba5 Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Tue, 14 Jan 2025 01:31:47 +0300 Subject: [PATCH 35/43] fix Signed-off-by: Aleksandr Zimin --- images/agent/src/go.mod | 8 ++++---- images/agent/src/go.sum | 16 ++++++++-------- images/sds-health-watcher-controller/src/go.mod | 8 ++++---- images/sds-health-watcher-controller/src/go.sum | 16 ++++++++-------- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/images/agent/src/go.mod b/images/agent/src/go.mod index 7418ee48..75fe8fc8 100644 --- a/images/agent/src/go.mod +++ b/images/agent/src/go.mod @@ -59,11 +59,11 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/x448/float16 v0.8.4 // indirect golang.org/x/exp v0.0.0-20231127185646-65229373498e // indirect - golang.org/x/net v0.26.0 // indirect + golang.org/x/net v0.33.0 // indirect golang.org/x/oauth2 v0.21.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/term v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect diff --git a/images/agent/src/go.sum b/images/agent/src/go.sum index b485677e..8c40072d 100644 --- a/images/agent/src/go.sum +++ b/images/agent/src/go.sum @@ -130,8 +130,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -140,14 +140,14 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= -golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/images/sds-health-watcher-controller/src/go.mod b/images/sds-health-watcher-controller/src/go.mod index ac624bbb..1bf9e924 100644 --- a/images/sds-health-watcher-controller/src/go.mod +++ b/images/sds-health-watcher-controller/src/go.mod @@ -53,11 +53,11 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/x448/float16 v0.8.4 // indirect golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 // indirect - golang.org/x/net v0.26.0 // indirect + golang.org/x/net v0.33.0 // indirect golang.org/x/oauth2 v0.21.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/term v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.5.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/protobuf v1.34.2 // indirect diff --git a/images/sds-health-watcher-controller/src/go.sum b/images/sds-health-watcher-controller/src/go.sum index 510a6998..6655aa8a 100644 --- a/images/sds-health-watcher-controller/src/go.sum +++ b/images/sds-health-watcher-controller/src/go.sum @@ -176,8 +176,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -187,15 +187,15 @@ golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= -golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= From cef2d096f772a15a0c4dca1cbe5a65a27138db16 Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Tue, 14 Jan 2025 01:35:40 +0300 Subject: [PATCH 36/43] fix worflow Signed-off-by: Aleksandr Zimin --- .github/workflows/trivy_check.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/trivy_check.yaml b/.github/workflows/trivy_check.yaml index 3538b808..f8692f1c 100644 --- a/.github/workflows/trivy_check.yaml +++ b/.github/workflows/trivy_check.yaml @@ -45,10 +45,10 @@ jobs: - name: Prepare sub repo run: | - version=v`grep "version :=" images/agent/werf.inc.yaml | awk -F'"' '{ print $2}'` + version=v`grep "UTIL_LINUX_VERSION :=" images/agent/werf.inc.yaml | awk -F'"' '{ print $2}'` git clone --depth 1 --branch $version ${{ secrets.SOURCE_REPO }}/util-linux/util-linux.git ./util-linux git clone ${{ secrets.SOURCE_REPO }}/lvmteam/lvm2.git ./lvm2 - version=`grep "version :=" images/sds-utils-installer/werf.inc.yaml | awk -F'"' '{ print $2}'` + version=`grep "LVM2_VERSION :=" images/sds-utils-installer/werf.inc.yaml | awk -F'"' '{ print $2}'` cd ./lvm2 git checkout $version cd .. From efe5cac936e4600699d8e589c4023473c9deb3f7 Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Tue, 14 Jan 2025 01:40:30 +0300 Subject: [PATCH 37/43] fix Signed-off-by: Aleksandr Zimin --- api/go.mod | 4 ++-- api/go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/api/go.mod b/api/go.mod index a6e247d1..05a0cf0b 100644 --- a/api/go.mod +++ b/api/go.mod @@ -13,8 +13,8 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/x448/float16 v0.8.4 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/text v0.16.0 // indirect + golang.org/x/net v0.33.0 // indirect + golang.org/x/text v0.21.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect k8s.io/klog/v2 v2.130.1 // indirect diff --git a/api/go.sum b/api/go.sum index 1aff0b65..edd69b2a 100644 --- a/api/go.sum +++ b/api/go.sum @@ -45,8 +45,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -55,8 +55,8 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= From d624589a33fdf71555d9b4f482ad8e1ffd120a63 Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Tue, 14 Jan 2025 13:09:07 +0300 Subject: [PATCH 38/43] fix perms Signed-off-by: Aleksandr Zimin --- templates/agent/daemonset.yaml | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/templates/agent/daemonset.yaml b/templates/agent/daemonset.yaml index a3dcc0e6..09048d80 100644 --- a/templates/agent/daemonset.yaml +++ b/templates/agent/daemonset.yaml @@ -52,6 +52,14 @@ spec: serviceAccountName: sds-node-configurator hostPID: true hostNetwork: true + securityContext: + runAsUser: 0 + runAsNonRoot: false + runAsGroup: 0 + privileged: true + seLinuxOptions: + level: s0 + type: spc_t initContainers: - name: sds-utils-installer image: {{ include "helm_lib_module_image" (list . "sdsUtilsInstaller") }} @@ -81,11 +89,6 @@ spec: - -- - modprobe - dm_thin_pool - securityContext: - privileged: true - seLinuxOptions: - level: s0 - type: spc_t volumeMounts: - mountPath: /dev/ name: host-device-dir @@ -123,11 +126,6 @@ spec: - name: metrics containerPort: 4202 protocol: TCP - securityContext: - privileged: true - seLinuxOptions: - level: s0 - type: spc_t env: - name: NODE_NAME valueFrom: From b42733b6fbcba05b127d207455b12aef91f5a801 Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Tue, 14 Jan 2025 13:13:21 +0300 Subject: [PATCH 39/43] Added distroless into health-watcher --- .../werf.inc.yaml | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/images/sds-health-watcher-controller/werf.inc.yaml b/images/sds-health-watcher-controller/werf.inc.yaml index 955ad4db..905ca91a 100644 --- a/images/sds-health-watcher-controller/werf.inc.yaml +++ b/images/sds-health-watcher-controller/werf.inc.yaml @@ -1,3 +1,4 @@ +{{ $binaries := "/sds-utils/bin/lvm.static" }}# # Do not remove. It's used in external tests. --- image: {{ $.ImageName }}-src-artifact @@ -41,9 +42,41 @@ shell: - GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o /{{ $.ImageName }} - chmod +x /{{ $.ImageName }} + --- -image: {{ $.ImageName }} +image: {{ $.ImageName }}-distroless-artifact +from: {{ $.Root.BASE_ALT }} +final: false + +shell: + install: + - apt-get update + - apt-get install ca-certificates tzdata -y + - mkdir -p /relocate/bin /relocate/sbin /relocate/etc /relocate/etc/ssl /relocate/usr/bin /relocate/usr/sbin /relocate/usr/share + - cp -pr /tmp /relocate + - cp -pr /etc/passwd /etc/group /etc/hostname /etc/hosts /etc/shadow /etc/protocols /etc/services /etc/nsswitch.conf /relocate/etc + - cp -pr /usr/share/ca-certificates /relocate/usr/share + - cp -pr /usr/share/zoneinfo /relocate/usr/share + - cp -pr /etc/pki/tls/cert.pem /relocate/etc/ssl + - cp -pr /etc/pki/tls/certs /relocate/etc/ssl + - echo "deckhouse:x:64535:64535:deckhouse:/:/sbin/nologin" >> /relocate/etc/passwd + - echo "deckhouse:x:64535:" >> /relocate/etc/group + - echo "deckhouse:!::0:::::" >> /relocate/etc/shadow + +--- +image: {{ $.ImageName }}-distroless from: {{ $.Root.BASE_SCRATCH }} +final: false + +import: + - image: {{ $.ImageName }}-distroless-artifact + add: /relocate + to: / + before: setup + +--- +image: {{ $.ImageName }} +fromImage: {{ $.ImageName }}-distroless import: - image: {{ $.ImageName }}-golang-artifact From 9ca249a72e07f907bb7e368d9980472f2e914454 Mon Sep 17 00:00:00 2001 From: Alexey Yakubov Date: Tue, 14 Jan 2025 13:17:49 +0300 Subject: [PATCH 40/43] Bug fix --- images/sds-health-watcher-controller/werf.inc.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/images/sds-health-watcher-controller/werf.inc.yaml b/images/sds-health-watcher-controller/werf.inc.yaml index 905ca91a..ee51d8f8 100644 --- a/images/sds-health-watcher-controller/werf.inc.yaml +++ b/images/sds-health-watcher-controller/werf.inc.yaml @@ -1,4 +1,5 @@ -{{ $binaries := "/sds-utils/bin/lvm.static" }}# +{{ $binaries := "/sds-utils/bin/lvm.static" }} + # Do not remove. It's used in external tests. --- image: {{ $.ImageName }}-src-artifact From d3326ad050ee0730fe2dd85e7523ea061fbc9522 Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Tue, 14 Jan 2025 13:19:18 +0300 Subject: [PATCH 41/43] add privileged Signed-off-by: Aleksandr Zimin --- templates/agent/daemonset.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/templates/agent/daemonset.yaml b/templates/agent/daemonset.yaml index 09048d80..b0215e03 100644 --- a/templates/agent/daemonset.yaml +++ b/templates/agent/daemonset.yaml @@ -89,6 +89,8 @@ spec: - -- - modprobe - dm_thin_pool + securityContext: + privileged: true volumeMounts: - mountPath: /dev/ name: host-device-dir @@ -143,6 +145,8 @@ spec: {{- else if eq .Values.sdsNodeConfigurator.logLevel "TRACE" }} value: "4" {{- end }} + securityContext: + privileged: true volumeMounts: - mountPath: /dev/ name: host-device-dir From f145b4a2d5b4508953c728c0e0d3616c8b18f20d Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Tue, 14 Jan 2025 18:38:48 +0300 Subject: [PATCH 42/43] fix p11 Signed-off-by: Aleksandr Zimin --- .werf/consts.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.werf/consts.yaml b/.werf/consts.yaml index b97bc90a..b00cab8d 100644 --- a/.werf/consts.yaml +++ b/.werf/consts.yaml @@ -1,6 +1,6 @@ # base images {{- $_ := set $ "BASE_ALT" "registry.deckhouse.io/base_images/alt:p10@sha256:f105773c682498700680d7cd61a702a4315c4235aee3622757591fd510fb8b4a" }} -{{- $_ := set $ "BASE_ALT_P11" "registry.deckhouse.io/base_images/alt:p11@sha256:c396cd7348a48f9236413e2ef5569223c15e554c0a3ca37f9d92fb787d4f1893" }} +{{- $_ := set $ "BASE_ALT_P11" "registry.deckhouse.io/base_images/alt:p11@sha256:e47d84424485d3674240cb2f67d3a1801b37d327e6d1eb8cc8d01be8ed3b34f3" }} {{- $_ := set $ "BASE_GOLANG_1_23" "registry.deckhouse.io/base_images/golang:1.23.1-alpine3.20@sha256:716820a183116e643839611ff9eca9bd1c92d2bf8f7a5eda2f9fd16e8acbaa72" }} {{- $_ := set $ "BASE_SCRATCH" "registry.deckhouse.io/base_images/scratch@sha256:653ae76965c98c8cd1c8c9ff7725316d2983986f896655b30e0f44d2f8b2dd7e" }} {{- $_ := set $ "BASE_ALPINE" "registry.deckhouse.io/base_images/alpine:3.20.3@sha256:41628df7c9b935d248f64542634e7a843f9bc7f2252d7f878e77f7b79a947466" }} From e28bfc4910d3352d6c58557edd4a1a4f683149ff Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Tue, 14 Jan 2025 18:55:46 +0300 Subject: [PATCH 43/43] fix Signed-off-by: Aleksandr Zimin --- templates/agent/daemonset.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/templates/agent/daemonset.yaml b/templates/agent/daemonset.yaml index b0215e03..aa634cfe 100644 --- a/templates/agent/daemonset.yaml +++ b/templates/agent/daemonset.yaml @@ -52,11 +52,11 @@ spec: serviceAccountName: sds-node-configurator hostPID: true hostNetwork: true + # We need root privileges to perform LVM operations on the node. securityContext: runAsUser: 0 runAsNonRoot: false runAsGroup: 0 - privileged: true seLinuxOptions: level: s0 type: spc_t @@ -89,6 +89,8 @@ spec: - -- - modprobe - dm_thin_pool + # Privileged mode is required to use nsenter and access the host's mount namespace. + # This is necessary to run modprobe and load the dm_thin_pool kernel module on the host. securityContext: privileged: true volumeMounts: @@ -145,6 +147,7 @@ spec: {{- else if eq .Values.sdsNodeConfigurator.logLevel "TRACE" }} value: "4" {{- end }} + # Privileged mode is required to use nsenter and execute host-level commands like lvm and lsblk. securityContext: privileged: true volumeMounts: