From aae45103a2f24d25718957cf4a3ad391d45a0cf7 Mon Sep 17 00:00:00 2001 From: Youcef Guichi <44117431+YoucefGuichi@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:55:34 +0200 Subject: [PATCH] Add ignoreLimits flag to container resources (#74) --- charts/cron-job/charts/common-0.3.0.tgz | Bin 2094 -> 2093 bytes charts/onechart/charts/common-0.3.0.tgz | Bin 2094 -> 2093 bytes charts/onechart/templates/deployment.yaml | 7 ++++- .../tests/deployment_resources_test.yaml | 24 +++++++++++++++++- charts/onechart/values.schema.json | 10 ++++++++ 5 files changed, 39 insertions(+), 2 deletions(-) diff --git a/charts/cron-job/charts/common-0.3.0.tgz b/charts/cron-job/charts/common-0.3.0.tgz index a94f273ece31f045aa37b3db9d5ef77474b59066..180dbb0319e6817fa986f479c9758be86d47e126 100644 GIT binary patch delta 2056 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 delta 2057 zcmV+k2=@1_5UvoAJb(Re+c*;M-+GEUC;O3HEX%QD0|xp>k#6@6cWr}Yk>Y>=1uczj zZYWA6DW};ahkJ*6!+VkgsSoSRcHFv7v(Nx_L~6(xNu1w&kaYv!4|wNvMuf6&iO*ha zpB%?=2K~PI>o`vNuhZ=xzv%Y+ednY<7!HOnobGXdID7%lH-FHjLXlKNyl}o+R{7zc z36YRqqL4J;BbXms9!gixP?`2C_!}}GT)j465(xN5G)BQup|m*haRl+|vD9sdBVcqa zh`6=p>3ojevmNWHpRl1-l-R#QKV(Fq?0j?sKA}^egj<7yb@qQUI4Rlx$w|Ml|DDj? zT^l@{P>#@w*MEY&SO6+yEoeVHSelDYz`i6bLTS&5knr$e6~LowT~qFj;M5F%OG3*> zMLeR&$O4G*;_eR8m6nMU!8nrY9r3XR_Bk>n5^deo65@d}ByK#qz+k##E=I=4q!t8V zl;tjqJcQN^ncp@DX2(1&u;Cs!_UDAb=w;=hwE)8c z4-ZBs!*~y$qCgpK^hC(LC71ejKJ`b>QH}jaQU(4S%J6hcNU+xayTg+G4^MiH{qKb8 z?7wCK6p$dclFTjw7WtT&Mhp}a$}qLzZvYed>B|tYUyl)~1Pvm&;Ul=uK*RK(23%=m zC}BkMY=5ya13UxEejHWpANl-^2>f%LY%2g*WB=Xmpj-C;gZ`kg|6Ndx{pS`yIRFR* z{G9&F`^AGrQ=%(S{ldwZp?7cqi+;k;yD)cUzFT*sww#C_!H>z+vd9CV4Q`4c=QxQy z{}+cDC2P(JEIdvsIqs|zo5dY9Quj9&yMVY=GJosGteQLbCDu>>Rd2F-`P2)(p#oL$ zUpv8gaqI~HofBtJ!T&+O!T()Q4gTjAz>2VM!DTR{-EJp=UEEm?`r;DN`;dH!us-4o z1?6f2tsi9j2U$T&n}12Tw=}1ddGxE#=f;CRa`)LKbQ@CD{%6QS6jFctEy-AG|Hu8Z z{eL^dCjQ$A-Q9H#VNU%KNK~MWT3hN%U%wW2h9fxa=(af@YBbiz_zYF7A!Y5qDwGGndrAh$a*I+3-By5T|PY;oRNwM$o$a zujiEQzu#;8|8A(pWb^`fT)ihrEO?+yN@(L}Di!6^Q%0x{_AHR9c7ZvM7m#bN3bJfg*|q zJc&HWqGM6JR>8lB&ng2-1*t+k%90_vdIsXUDCOJ0!(_s?$q*OaaIZf%iI{@cITG)K zpbFn}7h6Sbr3wU@>X#%FUGqKfvVYvO%9jH|$UH!zjlfS4N+r`IGZ~#sMgJ(M*Zq~2 zk+nYjdTJYb&Q!(!xIFM?i&@}W{O^|Wf2eOa_`d_H!T-tvSm6xHyz-l1_?RkAd}_Oa z- zi7Zo{m<(0BO!-^zHi)>2Wygu?BvpC@_w58m%?qE{NwB?e6oYhN%+fi`^V|BXN&8n+ zi?POA*N!*wbqU;4(1_ne{^b`6h>uR}(@|@`!=Ek-e>z%*|J$qpuHF9`_Dc9aICgps z{_ld8;(rP_E!6|Wn(er{C7|2V%l zafjT_A%J!GKkSzGe+I*olLr5HK{fbaUI33e1P~X63g-YynL+L>KyL47(V5nRO36fC zn-Tn&Z$7>_H6!v&psChUPF1@Vhn)xM?)PFZJs*wwT8a*d<6EH)j(;=!P0A$E_$=3* zG?RKp@m_5iL*J-tJ|fH7hTa>g4M_=yc<(v89f9_1Wo%!$NB9ghUa|gK!ZTQ73m-4z6uhiz1lDm}~!KMu9)bVJ`A z=abp~NOq)eGsO!^e}!M(i8dSi+?86@%WYE7C6xGodxp%XQ-2-^+`f#p=YM+T|NnJ7 z>>fA%e;2d|XGAF!T!IQ9UIB13Lk{DJGLP~pgv7ljQesLFVeC@5&Vv>vTW)h n>BQ_J_}#MS(hWT9H1N_;Lk)e;^#1?=0RR7@3<$aaLIMB)OBo0n diff --git a/charts/onechart/charts/common-0.3.0.tgz b/charts/onechart/charts/common-0.3.0.tgz index a94f273ece31f045aa37b3db9d5ef77474b59066..e95879947767c8025f6c619a478a146c3d74a1d9 100644 GIT binary patch delta 2031 zcmV-Z&13rdD&+<^Zf`-bpU%}sy`QYlc z0npV8I`c`mH8@yj|HIL+WdFlqud)A~(Cuv-Je*RF(2CcBy<7k)WG!gl-&>lCPQkt) zEJA57h>&o9Zxz6!Yh6+9jp4)$e@jBkM@2lM$k+mZi1Fg~7SffLi4(yjlIk7tu?6-S zG9(gh-P97|fifg+Ji5SOx??UzCdi}~1YnfqE{i;b)*PANHV9_NJT0){4mjl=as>lD zJl0VU6NJwY_OI~f2=*6*!T4q6p|t?R0{8buC&PFLpQ1n+ZS+LQy%m@Gbw2e+&ryy2 zM^XiU{u|2hWJ^e}*8aQ4CHp@fb{qTO3Dwzu%>pPOL2MCG=|2g$(#TN4h~(K~V+MEzmi;)Y+CTEe8xi3aF{g?NP2g{~JSD^ZZlLFyOTxXCIi1X-Uwu9| z84ZxT&n}_ckgE1SM;4-x`rB_w##;OD4a)ZK44e3GCvn@#61+!4FtkZAAbVdy8K|+31cvc6kJ|| zZ5cIdz$_oE#6SiDXZZOHLq=SD#Tc|MFF*XX1va$WEw}>_-+|W0R?@?QYZP#Q2TDZT zg;C#JQvW=fPU&aE^L#^`s{Mxxcgq_=>+-+8Q?~y>zw!UOp&FCX3*d3}o+Pp0fifwf zji0Ghl+R8Wp+4C2K&n%s=DC84jee+ZUei2tn#LWZQ|{*wX8dx)oJt2GwFReB-6Iup zbzz>sDEYWhB&W}&amcbH7B1X>SDXimC>ro2@*vBOW$ju8{~|uC3@8<(3iT*UhUn@U zi0h)1ZvzjL3EL(^Tz12q{@f&D3R-7KybppZe9v8M6}6Qr5M-ubl1y~X_q@w;&njOI z2qE(Ti8ca1MJSa_lgwmvG8O%!pkDV^T1M9T@aw5<=s8mr|Ksw&n=NL4fot)Z%)l1|!r zMO_w2g`#~;Jsd+zi3nR6P9t~4O{ma&oo!2Gnd;PJsM=-9--5S6#8oUiPE@C<(qp)5 zCopPW_|#5Y@M*Jr7FTYSgd~{-; zj#~R2{&ZRR)6pvY-)04H?f%bkzl{IgQMbYWUC>JWFJu2QG+ecfur* zUhbvmqfuW=(IIhsE7ZYphQCRfB$}M&x|3#7&nVujEo0~#br72B+jU6#)Akr{bC$;>#@ywdiF8T?ZGKg3I&&-0*F@tT+fliB%;it zdnGf^_JHHe z6w%=4&?IE&!8KKL_{)I}I@E=Ln~_>2?J0m!j<#jLKL2>G0)f^ZoR}pG7boZ7Q6VjR zMpeiBjn%j8$seL){-z!CSx5g#n{vTB%ZVn$y^2CobM{GEhqk;9twVc4uB<~_`T9B# zbY>m?+uDN*B4`jv`1|W$q-BR9_#Itk+0;YQiP=T)yJat=8+h1h;H9C48v35;{{a91 N|NkR1>16;y0087n1IYjY delta 2032 zcmVo`vNuhZ=xzv%Y+ednY< z7!HOnobGXdID7%lH_)X*kyJ#yaK2hr`Qe@kk&s@ZkTl>Um>*jnN>|WOnf5FA8!{hU zy*6MH2>3@de@4Mkp|m*haRl+|vD9sdBVcqah`6=p>3ojevmNWHpRl1-l-R#QKV(Fq z?0j?sKA}^egj<7yb@qQUI4Rlx$w|Ml|DDj?T^l@{P>#@w*MhxR04iiHXg@qynu|`r zz9cL{Y0rs}@bF+2z@uwjQ|^u6)C_-1Ld!=*Jfg_Re*%c{;_eR8m6nMU!8nrY9r3XR z_Bk>n5^deo65@d}ByK#qz+k##E=I=4q!t8Vl;tjqJcQN^ncp@DX2(1&u;Cs!B|tYUyl)~1Pvm&;Ul=uK*RK(23%=mC}BkMY_Tx|JOj&q998Wf`TUIt{BxXa zD*#wy|K0AOTlW8h{-Ck{T~Lkv=N3RY00;#9f1Liy`^AGrQ=%(S{ldwZp?7cqi+;k; zyD)cUzFT*sww#C_!H>z+vd9CV4Q`4c=QxQy{}+cDC2P(JEIdvsIqs|zo5dY9Quj9& zyMVY=GV8~znmhL;)=&RcZ?by%)C<0$0#)%}JHdEy>_@X%rvh~xu<-w&W<-HYe>jX0B8eUlnJW^5Kp8~BMPsr@K)7L$(bx-o zLb-0-AY<0m4gBvv|Al`NML9533WYoZk4~wQM-Xujg>(af@YBbiz_zYF7b>vuPZ%D2au0fA8lB&ng2-1*t+k%90_v zdIsXUDCOJ0!(_s?$q*OaaIZf%iI{@cITG)KpbFn}7h6Sbr3wU@>X#%FUGqKfvfQ)E zmjgn`JV2t2z)ulMCDSA`8J$c;|0t-}{gsxHwLbiMY8!gaRK@?eJn&|Ve_7yK{O^|W zf2eOa_`d_H!T-tvSm6xHyz-l1_?RkAd}_Oa-uR} z(@|@`!=Ek-e>z%*|J$qpuHF9`_Dc9aICgps{_ld8;(rhuqE~fOYsk?3VX`e+I*olLr5HK{fba zUI33e1P~X63g-YynL+L>KyL47(V5nRO36fCn-Tn&Z$7>_H6!v&psChUPF1@Vhn)xM z?)PFZJs*wwT8a*d<6EH)jx+pC$|TYFEZ3bhlX^z+UTqme->7RoBFox_-W#b6NePE| z?>W02f%a=gK!ZTQ73m-4z6uhiz1lDm}~!KMu9)bVJ`A=abp~NOq)eGsO!^e}!M(i8dSi+?86@ z%WYE7C6xGodxp%XQyvK1zKpf!e|qKr|8+d<9yk7f7qkawL@5+pf(jsB0dO-z4&#V2 zkMb#m#Jwg{f0VYh2fxjz1Q~^4Ae00-L&jjrf-(3+xiiYAM<9?9MdxVzOs=1B&)Nfy zQ&U8PpF@+7p$9iq&EPKwHt0|n0&YfXm9(b-MmgG+{rckLg$e{(dvI!&EL@&mfJcS2 z>?u_p^Bb#g+2cP%$NZ)pvuQ{Fq)j>JoyA0B;$BCgQaSr1twUShgw~-wCfC-Xt$ckQ z2s*V6|84ETB@r};B>esLFVeC@5&Vv>vTW)h>BQ_J_}#MS(hWT9H1N_;Lk)e;^#1?= O0RR7@3<$aaLI40SH~m}y diff --git a/charts/onechart/templates/deployment.yaml b/charts/onechart/templates/deployment.yaml index a33bf23..32dad8b 100644 --- a/charts/onechart/templates/deployment.yaml +++ b/charts/onechart/templates/deployment.yaml @@ -117,7 +117,12 @@ spec: {{- include "common.volumeMountsRef.tpl" . | nindent 10 }} {{- if not .Values.resources.ignore }} resources: - {{- toYaml .Values.resources | nindent 12 }} + {{- if .Values.resources.ignoreLimits }} + requests: + {{- toYaml .Values.resources.requests | nindent 14 }} + {{- else }} + {{- toYaml .Values.resources | nindent 12 }} + {{- end }} {{- end }} {{- if .Values.sidecar }} - name: {{ template "robustName" .Release.Name }}-sidecar diff --git a/charts/onechart/tests/deployment_resources_test.yaml b/charts/onechart/tests/deployment_resources_test.yaml index 2745be1..85bbbfb 100644 --- a/charts/onechart/tests/deployment_resources_test.yaml +++ b/charts/onechart/tests/deployment_resources_test.yaml @@ -15,4 +15,26 @@ tests: ignore: true asserts: - isNull: - path: spec.template.spec.containers[0].resources \ No newline at end of file + path: spec.template.spec.containers[0].resources + - it: Should ignore resources limits when ignoreLimits flag is set + set: + resources: + ignoreLimits: true + asserts: + - isNull: + path: spec.template.spec.containers[0].resources.limits + - isNotNull: + path: spec.template.spec.containers[0].resources.requests + - it: Should create requests when ignoreLimits flag is set + set: + resources: + ignoreLimits: true + requests: + cpu: "1000m" + memory: "200Mi" + asserts: + - isNotNull: + path: spec.template.spec.containers[0].resources.requests + - equal: + path: spec.template.spec.containers[0].resources.requests.cpu + value: 1000m diff --git a/charts/onechart/values.schema.json b/charts/onechart/values.schema.json index b404506..1c0ce0e 100644 --- a/charts/onechart/values.schema.json +++ b/charts/onechart/values.schema.json @@ -283,6 +283,16 @@ true ] }, + "ignoreLimits": { + "$id": "#/properties/resources/properties/ignoreLimits", + "type": "boolean", + "title": "Ignore limits", + "description": "If set to true, limits in resource configuration will be ignored", + "default": false, + "examples": [ + true + ] + }, "requests": { "$id": "#/properties/resources/properties/requests", "type": "object",