From 2bc91c3e1a60c16b810a4b6344b36724c0d80ab5 Mon Sep 17 00:00:00 2001 From: Ivan Mikheykin Date: Wed, 4 Mar 2026 21:05:03 +0300 Subject: [PATCH 1/8] chore(module): add more exceptions for privileged containers Something goes wrong when ModuleConfig/admission-policy-engine has no settings: a lot of errors appear reporting about missing/not set/undefined fields. This commit should fix these additional complains. - vm-route-forge: add more options into securityContext to match admission policies - virtualization-dra: add more rules into SecurityPolicyException - virt-handler: add more rules into SecurityPolicyException Signed-off-by: Ivan Mikheykin --- templates/virtualization-dra/daemonset.yaml | 29 +++++++++++++++++++-- templates/vm-route-forge/daemonset.yaml | 13 +++++++-- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/templates/virtualization-dra/daemonset.yaml b/templates/virtualization-dra/daemonset.yaml index 871c2845f8..1f64cc814d 100644 --- a/templates/virtualization-dra/daemonset.yaml +++ b/templates/virtualization-dra/daemonset.yaml @@ -11,7 +11,7 @@ memory: 25Mi {{- end }} -{{- if eq (include "virtualization-dra.isEnabled" .) "true" }} +{{/* - if eq (include "virtualization-dra.isEnabled" .) "true" */}} {{- if (.Values.global.enabledModules | has "vertical-pod-autoscaler-crd") }} --- @@ -63,6 +63,13 @@ spec: Allow containers to run as root user (non-root disabled). Virtualization DRA component requires root privileges to access kernel-level resources and interact with system calls. + allowPrivilegeEscalation: + allowedValue: true + metadata: + description: | + Allow privilege escalation for the virt-handler container. + Virt-handler component requires privilege escalation to access kernel-level system calls. + privileged: allowedValue: true metadata: @@ -70,6 +77,24 @@ spec: Allow privileged mode for the virtualization-dra DaemonSet. Virtualization DRA component requires privileged access to interact with the KVM subsystem and Linux kernel. + capabilities: + allowedValues: + add: + - SYS_MODULE + # TODO: a simple workaround before specifying proper drop values for all containers. + drop: [] + metadata: + description: | + Allow Virtualization DRA component to have access to load eBPF and manage host route. + + seccompProfile: + # TODO: a simple workaround before specifying proper seccompProfiles for all containers. + allowedValues: + - undefined + metadata: + description: | + Allow empty seccompProfile until specified. + network: hostNetwork: allowedValue: true @@ -238,4 +263,4 @@ spec: - name: var-run hostPath: path: /var/run -{{- end }} +{{/*- end */}} diff --git a/templates/vm-route-forge/daemonset.yaml b/templates/vm-route-forge/daemonset.yaml index 62b08cbc13..99e2fc5ffa 100644 --- a/templates/vm-route-forge/daemonset.yaml +++ b/templates/vm-route-forge/daemonset.yaml @@ -53,12 +53,21 @@ spec: VM route forge component requires root privileges to interact with the host network layer. runAsNonRoot: - allowedValue: false + allowedValues: + - false + - true metadata: description: | Allow containers to run as root user (non-root disabled). VM route forge component requires root privileges to interact with the host network layer. + allowPrivilegeEscalation: + allowedValue: true + metadata: + description: | + Allow privilege escalation for the virt-handler container. + Virt-handler component requires privilege escalation to access kernel-level system calls. + privileged: allowedValue: true metadata: @@ -108,7 +117,7 @@ spec: {{- range .Values.virtualization.internal.moduleConfig.virtualMachineCIDRs }} - --cidr={{ . }} {{- end }} - {{- include "helm_lib_module_container_security_context_privileged_read_only_root_filesystem" . | nindent 10 }} + {{- include "helm_lib_module_container_security_context_pss_restricted_flexible" (dict "ro" true "caps" (list "NET_ADMIN") "uid" 0 "runAsNonRoot" false) | nindent 10 -}} image: {{ include "helm_lib_module_image" (list . "vmRouteForge") }} imagePullPolicy: "IfNotPresent" env: From bceca18e7d7a9f477e0f0c8b5a700ca544f74264 Mon Sep 17 00:00:00 2001 From: Ivan Mikheykin Date: Wed, 4 Mar 2026 21:50:57 +0300 Subject: [PATCH 2/8] ++ update helm lib to 1.71.1 Signed-off-by: Ivan Mikheykin --- .helmignore | 1 + Chart.yaml | 2 +- Taskfile.yaml | 12 ++++++++---- charts/deckhouse_lib_helm-1.55.1.tgz | Bin 26935 -> 0 bytes charts/deckhouse_lib_helm-1.71.1.tgz | Bin 0 -> 36463 bytes requirements.lock | 6 +++--- 6 files changed, 13 insertions(+), 8 deletions(-) delete mode 100644 charts/deckhouse_lib_helm-1.55.1.tgz create mode 100644 charts/deckhouse_lib_helm-1.71.1.tgz diff --git a/.helmignore b/.helmignore index 4bfefaf86a..ca07a68ece 100644 --- a/.helmignore +++ b/.helmignore @@ -6,6 +6,7 @@ images lib Makefile openapi +tools *.md release.yaml werf*.yaml diff --git a/Chart.yaml b/Chart.yaml index 6edc72f1c5..22e1364319 100644 --- a/Chart.yaml +++ b/Chart.yaml @@ -2,5 +2,5 @@ name: virtualization version: 0.0.1 dependencies: - name: deckhouse_lib_helm - version: 1.55.1 + version: 1.71.1 repository: https://deckhouse.github.io/lib-helm diff --git a/Taskfile.yaml b/Taskfile.yaml index e698b063ed..2203096535 100644 --- a/Taskfile.yaml +++ b/Taskfile.yaml @@ -26,7 +26,7 @@ includes: dir: ./src/cli vars: - deckhouse_lib_helm_ver: 1.55.1 + deckhouse_lib_helm_ver: 1.71.1 TRIVY_VERSION: 0.55.0 target: "" VALIDATION_FILES: "tools/validation/{main,messages,diff,no_cyrillic,doc_changes}.go" @@ -102,9 +102,13 @@ tasks: deps: - check-helm cmds: - - helm repo add deckhouse https://deckhouse.github.io/lib-helm - - helm repo update deckhouse - - helm dep update + - | + echo "Add deckhouse Helm repo" + helm repo add deckhouse https://deckhouse.github.io/lib-helm + echo "Update deckhouse Helm repo" + helm repo update deckhouse + echo "Update dependencies" + helm dep update helm-bump-helm-lib: deps: diff --git a/charts/deckhouse_lib_helm-1.55.1.tgz b/charts/deckhouse_lib_helm-1.55.1.tgz deleted file mode 100644 index 73159b8f03a315ecc2a8f65fa75488f44e34298c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26935 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 literal 0 HcmV?d00001 diff --git a/requirements.lock b/requirements.lock index 699cff2720..96dd309c3b 100644 --- a/requirements.lock +++ b/requirements.lock @@ -1,6 +1,6 @@ dependencies: - name: deckhouse_lib_helm repository: https://deckhouse.github.io/lib-helm - version: 1.55.1 -digest: sha256:5bdef3964d2672b8ff290f32e22569bc502e040e4e70274cab1762f27d9982e0 -generated: "2025-05-30T11:27:37.094721+03:00" + version: 1.71.1 +digest: sha256:5682a96d4c6f23060ebdd8365e201daf4f1c41f0d25a5de4aae1f7a3f12045ae +generated: "2026-03-04T17:35:02.982461+03:00" From 4b8074b606582bba36e7dc42dca440e7da6aca5a Mon Sep 17 00:00:00 2001 From: Ivan Mikheykin Date: Wed, 4 Mar 2026 22:05:49 +0300 Subject: [PATCH 3/8] ++ fix yaml Signed-off-by: Ivan Mikheykin --- templates/vm-route-forge/daemonset.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/vm-route-forge/daemonset.yaml b/templates/vm-route-forge/daemonset.yaml index 99e2fc5ffa..6dbc397f1d 100644 --- a/templates/vm-route-forge/daemonset.yaml +++ b/templates/vm-route-forge/daemonset.yaml @@ -117,7 +117,7 @@ spec: {{- range .Values.virtualization.internal.moduleConfig.virtualMachineCIDRs }} - --cidr={{ . }} {{- end }} - {{- include "helm_lib_module_container_security_context_pss_restricted_flexible" (dict "ro" true "caps" (list "NET_ADMIN") "uid" 0 "runAsNonRoot" false) | nindent 10 -}} + {{- include "helm_lib_module_container_security_context_pss_restricted_flexible" (dict "ro" true "caps" (list "NET_ADMIN") "uid" 0 "runAsNonRoot" false) | nindent 10 }} image: {{ include "helm_lib_module_image" (list . "vmRouteForge") }} imagePullPolicy: "IfNotPresent" env: From 04d93dcbd74453fac5fd178d0d5ac1d1eb7526cb Mon Sep 17 00:00:00 2001 From: Ivan Mikheykin Date: Thu, 4 Jun 2026 10:07:17 +0300 Subject: [PATCH 4/8] ++ fix helm-bump-helm-lib task - Add explicit values in securityContext sections in virt-handler containers. - Update lib-helm to 1.72.0 Signed-off-by: Ivan Mikheykin --- .helmignore | 10 ++++++ Chart.yaml | 2 +- Taskfile.yaml | 14 +++++--- charts/deckhouse_lib_helm-1.71.1.tgz | Bin 36463 -> 0 bytes charts/deckhouse_lib_helm-1.72.0.tgz | Bin 0 -> 45558 bytes requirements.lock | 6 ++-- templates/kubevirt/_kubevirt_helpers.tpl | 40 +++++++++++++++++++++++ templates/kubevirt/kubevirt.yaml | 6 ++++ 8 files changed, 70 insertions(+), 8 deletions(-) delete mode 100644 charts/deckhouse_lib_helm-1.71.1.tgz create mode 100644 charts/deckhouse_lib_helm-1.72.0.tgz diff --git a/.helmignore b/.helmignore index ca07a68ece..739ec620d5 100644 --- a/.helmignore +++ b/.helmignore @@ -6,9 +6,19 @@ images lib Makefile openapi +src +test tools *.md release.yaml werf*.yaml NOTES.txt +.dmtlint.yaml +.editorconfig .git +.github +.gocache +.idea +.mirrods +.pi* +.prettierignore diff --git a/Chart.yaml b/Chart.yaml index 22e1364319..795cb09972 100644 --- a/Chart.yaml +++ b/Chart.yaml @@ -2,5 +2,5 @@ name: virtualization version: 0.0.1 dependencies: - name: deckhouse_lib_helm - version: 1.71.1 + version: 1.72.0 repository: https://deckhouse.github.io/lib-helm diff --git a/Taskfile.yaml b/Taskfile.yaml index 2203096535..26729de635 100644 --- a/Taskfile.yaml +++ b/Taskfile.yaml @@ -26,7 +26,7 @@ includes: dir: ./src/cli vars: - deckhouse_lib_helm_ver: 1.71.1 + deckhouse_lib_helm_ver: 1.72.0 TRIVY_VERSION: 0.55.0 target: "" VALIDATION_FILES: "tools/validation/{main,messages,diff,no_cyrillic,doc_changes}.go" @@ -103,19 +103,25 @@ tasks: - check-helm cmds: - | - echo "Add deckhouse Helm repo" + echo -e "Step 1: Add deckhouse Helm repo\n" helm repo add deckhouse https://deckhouse.github.io/lib-helm - echo "Update deckhouse Helm repo" + echo -e "\nStep 2: Update deckhouse Helm repo\n" helm repo update deckhouse - echo "Update dependencies" + echo -e "\nStep 3: Update dependencies\n" helm dep update helm-bump-helm-lib: deps: - check-yq cmds: + - | + lib_helm_ver=$(yq '.dependencies[] | select(.name == "deckhouse_lib_helm").version' Chart.yaml) + echo lib_helm version before update: $lib_helm_ver && echo - yq -i '.dependencies[] |= select(.name == "deckhouse_lib_helm").version = "{{ .deckhouse_lib_helm_ver }}"' Chart.yaml - task: helm-update-subcharts + - | + lib_helm_ver=$(yq '.dependencies[] | select(.name == "deckhouse_lib_helm").version' Chart.yaml) + echo && echo lib_helm version after update: $lib_helm_ver build: deps: diff --git a/charts/deckhouse_lib_helm-1.71.1.tgz b/charts/deckhouse_lib_helm-1.71.1.tgz deleted file mode 100644 index 4aa92c078f05f2303f55e8ed9322963de0e57d0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36463 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 diff --git a/charts/deckhouse_lib_helm-1.72.0.tgz b/charts/deckhouse_lib_helm-1.72.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..bf178e500ce1f149bb181d920ba9993207c6a9ed GIT binary patch literal 45558 zcmV)oK%BoHiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMZ%avV33C_KOQ6xgyHCVkk=CPhkK?r>r$lD2s)QT#~Rb0%gT zJzy2O8^h{C4Ny&~M^?nX!#Pj5Px1wBRk+oqFTBXZiW!St1tb!QL?Qv?B|-7cgv=Nk zrucd|LFsh+cmiqBpTlYThxI&z!C>%mZ%_O?7!2Hh2fI7Ff7sdI9qbQw2Yb8we;DlS zy?VL#2QXMu`;E_x6_Ea6uyR{&=f02!=J*#x87A2QxZQo0AQn@c7vlGiD4l{?fl~$w zG|f|3AdsLD&M^PZz=%+AqWK3*Nis_j>p#oj6deGcv7Qz4936lZUsFiu&u(?IJN;L? z{lT+`ro_MI6PW*ctl9PuCR5D#C=KHjqpTRluwUeh%7vEszw>f;V9)>EomV@9r}=*$ z&!CFgnZYqS0G~bqoWK zLBu5h%VCV7P4M|M_;wrgK7W3unz}?;f+zzq$wqiQg*o_uiwP)O0jd=sTLH&Mz-R@0 znBaHEqX+M`FpNo7ppS*@ zK>rt*&Jf!IeX)RU0aV0J*UvRwz=sKEoO*KHjf0-Po2 zBj|$xs6Lk@Hw*0W0=-`EnI+|Sp55RqIRM9^>9;U{Hbn(YU;z)F0U)J!NtT`@M=yr` zm=@~0Xh?92(XPM+W*I4Z$3IL8r0dd9vS3yN+A>iXJ`}%jId9!fTW=&8wQKo8UK)ajInn*yTOZ)R5iQxbhCG z8fvurT{+tTH6DPJy4eLKks|~x5)n-57jz7 zgjq7=jI;Ox&?5g|?7w{B$p78JtCvsm|301$@}Cd-5Pig~V1|tUBY)lF)BjH)DNj)` zqZtDQogsinV$!l4#dw5K0w`i+Mq>mx5U>$LhI%+-C}X(5w`db!1}MrYVkqOX5N85F zoX%K*Xrn;4u=T~Kcq|#(`}`R!E!Y)w(I}^dEqx8pKk<%=5;>t<{@D=l2%vv}jTB{- zggJ&eyv8XmFk=0qi!&v`*``EVNu(YaL7aj}DC-n)=nP~8#76DNXo<@i{R>c-jS+Yr z!<-}D+A=U&#Un6*>}oa|;g4V=B_9w48#%>UF#^%{*DNxqvbm{C@TN937yw3OmL=+M z4)mHLcw@Grq@wl1?8UPV{5wX4CCIMlf=L$V<#UwGV*iX30H&$<#Q>xTuvyLr5+$3Byk6V0C%$jwd(keT zU<3Wb>_hYmOmPAWoQ+Fm@`9u|o=2PA%f7~0g0pe7X(5Y8?H%m@2pNb<&4HpZW(5`6 zRR88Xp+Md4Y}X?x8f>Xv&8(E6^3{e0blLyAOkl2@;zj$?DT>K;0B3w1oWcS`YDUkua~R*iG5XI0j}a@P z<{i6_PWvudf0uYzi`8$Spm=(erXc#S$b==zo(PPp8l|{As?g|PNc8)%Fw@PLs|{b{ zEr{huTO^%{nqM=nT=C^hQ$*I?^pqiutS04a$dIMWh48#oh5LNnWVj%7?jvhKw6Tpe z0HODAWu4bxsEBIuQzLw?bcIIrL?I6!6M}<|s;Ky@9UD#Tui5t3>_3IBYW3D?%N?}` z+^pZh(_Q{E6wfFw=0iPnotJ`U`M>*e=f#dA|6jb?eeop!@8ele{^um|7-2|f*$}ef zj3GLVXRIL8YK7Pt3qYRE@!4>CQk2eNjjS%w!Udv+sVf>#sG}&Z_vv{{H})C zXkcxFXu!PpVcXk(vF{F>cy}+ObZ@iMAo2Z9(59|Fp20Tf=&GY1%S%i|yAmd6Y)BC+ zD2@x1G;%=8@E_}@TbUqFXADenhNmzU_v4tNgzuCJoQ(xX#AKSMa|x)JAaGe?2&N=K zfXJI1&T$$ma8cVFLgP~3Oq$8Xar|zVezP@fy*GaVb;%QC)+=q zoyexZ2BClwQfzL4i>oVhfNkb`CvNFs3U1Jx9XKERlmGz!=fD3ixF#gs0u;fdN3wJ- zK!fkEz(ykR6EiIVrSv4G` z=p(*PQ3N&;92X#>BvNQZe8BXkE;>JbKRh~ldv+dy=;|+5!}n)zPoqr`&2SR&z1|Lp z>>ib1Op-@_pOzIGwH?ubpHl)34&`OEekU(5e?oK6mt8gPwI~6Hg2~;pd-2s7u13Hv zA&f>GFozze1REDq=im@%#t>t&siss}O3V(Ul$`r=(o{q-CqOfKtZ_35Wr8?#=9G(n zaP>wod6%VgUg3M3A~t6Qno8RuN|aGit#tnMNu5=i%~l=o-UEq)=_HhU% zL$2hC**+YVtCig3GL+(M_Hm8$=M92NtF9UpGK}Pv7sl1;8{W3qzQF>E6>Pqa-B`yi zuU+ufXa#Ej)V^I~NDxGBV$@2WqFa<6fN$8~8)M3T!}54od~@GCb1!UimmKiu2K{aZ zu+kUTGh%d>WjGrfdgxj&`|JOwQ>jnSt76w z3b*xZ;gw1s1vN9hzaQZ{4Rz|o_ugV3et*MTHFMXZt!|L-RN8gx-ns>!H+C&-ao_5V z$%I3`ALcsSLZiH}as$)U;(f6V&ke7ryU}WDdiuy#y0+73eMs@(JR*FCV3I_jv(ucMLTWL-bO9YuBE>TfpbKCthSw*UK*q*%ML?)wP zryhnM%|kNF_A+!(wnmP9M0|OV%=h?M?Dxq-t6IL@g<#tf%w-zNot@k*Pd!cxx@C;z z>h5drLq0z6sp6vR)t%WdJaYSl70L7ks*=mG=0h7cKRunEX8Zpb=2);kC25N2a0)Xx zMsz_huonCOSFgPIFS{=XPxk-!@|d!)X0(UeTVEOP#rf<2?CwvWP0^Il`2pA;yv6oK ze;24z_)*^dh{G1Yh5f;*Eu{DsWr(q1PRX^hy_gh5{sWT7F0hy!fb9u_X)*aHe?e$* z0KOZ1xARQIxPs{kO5ywp#UxAE0od7pmLrPAEvJ05J6IemF0pYtTD;i23sxRdI{~Cx zbcFgb%J2wTfghgBh&7FYeWp{AfwHbxsc~Jg;B(9 z=c;u6l|7tEPh&${ajoF~7Z}abR5+b&Xl-Q^{Lg>?zbd|k@Q)KEL=YQkm{)b<;^g%f z_~qhA>g?C^(q2bL3YbEifl?h2kX*d~R~3?{>fM%xbO8RAeAhDr*U0dG%8l-Cb@&Q+ zepAx1(dn&x8AjO$!FlaMal?6lcDG#rDWR#5AN`L#g3sYW)5!e|RBW%HtzpB{QvFkLu@Ooa|BS2_-Ks3k^Vs7Q*W+-IsuTqiC58o_MdGih0_k|hd4h#dG1~GG(Ynh8*AZ&Ol~x+SCtH=-GIWN|TcAdl*#e$2qa~eg90(1? zSr5C)`BKkWs0&i<>Cywg13QCiJyUJ3)B~6#SmJy{$8}twhZ=n>DC7gqmVken-F5(#&@`$Hfqu8#}D3Gd#ei2?wZ~0Qt zt(jZ1!r~qKMR`qiX^Klj}8F3B6AyVOjV&lXUr=BO(KweaO)y-){BI<8|&lSft1 z#!l@TK^~WCJWsAq#oCj!ssVb93aRo`>^E>W4z}+*;2E!%2pa^pjp4M z+Z;A_C$#2<_b&}Sy3OIwc>)XcmLzq`;#qc)!Wg}ymq-Q?)e9n5M`xn8I3*22e+xez z$=!I9a=bsNRgOR6>1PzBO$(BQ z32voG81z&-hUQ4I9rnn*mOwO1g6be!b7o`}}s?`1bj!t|U7KFjw)Ru6VT zelkbJ-PJDLst+oNfmh1($|?7`nwZ7`+eUf()8V|YMu8@v zhO%ES3FWJLdFpHMMs52`1a?9Y47FTWtzI<s#b3!5YV-2U>SO~0jql3WiHoT zm33X5TlDK{Ic+NDQcT}0;gQg)O>%G41j(0rdh%9=$OpfP7>CiV+6wh@lJsD?8S2F} z5fLT51O~bc-zQaZZDme_;Jzx5-{8|HLsJlxYR+r$Y4Mx_+KV3MxuKS9dZ`9jj$)2j z0qGbOmuRHy{LLQcIn%LwWk0LqX7RGFQ*zTM2ULQcl}s$l+uZ&e_{WSCsgpah0Vo!1jQXv#qDY;TlkVmd{Btgjs=y za3qq#%}dT+c!IsOdk|<#9U~0IEq4SqidmkbstNxDVj=L>wO{~xXv4Zt1I7+D0vj>O zVpw=dh{C(vh1yY)ZjtDF0WoAW({vmnXI~sNML?eCm!X;@|6J4UvQc`JJGVNebu$XOgD5hLn*6UL_4t1GVzwgJP%^4#E-!k=Li1x(PwEE=^fH=)Cnye+Utzvpq4nsf9 zZp|VnyRFekS8hq3iWr5&z3e(#vyQk90!Y{=V{4(MeXbR1)Hx8lvk|mTb&Rs+CGk3_ zT<&U2VA_PteAhBPQ9eOaL}5DQiXa@LVM@kK#^n&#wBi`pKy25iowCWR_Urw(8@yUu6;>)Y8`B}-A*n=KtisX;j%3CIDI-ad?B|5q| z12`K|$O<}(iy1|RrVq6Hf&uTnz87t+rSITauyx^^lodFeAr}Xn=Sfq#DT z|G0<8GqbEw_w{?WOC<=j7Z279k|o=N$20Csj?^#}bypTA)- zUvUq>kMG}KTs8Q8)KjsO}v#2u@x+~X^pskjm ze$PLJifTPF+B`^Vx+VKu<4a<=oP6nSCI7m<9go{i{;$yooF*}(N%X7LEU&PrReY;| zL%?*j!M&kT9B74%&Qb)%C{tK1>=F?v=jbTt81V(T%{+wf&_lWEti$a>EZAG_dc9>Y z*PkDOufp$F z-D=-5pwe&4+8Udtj&!l?{~db`JoyYf`3&5(&pKT_ZIcG z2Gwj-?;FhfCi91e6=qf98fQrlCJ9B19hw$Lb}`Wl)XNDi4z-n%Nr-k6{CYF$HY;G@ zTiIJS%{9x1I`TVXuL&vm+AFegI5_EH{^{q}rO3gA z`cSOadc85e?@3YbOR*{i0v;80J{9Zss@MxM)dTodbl80das3zat$1>xP)~~!Mco~y z>o!qSu7jh*bUMp$3=33cayhy<6RnHGQk;!_FABxcTWa?5GAV%xxP~drVnl5dq%C0= z2~s>l@jOnEa^sLzvz+-TnH3xc$xC}f`yiyeS%d6HWg%nS7szwe>O^7GFlTrH3bQc+ z&*kJ1cdHFkOhc5V`=x=7vylv;b|??T>$Y~*Pw$7|NFS#7ZcY1Qo>vmUWJya~)_AYN zp@w0SX!QM4i8r>=x`k< z@o1#!!hF<;lZ;EocUd}jnA1 z!vv>`1^o_#>WlNTr~EL)vARvPe(q6DH>Z!@6pmIIpY0o2zheJNVpbIP<^(L7Q0+T_ z-%l`Wf@TunA{?|aQ3HG|GyV6 zUhcX1pLX|OJ^BCL$MebaTysWy)$C6}m}|`a6okKY=BL4;ettf+mU8mz)^sP2KA+Zi z?ap@s3kXii7QfI8P7Q8)oTR;qq|5v0J-OoDuPdIuP;EAiuUv3 zS8ChdlzjM|IaE4{hd$t9(hFxFTEWqBP3eaQkKgO93CpK6LTzb;{uNxg9xRp7T2l+% zk2m7)%z}@~!&4`Bp8PA!R`itB`+H zn|+sIZxwQ_`qaU(>O0d+#2?Mu91d@0*JwzuVJz(o4#9r1a9tfaw5euiwYw9CcSNL_xP8K9l1j?el+Wh6*GW3UxxzLmyGxD`i%_ z&qFhml#E$Bl$x#wJ)G{yooRW8rY9$(hjB8p-F^b@mKht$b!2$0ojq_i9v(9_W?FaPwX+^2HqPOswym zH&EugKplKH_-@DQ;L>SEzH>?SU|B|<@_u~Tc|S;&&V`#wCtsycUuxbDEpE7?(c>GC zp4fmqw76+#aylj1P?YqS8{Uh{YZzY$C$r6Zam70xmA;maV0yms)6cI@hnKI9j)xbQ z@BYtUhHuWU-k+Wik4{c5Pp_^vxxgAkF0k9fUGH5=#sy(Tf+!VEpihAab*)WBx9y#ojqR3fqiugFOIuU5P zL)KHpf?n&ySntBV{{7hxe*3-!IQl5qinro#A^0$rKe6H1k=|?Nhx%RO=>c*oRh+8UQhW><{5- zV%v^Z{jGBkz0*dY*1CXsZn*|6c82yCGGdv>Ov{@h^UdFsWLR!xI~yZkkmRkbRT?C( zWRHB`cESe!rS)yV0#KZ8pI4T?wh6BMEK^05WjGb;Z3-)HxJ2S03TLhMXNGT(4C~FC zP?lR1eW18-jaWLGd{|@O!RVvKbYp=)x?Kz}T;eZcEn)QRz#GM&<%C-(c;{!1nSbSH zd=1|C>4Wyg#GG`|BD80$ck-607dWL?o#qS?6N(7y$7E_9+AFqiKX5iyRYNaGzUx(O ztaj>Lbx7DH;4JEX68(2_Ely#D<{?}*lD87w(=5peE_aAMwM>R|RkgC(FZJ>%DyVnY z2vS7FL6JP8tVFgXoiR4Tc)B`@Me_q-zA92CO`9qZIFmbxs~epEf+!x%Ehq8`$p}^F z-sXE2Q<$Uoc#6oZsFC>z1Wss#7 z1QdstK^OC7uT@GZaODFKg0o@{kp|k4sMP|Y9jHDnpCj@2{B-gE)OwaYpywOFe-0^0 z5$os)+U);1*x%dTcl{(RzTw?y^m}yy^I7QBpE|v;bWnVrVUJ_fD5?a zWvqZ%jKpo>r8d5HS~<~^wk)pvnM!MI(fpV~;Zda=yo5gQw;015Up9N}mAivbrd+E{ z*0IrQiQ!{*DRj^-P6={P0`r{nQR&Db#@!%pQ+p*wzy`}U z?QL4IIZGRvtAgf>VI^7x8qg@HEU7p!0-YEKQl3A5gIv)`Ol?j4&w{!Fw#(nE}*E1e8c--34dG;lhe77U*%8({9qRxSsx8;s7`R<^q zbs!9-Oiug!S$tk@7wB#6#C$$@)+QX?B-k_OAX93ZVLp=)k`TRCCC8``|8gwE zA0N2lT3Wx^jK#;oMZ^}eI&NkEV^0o=i`%CvI*$iiVcrkKeCmd=aR%sa5GuwN1*(04 zeP;OZtY%J$1z1jdML<>WOW?iIq>Y12k@aUxQofzSBzvYp9mSJp@_s1cl^!vJ261g* zOlZ6BSsHbuNx3jaex97(H8NAwm%Kv{aPnWwKhNTsQ z41=od8b&ZpuVH*s?fRlWQuv`V_Uv&P`=VHDQ4{X20qCc)9AIb)vjWFl*z)Ds zfhg#7g2#vnDnxdoKWQQR8nQB9VBoSrjtD#BkXT<=>Wj;;5*Vi@o%5{~SJOLl0r+;i zvPd7*VGzFVQ1E*d{K!1Sw7Yi*{!VZPqU~~lw?0RzlTjG#rUh7)_`WP4>C39o>O{#z z)rvfL5%^7SW~CjI*?K&q6lKL*oDszzh0i#B`Pr;j6?qH)-dI(9HmYua3(g8e`9zU3 z)x;nnA2L4dg9EP10Wumf%>V-tF4ic##rNGAh+!JfWY`A&R_T@C&<5PouoR0}T8R2| za0q5ufm5)-yRre3#G%iQdA)BK6j<}ZG5vdPVWr5l!DiPEY=y+8S3h<|gJivm^IYi> zeNX65-(CH18u`OyVdJ-zlv7)AUM+JvXjL2*MV{U7s08fUE?AU143!I7IMfBPEjjFa zCB8+%YCa{M09#_`5}HhOARsuA5$<(42CNeTHFCukhe5h6BmgB9qIMSb$jLc1FrxgEj<@hN z`%e*X!IJlWr6zM3t%1Oz;LK%(JJ3N7cZ{HiyZc7aLpSoE*rW<3UJVXK4F7XQ7;K)! ztAfa2&L*TNR)nL?>x6s!N|21)jV)lT;FMj%G+LXg1>!RX)z~nkRt5H1)5&pF+qAB6 z!j`uB8?dPA*PTrtw zTuj1Mjqm=b1dw+>)ncwF9{}NesfA$BJOCx|wH8v$a2199N2p_BlzbofT)}eERhZ|b zW<5W!N=dR#6*@IoR@S-118vx4LSU|xgslT%d~e1=hs9~aqH^o21!IJIX@X=KX14&V z0=~3EG(Fhr!CoA-Lc2I>0dhfTJ5sVx9iS@4P8f#i#~R>$BWF(S1Te}NGfLRNHNm|& zJ86W;zZ>ubmzw}B9}i9h6Po|A0`>3T4Zf>`qlER9w4bbn=oG79@7DoVp>s}93g>Om zLuJEFU@wwV88R;5r>u^oSV5-ehBLc03jWs+XBlq&Vb(GW7&FpsY1OdtTI#@K&zJqd)2w3o9jz!TKICUX)YPSx9Lz>9_rU^(@O_yBQAtK4>JH8 zN<^vaEqeh``BugZpMES5<2D!WaloN=n33TK;?(P|i@e>jO53^{0$)`Pv=P}ltynKM zZ%oiFc!*d`?kuzqJ-_r|Wlh-;))30bJ^NTHep#eqHA(yYHAXOt&a#UX#^@c@v5uk@ z1DBb{kJ_D}E?ikj*P0{CfVX2y6f>DSVlXXVSSN8|gtcVvjBV(Y_AXG>6VN$;Qc(Sl zsB)eA5jfzzt8O^gF}zpy!B}mlWUM`QEtiZrQ&7rVZGfAd59zTVsHE2LTrEf0^wXba7{C zKQvA@Z!r#qSbX%fa!BRnAr74$HsDeP&lr+yDC2w&b%ezs%#xuF*eFt|PhfCH?SjA! zbQSk;r#)(;#qr^&kh_l|xMNA^2S|IZG0?5rX43j?SzBY%+!fC}1CIcqU}FNAI>%Su z_oX*iO~QhWZb#8(@I616r9xoA#?3y-^75pl7f(=p!)8YKmW+op_^# z{?P!}JckBeEX(KSS)dab+UrbRK+|sFOhcytZ+N(m{Va1?>=lwBgSY*ULSl|%7aV}|uY)EEWUh@Md&JJmQB3GYtU5y((U zOG=a(NW@SalWBfI$q4fT{Ox9k$g18!p(mdFV5?EDr{aGcIv}(O!spMCUH(MUQl%7C3gCTXz3@|xyFdvf#C z)4Q2+6zazHgD_0#6%&eJ!rWP`%~s4=Y(?eNqRtP#sX||F#|-oT_Zf+AylNNkPKJEo z-Fkk=&bok|jZq;=>t^wj*NzW&#^*fMS9j_y6MV0}w_Oh`W4)y&DkZYE$%;I9rv8sNO zYRgD9W|HzrnmtLgR%zDFD4~NeYmjk4(*t9S#OE(S!kMOV-2|L7haZ;=+0n(DF2dam zI?Z9-AZVm$rp!TmSg*urLEhdE8jf4ydRF(M> z#E@$@ySTCya6NlcxK`dq2HeL?ss=bR;63Y}_vzB!S$P{6yJ2U-Jn4b!(F1=^GPtv~ zvv!Mu}I?T(aB0uR=h=U)A zs1C5XA+`Oe6b&N#k!*cK4)*eC+WtDV7TjkpmH#f3=}>0bsT2H0QSAFH2kM19n=LSf zwK4`EcuVKARQq0?DS>D1xdd~q5Mh3AR`pO49v2djC{xdMUasU++GQJ_l@T)e_U~`o#WepLNH7&9aq}wdq%rl?QtO-Ux(2?t(j7Ip>=x6!reEfl zHJsTzozARj5$x=fQ?mkw2hYup9vCiFq{*_?Xvz#Bw?GE=PgN93>$7myuLIP3a7HkQ zW~1Gip>5IuKPzQ}Ktj{Jn4e&J06v-HclVNLRXG%rLN%SSY11x&77;!Rm}_fY@d12Q zTt79-RpoXEruhVFpS7znW^47ul8z0ZO8=IQ>a$}lz0qO6xCu5gRO4Hq!pv-10(og{ z1Q0!}$FkeDZo1GOq0;F~XDaC$`HS2_8+OpH0~G)XVllI_tf^^H33C&>A#Bfl{dl1vN%3IcLOM}$^!rlq%zNZBMaVG7rnVgd`0A(SWyVF2K} z?@BIjDVdA2F-XuYjxC6MHc4>@QanQOJWi3`pvhjuFo)MT#RaY;qDf2B)htO&iQfZP zf4LeSoxD9eUzXG*fC`QI3iJ+wGe~ZXM>F-=ES>nxnGZ*oL5~;Mubb$FM+hn0zh<`p8)}9~48hsy%{5l=9KWS$exkLG~`5%384wj%0W~fgTiq_yKsd_?frN@ zflN>t784_!qZ7ZaqfTz@@@`2g_I8~#dBfXCobC(PVpq=(AbKbdH0zw%TBS<}ruc5{ z(TaKAs+{zI#(Ndk6a7}xjkmfY*BRg>GfBSV!kB+n+*0atLbRi#!$MGIDOE`!9T9@3 zc`EA2G-uV6g~gE_q>u|{oI*(0O+Q){jtK&D&sSI zBg0orUkSpB#@X zcCfuY#>HfI-H*w1yNWv4iy7WVDnw$>fVO>|lIv~h`Mxbf${5wQMV81poTf$`9y2Xu z=Zup6P$b_Sc$7bg89u0}cM!t(Zbv7O84~<8ihi|{DT2R7Iqx+qP*$h~O%##262V`i zF)E@h5OEavzao(*|3k(9+X9hH1{wXjcvEo-@w8)mG7e#vR%CdTE?_-iN=~WK4uF>5 zMRbWygzA7Ux<#3bZ3DFx9kxJ}*YrW{8TxIVQNyi@H}qy*O^8!budmH5wKNbjoRMT* zL(v`7SKz2zU}Yz(Z5!i@BH>H9Qu{A6g84Ph5}b{HfAX2luK$kWLWt<#n!ngePf3cDwUxiPt$`AH z{2Qom4B)CuYB!u7RQplu>sLT%?Ic5hjKqW<5w3yry`W6=&lTY6+=oygY`>YUIzxsM zK(c3Ffe(CY^SOxR`QzVw({8?l{aYWLmOvpzAVE1ru{b-#85qG^LODinL}T6z4y;2O zT5ztGE0LbGYSp(^B(+L;lD0fksfOKeUs7cajei9$xMUMogXQtkm6TY=Dk6rUm?@*h z6(b)rK7#q|I>l_l#m-lphI;#=<7oh#jR>8p{m9}=mR2JqIJ~&Z|#(YxnvQ;EU zaEl?==nGh&(JZ|}1=uL*&2(bc3zBS#Q@1K2CfG1b@WCXBC?axoUdnim99%)b2+Q|I z_00~Po|7a%agS?Zo-@C)jwl(_Fn@JK;2IXMFF+FB^-5+fVe4D1jP2*Muc{Cn*4xE* zq#Di_vK=)dk9@g%(e^#j9d0A;LKj{~pS*UrrMbP`eEyhp@B3lKN3VDrWOy7}w}H@O zP`MveyS%pr{;?4KQLOF@PKjy}fA&=wgT{Qf_`0s3d?Cwv6?f;$UDa#Wy)_;ycYz(; zD=Y;mh-LGleD`O^k73!r7iN9*tA0g=$Fb;F_&lxo_qFCf5}H4XC4aH`VC~w?fG8_& z=M7LTOFyToS(@Y8b6!3M)xeGx^9a;~bzgukaU;C88_wk~hSz$hT2ZV0c%hPf>%CCc zm<2VQN2-b3+uV5c+K5ew$DxtfI6Y}4_obCQBDy~c&1CVpVHg?y;dlI$4whoT`N(hU zq-Shf*g$3^LH#06mv3V*7z|$S?TLQ}gMst!i&umF7k}8<-yQ4^b_aXA`+pehyxQN{ z{{tATv!iv-j1`dnVX$&rZs)#`$25HvDT<`A(@-Ugf|djR=g-eXmdl;p=`)?(a(DkN ze&#w4TM(B4(7~ctz@EYkj}R*i>7>%#Z+5ZobzxMVAUf25$jP0ckDw0*hReTd#QeNt z)GnQkjr9BFJ0rh87oIXBQ&pG$F7tuw%GJx?Dhrgz|7sYhm@ws_e*gcSoSQ(6w;`y; z=NhnfdL$FH^Tp`0S--M#KPL(L<>JT$;eV{FC}Ppn)~w>&1geTaI<-}+cswC=D+i$( zlugHsS^&yxq6LcSTM+>D#tcToj;BdIJillK)Q_fPfT;r~ z0HFf)0E1yjf~0eUgZKeCtcsy{BA@DW`URWx5(CO{lB9c6x;UDn2LUsIe6RqD(tfYPStEVx)0m)5{eu8)*1gR`-*ot68yUlcGt z%}P*@F`>3l)B^ikmHW1Ubc~8JdZyX^NTmsv@mN(tafqfQyF!I{SJy>(hM;o8ijwlp zTausy5S?WgDU8uOs#9V|#?ggYs|=MWUSd=mjL_1xYSpv_lF<7(`Z*nYasu?qZARyG z{jHmnWi$8h`jYTCl!jqIsm!Cy}r;P9N z`64pD`zqE`uJ?9@wIT3Zjn=yM{O%8yU|VO0uORdGj=Z;^JhV8OQJjsh;t5J-Tuhve zGg7`j{fOe3;D5_|K6AII_UE1yDyJWFiloDa8#TM99Oel<0B4!=5r7*sKM;-Bvy+Q6 zuk5W8VWVo|m~-K&j_6od-~!Pp%urU;6_A>x_tgyuSFeXU@f#%Q2B?83{&ng|;GDp% z)L0|HUORhXI8AflUnkYRP|!N%*cevL1e6eCQ7kS?&Z`XHr8?7cwrCKy z4C;2^gd1uF5?YD|3u%K5NBA1KnjrhZSoklD0_bC<N_mhso#aEE;af+l8;}x?PB6}3o5yC7h@D!cM!)c>HC@!yj z5=wGk?LT_+#uNMD`ygjvoT$E`xW2*pV=Ro-RdCHJ7#1llnMcYZOKc12Odp{+HgdeQ6X30^5mayVAfAbO2uU}wP-zOJy; z5+Or$H&jZ{tv8R`F6S*aYAD>y&Ow4dbpD5jTAUVMi)w{WD6dA-{d@O}2~}%Pi9nW0 z1Y#QuskF1M5s|aKv%jC0HyCa8nu8!3dP7Zil3Lx;jq3_3vF+}P)Q(82T=Q*H2n%)O zM5iNhS`SIq?hSWtCLmH5=w9=tuO5ka^jO?udM9h1sBS>Ul-qtc8 `yeej?r;IAg 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 Date: Thu, 4 Jun 2026 12:01:42 +0300 Subject: [PATCH 5/8] ++ Signed-off-by: Ivan Mikheykin --- Taskfile.yaml | 6 ++++++ templates/vm-route-forge/daemonset.yaml | 1 - 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Taskfile.yaml b/Taskfile.yaml index 26729de635..0210a7b4d1 100644 --- a/Taskfile.yaml +++ b/Taskfile.yaml @@ -123,6 +123,12 @@ tasks: lib_helm_ver=$(yq '.dependencies[] | select(.name == "deckhouse_lib_helm").version' Chart.yaml) echo && echo lib_helm version after update: $lib_helm_ver + helm-render: + deps: + - check-helm + cmds: + - helm template virtualization . -f tools/kubeconform/fixtures/module-values.yaml --debug --devel > helm-template-render.yaml + build: deps: - check-werf diff --git a/templates/vm-route-forge/daemonset.yaml b/templates/vm-route-forge/daemonset.yaml index 6dbc397f1d..7eeb524804 100644 --- a/templates/vm-route-forge/daemonset.yaml +++ b/templates/vm-route-forge/daemonset.yaml @@ -168,5 +168,4 @@ spec: periodSeconds: 1 failureThreshold: 3 {{- end }} - {{- end }} From b2385be4e5243977205627dd8d9fa8dc4e910a19 Mon Sep 17 00:00:00 2001 From: Ivan Mikheykin Date: Thu, 4 Jun 2026 17:54:08 +0300 Subject: [PATCH 6/8] ++ Signed-off-by: Ivan Mikheykin --- templates/vm-route-forge/daemonset.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/templates/vm-route-forge/daemonset.yaml b/templates/vm-route-forge/daemonset.yaml index 7eeb524804..23f859f2ee 100644 --- a/templates/vm-route-forge/daemonset.yaml +++ b/templates/vm-route-forge/daemonset.yaml @@ -53,9 +53,7 @@ spec: VM route forge component requires root privileges to interact with the host network layer. runAsNonRoot: - allowedValues: - - false - - true + allowedValue: false metadata: description: | Allow containers to run as root user (non-root disabled). From 7ec87cefd92d4400600be747f43d85ff045fdcdc Mon Sep 17 00:00:00 2001 From: Ivan Mikheykin Date: Fri, 5 Jun 2026 08:25:13 +0300 Subject: [PATCH 7/8] ++ split SecurityPolicyException for virt-handler in 2: one for main virt-handler container, one for node-labeller init container. ++ add capabilities and hostPorts for vm-route-forge Signed-off-by: Ivan Mikheykin --- templates/kubevirt/kubevirt.yaml | 11 ++- .../security-policy-exception.yaml | 84 ++++++++++++++++++- templates/namespace.yaml | 2 + templates/vm-route-forge/daemonset.yaml | 27 +++++- 4 files changed, 117 insertions(+), 7 deletions(-) diff --git a/templates/kubevirt/kubevirt.yaml b/templates/kubevirt/kubevirt.yaml index a75cd872bd..2847af76f5 100644 --- a/templates/kubevirt/kubevirt.yaml +++ b/templates/kubevirt/kubevirt.yaml @@ -290,10 +290,17 @@ env: type: strategic patch: '{"spec":{"template":{"spec":{"containers":[ {"name":"virt-controller","env":{{ include "virt-controller-additional-envs" . | fromYaml | pluck "env" | first | toJson }} } ]}}}}' - # Label for SecurityPolicyException +# Labels to link with SecurityPolicyExceptions. +{{ define "security-policy-exception-link-labels" }} +labels: + # main container. + security.deckhouse.io/security-policy-exception/virt-handler: virt-handler-ds-virt-handler-container + # node-labeller container + security.deckhouse.io/security-policy-exception/virt-launcher: virt-handler-ds-virt-launcher-container +{{ end }} - resourceName: virt-handler resourceType: DaemonSet - patch: '{"spec":{"template":{"metadata":{"labels":{"security.deckhouse.io/security-policy-exception": "virt-handler-ds"}}}}}' + patch: '{"spec":{"template":{"metadata": {{ include "security-policy-exception-link-labels" . | fromYaml | toJson }} }}}' type: strategic # Explicit values in securityContext for containers to support SecurityPolicyException. diff --git a/templates/kubevirt/virt-handler/security-policy-exception.yaml b/templates/kubevirt/virt-handler/security-policy-exception.yaml index b5cfff59e2..daa97f7e77 100644 --- a/templates/kubevirt/virt-handler/security-policy-exception.yaml +++ b/templates/kubevirt/virt-handler/security-policy-exception.yaml @@ -3,7 +3,7 @@ apiVersion: deckhouse.io/v1alpha1 kind: SecurityPolicyException metadata: - name: virt-handler-ds + name: virt-handler-ds-virt-handler-container namespace: d8-{{ .Chart.Name }} {{- include "helm_lib_module_labels" (list . (dict "app" .Chart.Name)) | nindent 2 }} spec: @@ -44,11 +44,26 @@ spec: description: | Virt-handler component needs hostNetwork to manipulate node route tables to allow traffic between virtual machines. + hostPorts: + - port: 4100 + protocol: TCP + metadata: + description: | + Allow hostPort 4100 for metrics and health check service. + Virt-handler component requires hostNetwork and metrics and health check service should be accessible via hostPort. + - port: 4101 + protocol: TCP + metadata: + description: | + Allow hostPort 4101 for console service. + Virt-handler component requires hostNetwork and console service should be accessible via hostPort. + hostPID: allowedValue: true metadata: description: Virt-handler component needs access to host PID. + # Allow mounting host directories. volumes: types: @@ -71,11 +86,16 @@ spec: metadata: description: | Allow read-write access to /var/lib/kubelet/pods hostPath volume. - - path: /var/lib/kubevirt-node-labeller + - path: /var/run/cilium + readOnly: false + metadata: + description: | + Allow read-write access to /var/run/cilium hostPath volume. + - path: /var/run/d8-virtualization/node-labeller readOnly: false metadata: description: | - Allow read-write access to /var/lib/kubevirt-node-labeller hostPath volume. + Allow read-write access to /var/run/d8-virtualization/node-labeller hostPath volume. - path: /var/run/kubevirt readOnly: false metadata: @@ -92,4 +112,62 @@ spec: description: | Allow read-write access to /var/run/kubevirt-private hostPath volume. +--- +# SecurityPolicyException for node-labeller (it is named as virt-launcher container). +apiVersion: deckhouse.io/v1alpha1 +kind: SecurityPolicyException +metadata: + name: virt-handler-ds-virt-launcher-container + namespace: d8-{{ .Chart.Name }} + {{- include "helm_lib_module_labels" (list . (dict "app" .Chart.Name)) | nindent 2 }} +spec: + securityContext: + runAsUser: + allowedValues: + - 0 + metadata: + description: | + Allow virt-handler container to run as root user (UID 0). + Virt-handler component requires root privileges to properly communicate with the KVM subsystem. + + runAsNonRoot: + allowedValue: false + metadata: + description: | + Allow containers to run as root user (non-root disabled). + Virt-handler component requires root privileges to access kernel-level resources and interact with system calls. + + allowPrivilegeEscalation: + allowedValue: true + metadata: + description: | + Allow privilege escalation for the virt-handler container. + Virt-handler component requires privilege escalation to access kernel-level system calls. + + privileged: + allowedValue: true + metadata: + description: | + Allow privileged mode for the virt-handler. + Virt-handler component requires privileged access to interact with the KVM subsystem and Linux kernel. + + + # Allow mounting host directories. + volumes: + types: + allowedValues: + - hostPath + metadata: + description: | + Allow hostPath volume type for node-labeller. + node-labeller container of the virt-handler DaemonSet requires access to host filesystem to share virsh capabilities with the main virt-handler container. + + hostPath: + allowedValues: + - path: /var/lib/d8-virtualization/node-labeller + readOnly: false + metadata: + description: | + Allow read-write access to /var/run/d8-virtualization/node-labeller hostPath volume. + {{- end }} diff --git a/templates/namespace.yaml b/templates/namespace.yaml index dc19617aa3..9022b71f74 100644 --- a/templates/namespace.yaml +++ b/templates/namespace.yaml @@ -4,6 +4,8 @@ d8-{{ .Chart.Name }} {{- define "namespace.labels" }} prometheus.deckhouse.io/rules-watcher-enabled: "true" +security.deckhouse.io/pod-policy: "restricted" +security.deckhouse.io/enable-security-policy-check: "true" {{- end }} {{/* add these labels back to namespace.labels when fix templates for privileged Pods */}} diff --git a/templates/vm-route-forge/daemonset.yaml b/templates/vm-route-forge/daemonset.yaml index 23f859f2ee..997115f986 100644 --- a/templates/vm-route-forge/daemonset.yaml +++ b/templates/vm-route-forge/daemonset.yaml @@ -63,8 +63,8 @@ spec: allowedValue: true metadata: description: | - Allow privilege escalation for the virt-handler container. - Virt-handler component requires privilege escalation to access kernel-level system calls. + Allow privilege escalation. + VM route forge component requires privileges escalation to interact with the host network layer. privileged: allowedValue: true @@ -73,6 +73,16 @@ spec: Allow privileged mode. VM route forge component requires privileged access to interact with the host network layer. + capabilities: + allowedValues: + add: + - NET_ADMIN + drop: + - ALL + description: | + Allow NET_ADMIN capability. + VM route forge component requires NET_ADMIN capability to interact with the host network layer. + network: hostNetwork: allowedValue: true @@ -80,6 +90,19 @@ spec: description: | VM route forge component needs hostNetwork to manipulate node route tables to allow traffic between virtual machines. + hostPorts: + - port: 4105 + protocol: TCP + metadata: + description: | + Allow hostPort 4105 for health check service. + VM route forge component requires hostNetwork and health check service should be accessible via hostPort. + - port: 4106 + protocol: TCP + metadata: + description: | + Allow hostPort 4106 for pprof service. + VM route forge component requires hostNetwork and pprof service should be accessible via hostPort. {{- end }} --- From 7bafc9ca5350d924ba6037ef57ac79368b762e50 Mon Sep 17 00:00:00 2001 From: Ivan Mikheykin Date: Fri, 5 Jun 2026 08:43:30 +0300 Subject: [PATCH 8/8] ++ fix description field Signed-off-by: Ivan Mikheykin --- templates/vm-route-forge/daemonset.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/templates/vm-route-forge/daemonset.yaml b/templates/vm-route-forge/daemonset.yaml index 997115f986..78e469e0fb 100644 --- a/templates/vm-route-forge/daemonset.yaml +++ b/templates/vm-route-forge/daemonset.yaml @@ -79,9 +79,10 @@ spec: - NET_ADMIN drop: - ALL - description: | - Allow NET_ADMIN capability. - VM route forge component requires NET_ADMIN capability to interact with the host network layer. + metadata: + description: | + Allow NET_ADMIN capability. + VM route forge component requires NET_ADMIN capability to interact with the host network layer. network: hostNetwork: