From 0b1275fb10f2bbd0389f7682e6cb85b06ffccc79 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 7 Feb 2023 14:35:29 +0000 Subject: [PATCH] Charts CI ``` Updated: argo/argo-cd: - 5.19.15 bitnami/mariadb: - 11.4.6 bitnami/redis: - 17.7.2 bitnami/tomcat: - 10.5.14 bitnami/wordpress: - 15.2.38 clastix/kamaji: - 0.11.0 datadog/datadog: - 3.10.5 hashicorp/consul: - 1.0.3 intel/intel-device-plugins-operator: - 0.26.0 jenkins/jenkins: - 4.3.1 kong/kong: - 2.16.1 nats/nats: - 0.19.8 redpanda/redpanda: - 2.8.0 speedscale/speedscale-operator: - 1.2.20 yugabyte/yugabyte: - 2.16.1 yugabyte/yugaware: - 2.16.1 ``` --- assets/argo/argo-cd-5.19.15.tgz | Bin 0 -> 117076 bytes assets/bitnami/mariadb-11.4.6.tgz | Bin 0 -> 47626 bytes assets/bitnami/redis-17.7.2.tgz | Bin 0 -> 92750 bytes assets/bitnami/tomcat-10.5.14.tgz | Bin 0 -> 37349 bytes assets/bitnami/wordpress-15.2.38.tgz | Bin 0 -> 130547 bytes assets/clastix/kamaji-0.11.0.tgz | Bin 0 -> 28518 bytes assets/datadog/datadog-3.10.5.tgz | Bin 0 -> 129043 bytes assets/hashicorp/consul-1.0.3.tgz | Bin 0 -> 104256 bytes .../intel-device-plugins-operator-0.26.0.tgz | Bin 0 -> 7959 bytes assets/jenkins/jenkins-4.3.1.tgz | Bin 0 -> 70805 bytes assets/kong/kong-2.16.1.tgz | Bin 0 -> 141439 bytes assets/nats/nats-0.19.8.tgz | Bin 0 -> 24133 bytes assets/redpanda/redpanda-2.8.0.tgz | Bin 0 -> 40032 bytes .../speedscale/speedscale-operator-1.2.20.tgz | Bin 0 -> 14399 bytes assets/yugabyte/yugabyte-2.16.1.tgz | Bin 0 -> 22115 bytes assets/yugabyte/yugaware-2.16.1.tgz | Bin 0 -> 25881 bytes charts/argo/argo-cd/Chart.yaml | 8 +- charts/argo/argo-cd/README.md | 6 + .../statefulset.yaml | 2 + .../argocd-repo-server/deployment.yaml | 2 + .../templates/argocd-server/deployment.yaml | 2 + charts/argo/argo-cd/templates/redis/pdb.yaml | 2 +- charts/argo/argo-cd/values.yaml | 18 + charts/bitnami/mariadb/Chart.yaml | 4 +- charts/bitnami/mariadb/README.md | 52 +- charts/bitnami/mariadb/values.yaml | 6 +- charts/bitnami/redis/Chart.yaml | 2 +- charts/bitnami/redis/README.md | 3 +- .../redis/templates/master/service.yaml | 2 +- .../redis/templates/replicas/service.yaml | 2 +- .../redis/templates/scripts-configmap.yaml | 62 +- .../redis/templates/sentinel/service.yaml | 2 +- .../bitnami/redis/templates/tls-secret.yaml | 9 +- charts/bitnami/redis/values.yaml | 3 + charts/bitnami/tomcat/Chart.yaml | 2 +- charts/bitnami/tomcat/README.md | 4 +- charts/bitnami/tomcat/values.yaml | 4 +- charts/bitnami/wordpress/Chart.yaml | 2 +- charts/bitnami/wordpress/README.md | 4 +- charts/bitnami/wordpress/values.yaml | 4 +- charts/clastix/kamaji/.helmignore | 23 + charts/clastix/kamaji/Chart.yaml | 4 +- charts/clastix/kamaji/README.md | 8 +- charts/clastix/kamaji/crds/datastore.yaml | 473 +- .../kamaji/crds/tenantcontrolplane.yaml | 4165 +++++++---------- charts/clastix/kamaji/templates/_helpers.tpl | 28 + .../templates/certmanager_certificate.yaml | 16 + .../kamaji/templates/certmanager_issuer.yaml | 10 + .../clastix/kamaji/templates/controller.yaml | 44 +- .../clastix/kamaji/templates/datastore.yaml | 9 +- .../mutatingwebhookconfiguration.yaml | 50 + charts/clastix/kamaji/templates/rbac.yaml | 16 +- .../{service.yaml => service_metrics.yaml} | 12 +- .../kamaji/templates/service_webhook.yaml | 17 + .../kamaji/templates/servicemonitor.yaml | 21 + .../validatingwebhookconfiguration.yaml | 70 + charts/clastix/kamaji/values.yaml | 12 +- charts/datadog/datadog/CHANGELOG.md | 4 + charts/datadog/datadog/Chart.yaml | 2 +- charts/datadog/datadog/README.md | 2 +- .../datadog/templates/_container-agent.yaml | 3 + .../templates/_container-process-agent.yaml | 4 +- .../templates/_container-security-agent.yaml | 2 + .../templates/_container-trace-agent.yaml | 2 + .../templates/_containers-common-env.yaml | 2 + .../datadog/datadog/templates/daemonset.yaml | 2 + charts/hashicorp/consul/Chart.yaml | 10 +- charts/hashicorp/consul/README.md | 2 +- .../api-gateway-controller-deployment.yaml | 6 + .../consul/templates/client-daemonset.yaml | 6 + .../consul/templates/cni-daemonset.yaml | 6 + .../templates/connect-inject-deployment.yaml | 6 + .../create-federation-secret-job.yaml | 6 + .../templates/enterprise-license-job.yaml | 6 + .../gossip-encryption-autogenerate-job.yaml | 6 + .../ingress-gateways-deployment.yaml | 6 + .../templates/mesh-gateway-deployment.yaml | 6 + .../consul/templates/partition-init-job.yaml | 6 + .../server-acl-init-cleanup-job.yaml | 6 + .../consul/templates/server-acl-init-job.yaml | 6 + .../consul/templates/server-statefulset.yaml | 6 + .../templates/sync-catalog-deployment.yaml | 6 + .../terminating-gateways-deployment.yaml | 6 + .../templates/tls-init-cleanup-job.yaml | 6 + .../consul/templates/tls-init-job.yaml | 6 + .../webhook-cert-manager-deployment.yaml | 6 + charts/hashicorp/consul/values.yaml | 43 +- .../intel-device-plugins-operator/Chart.yaml | 4 +- ...viceplugin.intel.com_qatdeviceplugins.yaml | 4 + charts/jenkins/jenkins/Chart.yaml | 2 +- charts/jenkins/jenkins/README.md | 45 + charts/kong/kong/CHANGELOG.md | 30 +- charts/kong/kong/Chart.yaml | 2 +- charts/kong/kong/README.md | 10 +- .../crds/custom-resource-definitions.yaml | 209 +- charts/kong/kong/templates/_helpers.tpl | 5 + charts/kong/kong/templates/deployment.yaml | 23 + .../templates/migrations-post-upgrade.yaml | 4 +- .../templates/migrations-pre-upgrade.yaml | 4 +- charts/kong/kong/templates/migrations.yaml | 4 +- charts/kong/kong/templates/psp.yaml | 11 + .../kong/kong/templates/secret-sa-token.yaml | 6 +- charts/kong/kong/values.yaml | 5 +- charts/nats/nats/Chart.yaml | 4 +- charts/nats/nats/values.yaml | 2 +- charts/redpanda/redpanda/Chart.yaml | 2 +- ...4-one-node-cluster-no-tls-sasl-values.yaml | 2 + .../05-one-node-cluster-tls-sasl-values.yaml | 5 +- .../redpanda/ci/07-multiple-listeners.yaml | 60 + .../redpanda/templates/_example-commands.tpl | 61 +- .../redpanda/redpanda/templates/_helpers.tpl | 69 +- .../templates/_statefulset-helpers.tpl | 38 + .../redpanda/templates/_statefulset.tpl | 46 + .../redpanda/templates/configmap.yaml | 201 +- .../templates/poddisruptionbudget.yaml | 20 +- .../templates/post-install-upgrade-job.yaml | 108 +- .../redpanda/templates/post-upgrade.yaml | 22 +- .../templates/{secret.yaml => secrets.yaml} | 42 + .../redpanda/templates/services.nodeport.yaml | 2 +- .../redpanda/templates/statefulset.yaml | 43 +- .../tests/test-kafka-internal-tls-status.yaml | 22 +- .../tests/test-kafka-produce-consume.yaml | 14 + .../tests/test-kafka-sasl-status.yaml | 29 +- .../test-pandaproxy-internal-tls-status.yaml | 8 +- ...st-schemaregistry-internal-tls-status.yaml | 8 +- charts/redpanda/redpanda/values.schema.json | 99 +- charts/redpanda/redpanda/values.yaml | 41 +- .../speedscale/speedscale-operator/Chart.yaml | 4 +- .../speedscale/speedscale-operator/README.md | 4 +- .../speedscale-operator/app-readme.md | 4 +- .../speedscale-operator/values.yaml | 2 +- charts/yugabyte/yugabyte/Chart.yaml | 12 +- charts/yugabyte/yugabyte/app-readme.md | 2 +- .../yugabyte/yugabyte/generate_kubeconfig.py | 199 +- charts/yugabyte/yugabyte/questions.yaml | 2 +- .../yugabyte/yugabyte/templates/_helpers.tpl | 24 +- .../yugabyte/templates/certificates.yaml | 32 +- .../gke/service-export.yaml | 20 + .../multicluster-multiple-services.yaml | 1 + .../yugabyte/yugabyte/templates/service.yaml | 84 +- charts/yugabyte/yugabyte/values.yaml | 31 +- charts/yugabyte/yugaware/Chart.yaml | 9 +- charts/yugabyte/yugaware/README.md | 4 +- charts/yugabyte/yugaware/questions.yaml | 2 +- .../yugabyte/yugaware/templates/configs.yaml | 17 +- .../yugaware/templates/statefulset.yaml | 55 +- charts/yugabyte/yugaware/values.yaml | 41 +- index.yaml | 540 +++ 148 files changed, 4440 insertions(+), 3336 deletions(-) create mode 100644 assets/argo/argo-cd-5.19.15.tgz create mode 100644 assets/bitnami/mariadb-11.4.6.tgz create mode 100644 assets/bitnami/redis-17.7.2.tgz create mode 100644 assets/bitnami/tomcat-10.5.14.tgz create mode 100644 assets/bitnami/wordpress-15.2.38.tgz create mode 100644 assets/clastix/kamaji-0.11.0.tgz create mode 100644 assets/datadog/datadog-3.10.5.tgz create mode 100644 assets/hashicorp/consul-1.0.3.tgz create mode 100644 assets/intel/intel-device-plugins-operator-0.26.0.tgz create mode 100644 assets/jenkins/jenkins-4.3.1.tgz create mode 100644 assets/kong/kong-2.16.1.tgz create mode 100644 assets/nats/nats-0.19.8.tgz create mode 100644 assets/redpanda/redpanda-2.8.0.tgz create mode 100644 assets/speedscale/speedscale-operator-1.2.20.tgz create mode 100644 assets/yugabyte/yugabyte-2.16.1.tgz create mode 100644 assets/yugabyte/yugaware-2.16.1.tgz create mode 100644 charts/clastix/kamaji/.helmignore create mode 100644 charts/clastix/kamaji/templates/certmanager_certificate.yaml create mode 100644 charts/clastix/kamaji/templates/certmanager_issuer.yaml create mode 100644 charts/clastix/kamaji/templates/mutatingwebhookconfiguration.yaml rename charts/clastix/kamaji/templates/{service.yaml => service_metrics.yaml} (55%) create mode 100644 charts/clastix/kamaji/templates/service_webhook.yaml create mode 100644 charts/clastix/kamaji/templates/servicemonitor.yaml create mode 100644 charts/clastix/kamaji/templates/validatingwebhookconfiguration.yaml create mode 100644 charts/redpanda/redpanda/ci/07-multiple-listeners.yaml create mode 100644 charts/redpanda/redpanda/templates/_statefulset-helpers.tpl create mode 100644 charts/redpanda/redpanda/templates/_statefulset.tpl rename charts/redpanda/redpanda/templates/{secret.yaml => secrets.yaml} (65%) create mode 100644 charts/yugabyte/yugabyte/templates/multi-cluster-services/gke/service-export.yaml diff --git a/assets/argo/argo-cd-5.19.15.tgz b/assets/argo/argo-cd-5.19.15.tgz new file mode 100644 index 0000000000000000000000000000000000000000..25e9bc1d13f9fb9fc0e77956c472f13b320ebad6 GIT binary patch literal 117076 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 z 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 N|Nn3g#5@4V5diR40kQx9 literal 0 HcmV?d00001 diff --git a/assets/bitnami/mariadb-11.4.6.tgz b/assets/bitnami/mariadb-11.4.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..aa5ba73e9349c199890c25c3272770638e5caa30 GIT binary patch literal 47626 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 exDc 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%0AwZoq7u%%gp^`7u_U{BT>#JUTx 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 Q0ssL2{}SjPDc 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 literal 0 HcmV?d00001 diff --git a/assets/bitnami/wordpress-15.2.38.tgz b/assets/bitnami/wordpress-15.2.38.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b0bfecdd5b3b839aba3b755d67da03ea7085fd27 GIT binary patch literal 130547 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 literal 0 HcmV?d00001 diff --git a/assets/datadog/datadog-3.10.5.tgz b/assets/datadog/datadog-3.10.5.tgz new file mode 100644 index 0000000000000000000000000000000000000000..cb291ae957045ec628a06c96ad671f6d8f11b6d0 GIT binary patch literal 129043 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 DItgh- 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 literal 0 HcmV?d00001 diff --git a/assets/hashicorp/consul-1.0.3.tgz b/assets/hashicorp/consul-1.0.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68615cd42acc1a8bab3107ee62325d40712413d3 GIT binary patch literal 104256 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

eWQf>fVG0yw@D7;(A%8b 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

*6 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 JVt|VB{{Z5S literal 0 HcmV?d00001 diff --git a/assets/jenkins/jenkins-4.3.1.tgz b/assets/jenkins/jenkins-4.3.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..18d8e511a2e13c6b944d00e6ccd884b73e1a4a68 GIT binary patch literal 70805 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

38x3+VT8u|2Wq9zk*R-hkq$8?Aasm!p_ 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 M|0)PZ-2m7O0D^GkwEzGB literal 0 HcmV?d00001 diff --git a/assets/nats/nats-0.19.8.tgz b/assets/nats/nats-0.19.8.tgz new file mode 100644 index 0000000000000000000000000000000000000000..f89435ec9fd5c91674b7ebd4fd396bc44af5c08c GIT binary patch literal 24133 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%0A~&OebrE#jj##7+{DFJ;xhxFi-2w+3@mAUa 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 F0RYYqR$Kr8 literal 0 HcmV?d00001 diff --git a/assets/yugabyte/yugabyte-2.16.1.tgz b/assets/yugabyte/yugabyte-2.16.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..8b3b4d888de0c607adb273cbaa6c0071f64a9946 GIT binary patch literal 22115 zcmV)ZK&!tWiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvHf8sc@I1Zn`c@y_cX#=}`FuY9Z=qPo|5stR^h5x(jp&Zo!L5|4R?~zAL?3BSz|8r2t72ap_KP49SkcA*Y60$F^8R(ilAHsbh z16?=xS}WXqM>ELIAoh$z`UP;X0+%CFPx+ zhlhupk9SVTcE;2hGX7_H4=MCWJ~uJxbUvCBvdy4AJTTMj8V^P_8XLf-}c}9(3nnwaFc{ESOyD z1m8o?m_i4%kYOyqIV+lp@q*yFrz4Ju-zm`--hn{H_3vvBl+~5D9|G&rc1{|X?oLdwK0pMyb&;*$`pffcIQ!bwcm1K`dr>l$08z9@sUaRbw94-w?h zOomYGN#MwxA{%+oDuXe!2m;^@crYysIG6%xSy+b@f$JUt4^!j->djFG02>mDJXRk7 z9nTr=MgD`BPpAwE`4dz86b)4@NJtrI98-e4`xn*Cct|MMats3xeVQXeiTDM8?#_Lf z0NBXplq*WGmT8+C6^$UeQ4_nHH^GW#JmgxY4vEqqP*Pe3rA&s|877~wl|p&7P(G8P z7KiZ$v=LG5ZW-}W$PzN`#fyzE}b<0E!?cla-K)w#3 z3pt^fnFmZl9sqO}fT3gR2t1f{3g!-SbZ_CZv7uwzo;#+_4J$DAunq38>6p$0P&S@) zYtDL=0l;(!(&ruuu@h}dq}86y2?ER-%i7R^6XdbF6hQ;vF>pP6Z!*h73^n}V01snY zIb?l99<7TifAXB41VzS4d@aCDx%kC$za|AOsB|uFbU#a6~%bm3Vz_ z{Q0=)QONRVR);b08^R4SGbO~p?2#Z9vIYZ&=~)CUbBw5IBQQc^?8UgvH57*lAaKxw z3MUr<gDc2#?Gs?Q=ARQ3`y#*tJ zkT?Vgwh=&&%m{`Sun}|!qn3x*yh??{Bj93#_~4AW2ZcFaEbQl};0^eYH{>@DIq2bt z_r45D;%i~g{|c=M_Dnjp%b;30ZXbd-@?Y$MR{JnOw*np3$zpzY{~g%Pf7oXQ-WNU; z`Rt~ayz)SCZ~q-Az29YJ_KF2wghQ2uW@ypoT6(Wo$guJG2J{*8m0^{WBkF)N|D7Cq zIaY!X9Qk{O7J$u^b0P-z1UblKgR67d=HNJqR>9}0fI%E#92;#1Vho9<7`M!cgFR$C z2V{H%`~ATV6B4CUCgGhBpeY9T$TP=_updF!3=UdA^Q9{g7AZm=Ls3942Lq%Gw99s$ zUbYLBR@XT1m`BI0-g&p(9h^7wwQh@l%hSrNaNh3Li@j>&xY=)=4)V29yL)~#$Xk_W zuXWU!ojb5p!?0+bUft*q%~`Fb=LbivYVD@eJ8v2Jp40EP`rTfw+PX3FeY9cy-uNZgt~=l@5X4f zYPC|Q?_S(?3zh!O^rTg-b(*$u)tk7LX1CC7KGjIQhZil|vih}i((d-!%{=SJ`8k}` zu9~*t>HVn(yZWB-bW~~fYPHs^cGSr?j=G)cQKxI2H)jo}&3<=#M-``cRqxjdu&?iq zif*rdTF+nI)Jn~psn;piD)4mnpm(eV>`jVr)>{nv=Znti`Bne;{0f~K{ifaM>HYIr z*P8b9Qg6^`f7owzn-|^6hsvPSnCYF`yl#J}Hj9IkUiIMtoy-=En$Z|kA6vR}epGji zit$vVjnjIeZ#SRx>Up7?-(B=i&u6{fbcVW*`$qTC(x1*7qY1v(XXlT4zeV&LcmML~ zaM784=v-Alw0pHdrQ2(Dnw_KeRjpBP7Fu`hlgE0~Zq4ep@i-_9Y-IOtT2}9BbTjQY zi`57H^l-0RZOkjS+lBV|dFyF<-k(kP4CiRpS!bTU0@m)usn+dArYYn9Q{(YaBmRh!)pl|g>5 z->y}6o3omIRqZi3I&R+7T1I}_;_`cUL@KlMO8>?Y1fj82_{MvJS7>_OLhr0|(>QO;KHz44&utba_szS;MZem*uFQ;LE8jY6 zJ{|S0PH_qL&pUd5@2OdAnMQtZ2Ja3R^}O{^Kka>LR6iW|PR~p5X>e!cTSw@|dg%3M z4~-(78O8UHxBc_8e)aKF$2q)!cCT5VJ$SeI=}a#g7xhA8x8HYX7lqk9GC!OdcFh}{ z6k3Dh^Uh_#D)#cN66_Y*t>c+@YY%Svv-4i-6qj!E%|&zeSnb)}JUny@qgf4Jlo|_U zwTkUKW6zlNu<>M_wvTHIcxUW3?GL@i-O*mV+x2eS=dJE>4|ku8=~c&=HfOX0?Z&6uQgyHQ)HuDAhKb5=X@^_J1yeZ0Ntxr3+aJ+!(H`crdHzcG%`3BA7Uo@3NG zdc3+hcl*bKPpzAC>()81>$APv`fP94C=4ovZnUE)w;Y`C-v?YLA1H$4BJg z`}*!I( z?aVs8s#>spY8Ca9*7Zfna9g#*r`}!9>&;s3Rr>>J7g~7GX*|}ud%IW1R48mDdnR;b-6^!CwguV>VZy~fj^+9?edBiri2 zp4({`j%M|0^&(Mk*$-ab8F)sqHPbEkw9)Tjbn=0~>fjPtwewcB)@pXok49|n?Vb~( zU!dL6o29h3?(74*S-Azu%+1e$Q;3Ogw1PS=+JN72ACn6we#*xVPIb9MRV7 zVGr5vL$@^Oc4m#;?&(qKs$1I|*?Xj3G8T=~!Bp=SDxLNRI5=_V?Gs8{l@GJ#(-AbP z)%(l*`Pra!d(k+Z?HZ+?+pm!OZr|v^YAZh|oHum4RTy*!g{z)*0c&`#Tm5i%doz1# z&t^~c+O&FmXPmd&8q#`M;icJ$g=Y1EnQ_3v);jR&_oDox2%b=qk^S^0Li`8b+c zh0$rx?bwe6W5OlbJW(0jXlF26p=OAg$1JsXYS>ocitP>(|Wr?Z+f-C z6|6pjq6socXB(^cRP2z zDm-a?y3AWQqvL78IH9G>r`v~4l};O{N0oL_zv$ddX`}jBYIPeyyl$y`Z}e&ox;by? zhj_1-FW^Ddaz{nuc5v6T8h5?DfpzwD+dI0^@6OMSe*JNfZ*?2i?Lt2u)LO-9zOf*S z=B!q@ot-`DPZl1SWTE#Ot=ob%YnNQR;+$V~j*SawRd)x~-pQbE+#31af_^%^xazdn zv@~c`&zMe~UY$11`yHdydFt*Or*5x)H^92pbD&eZX%>3NgMw9S-dMeE_w1ta)HD0m zbiaObzNc69y~bVR;kM`IM<>?#ZC=0c&I&hmr+0l-{owU#jobE#aooN;!lUBeyk+m5 z)lUXjdci&EoEo)$l{%eH>#FsDy>4mH81-ov&8mB-*K5~L-Lrb_e7D=*-MuW_KK1&8 z%T95&*P789>Obx`o*HIr*4rQS3(a=bb(?mf*yuNR2OaAQIRm?!ujVT=!)0P~PGGm!>zy>tb(@s>y+N&M)h?U1(P~xQ(@yWqyY07X(56<) z>OM5?deE2+y0>;C->dbmZ%fA0s8GYu(u;65yBPH9i%w_y2xpC3RDGXsIMZg`>2*-8 z(dpODFM6e#tIwLH#&K)b?X~V(cdZJn8aM4?;U1lwmFgw;Q~Ttx4^Q<6{bqVxcg}Zv zP3#S-jmN9wYQA^VJ8zYatgFsZ-RO5q%}&i~bwA8nr$>c;&*{kdP3wb`y=$X*UWccH z%N{G=F|K-K$RH z_Ud?$hbQk#-KX<;*Shr@g=s@?y4St_hk@Q36#6IDNxg5>>xIS%IvsqfpH3fpB`a^_ z8`quw-tpk1RvG2%`OfU2gq(AFnYRX4)$T)k_E4r&1=!L(K|Kx6!kzCdDl`{7YDQkX{0A#y#;V;Ey1-U@y@FvJ<^F{J9 zNX1bQBBCH6SKQ_})}&lr`woD>8R2^&Mv$QWU4R@N8{B2dw;TZ;FZumuh@EJnT#zsA#tC!A$B5$!eKn*F6AM`Ll4?R?lLNaeD3{T=1u6Qej~htLmd(V z9m9h|IHyzOQ0aU1J%yQTYzW@k$f5oY!8P=tWg#n*5&XWy&^Uq?bo9UnoH0p#Zc+2_ zDF9_)8=6joZ-HvkU6`}54lON{k*>3z= zNA3g`JJf9f@h1{EPC6bOk4;_lLV76^zXgPcuB$e$$x4>e?%8!v+QnYz%AZo|X6I%Z zXust1c`Xy`kK{yF_WSqgl|-J-giU3{{#>}45fAM(3JP5p!nllUL^OTT=Gd?aDT zz1>nt%VcDCQrJyIZ3~W&waf=HGu=}JEjq1Ckv=1;cYEDXSj(;uYtPkvq<<--b8;Ei z2z6H>n}W!PbVNQBqMu%mBMK4={gaio5&KpsD!7P`9IX6WSo%uBswE-*Oo*p=ZW&BL zE87=B^_ydGMyQFI0v;jLnQ$GR6T7I;A{ao!APfi_1fnQ04WvU4n9d#2`GyfEKHozNRT+55#`j3MvN{tARb8mXsVfr?gQNNVMgjC^sO$5MT z1h0{Ijg`GEHubG&>0ycq9|XX_i16)^ zDZEEOMji1_0*dJXljgu7-`vAa00HVACIlGfc#J$gAB#rBR(i0}B7lscY2kb1;4jrPa8BbXnRj6B*e6m(tP$wDVmckcA068y`7PTM>_)a&N0^KO!09WbO*X-&Nkl2KG*_7-b7M# z0#`K@dH2xrgA}D<42bSQ7Y&2YT)|kD*j4i_P99Vs3Y0-9PXtKxNIiHd<`rFRkNT?% zXc(~>CrV2RK}=_oo(%C2Vi|n?B5g0JH_L4KVN3C?U}tPjfu?fGM$|KPqCFFXOae_Z^k`31F)GN@{T z9?L-6%Kf}87faBaAbKh7Z36F+!K-MpylX+7uUgAMdt2a63m)Y$#+HR2*q9ta5(IKk z509A@FhyVr9m7K2(1H{>`eOLA>>(fKoKiqU^F0gkIMl7hX!z^@Z}{=&?crAR-_$Ph zQ8Z+W#PmLXXMC6?k&009TOl+gbNja;4+z};_bSwwZM@x8 z!WhL=k#Vqr+Q>pWo6Pwew!U}RvV;F36jEj$w-G&54k++%;pFh<4YNnWK>E;n;3pE8 zJ3&N>YNSBd+_^90ip8BbJ_6bMLYB?)0zNl*ZF4fEfSK){X`slA?AH=8etz84 z0@{|e%O9cb3RC_~P*^A@rUs2ehnk16*C1G19nYDu+t#PZm@~C@COn4Xb@dVHb3aN_ z)XR!t9Z)v-z+DND>eK3@>mfq?;~wGHtZ>dj*Nwaez_)Lh`55~oB8JPcx7nD3!~aIH zi!D4^T(EYcteRp%0C;Z1$@1ft>q$=tZSNa#v7* z+e207Ui|VsD~+q;>hSDZ(t%T~=3zS|+So*v!O&Dl#ot}?iI0thIms~!aVSA6;Mb3w zK7b(IL$vDLD`Zil%-G_HAX$v?^DF?eWuIEXbi@=G5Ku^L=j!+h92y4i3~?b_?pg#h zuw?GCX&mU-UGOEVgwF>8kK_z1<)Vm2DOA60H!p{m$A{O$>%(@tf7Lopr#vHMfzvuIY(4bv9QC;kSbobKpu+OTIb<1y1XAIyHA#xe?T7b2r*`37Ypmqb%Hh*bIMMn?c!V_>M+HN1XZiVKuziYLI*j zDfq)~NEWRZ7!C;_o@+ULQvv_8m=3|lb2cme4qr5jkboOTLk#EXPHW{dMGb;83(GJmo(OrN6SF=?>*F z{h`#_WuV>f4zXh`H1Gz=Fhpd7O|70-~Zb=*4{6Ov-P{SUuv4;Yp zGBQRoCG7C?!c-xxu6pf*E*gBM^{4u5FhgbFoK7nqGLS<}C{B!q?(aE4p5kW~nm%~p zCw`DGLf8E2YBRLpbC(#6*fJV?OSerImVewd6KIme6Rc!ry1+2W44hpFRr3xUH`=~( z0UjdQ;#S-{rXM&6KBbOK$B?=yBO)~pEh~PoG~Q53%_Gw>qMMLOmFGM#MI8T<5m&OX zXdFx-;VCxQ^y8V>GwDJ$(B)Ot(1L4h0Dc(Oq>Bo6D0-xsXAQg9V0*yc%)-#f2F}MF z7aQ68!pRF{ix$9u0uNJDpK`8B1*znZVU;i5ld$l= z4nQ%t$3XoL`)faAas8qw>WDQYi1K?UMEHw6!6Xr6XV__6b*k+geWb6|#=87ZzwF2J zf9&q<=6~e>_#RIo2Tl-GV}-7l?M4$?WDp1v?JXx!Pun0=cV9naZai^g#LW(IeUnILMk*2}H=| z!3dIRCbO3Vt+@l(G8m94vMjNNHXULbym|Od8qa3q_T|WQc9>N~rXV|w6wWDerMYzC z?dL$nLeQDJaY4)gZY4776ckwp_+JLH5M9QZqnmZ--UO-jN*mR4(wPeYQ;B81sPmU| zHgx8E%U#0cfttZuM9z*G06u@tg13C)E+2p#$Z~M(r3ak}0=b?@yX40Yi{^YTN!aeP z6mpO$46^`q-Gk4cbKJ2PG>9C7L64391pPmpB8zn;N8Q&+1+`lL7Yn6)JpbR`Zt;iy z|1Qtx&pSVZd($rSpuw?eA-ZtUfz8OGPf;2Cyu(H)E0z%vy8s5B?D3q9fKPL1@eF}X z?)c&~m+2#Bh&tj32?hHlpiiMkzzFGZPGr^)CD@e5;cy40a7*yTf$zdH3D}akBiK5~ zkCAnezMadQjU%zT{2U839l{%=;++{gQo{{)hP=dj?KJAk;IR2@%csCHNO!eS#u&kVT^K-tr!o4+7!IiHxIM0sD=mVq=a&#tKML4epnfxJSON zM>qjx@yhi~hmL{vcar@((PD4~9vee<43#|cm-@FDWG8-77#U_RA~RQUS(MP2a-Sm4 zq;P`Dd@_?nRa`p^MdUfqTL7(NS{Cv&uod)5PD0=}@M(@I+GY@gc+RCsQL!hCNEVnG%-wP;L61r>zLn|}oq-$L6;EC3XWM*ob_mMJPuwpDb6uFK14Dq4Kr zl}$&TJFJvAk;J+v;_JSA(K3N(iSN0n3qzj2NvN_(ABfzwThk4{*!S;AM0}QPmN?(j z`Yb0N;W&^wJH5lg_8P_&pE8yWNTFde**6{Cnj6VFGq;^GM30eY%J@-nJ_}5tXNWl~ zbfaHi9rH7mhQFa8%kpBmOq<7)D(_7KJmiXWg*QZa zM=`d@&g?xIhSl5!`1nsoU?&5>^=;?$s?lv6b!)Y1t9pE(QE!g44dMJp_}(2N`YV2B zv(PZS1Fl=HgVKkF;V~rx{iZcMik?9z!W*VE|AODa| zubRz;Z{=t~5g5yTbP+O+Jrk{**T-bYiVqFbBiho+@vZ3?=#d#zbBCH1Q)LuvlZ@1XL?d!uzbvsAy^&D4n5`1{v zJ#OB|agA9K>+zFE)>H(+TRS*>){rZP;Har~D0V(TSVk`J!tr1e5;$UeG({~LfmyMO+toqHPT!%j{!(q#3}f! zbuTlvHF*ZSD%zBNu6qgfG zk4v43=+PYb@}>OwGY~pF=%SEEO-(+q*7lM;XkAyt?)U~B@LZjn35kf00rp-;tH;Mz zKF9y}oPMVb?{(CDi3~iTkvP>i<`I4AJKteR{mHgP5|6_&^xR$8-aiWl_z z{pCxT-zi*3eEE`NKbFfR%-gJ>%E2#R%D)uyd8IFE`_Gw}nX;M7ZAu$Hn)ciV&YT%5 z0FS}kf%nj~cwz~cZ~v=)tFWAuI-g`K1^jWSK;>CFKFzT=w^xb!u#nF`u9tV;JCu)t zinf?Aidc=`fMMQ)E%7IrkHA*Zf0vBSZ#+LjA)nvg-cE6Ct!+D*Cv8N5jvar?Sl+I% z&bvu1GSuy%D4nvg6VGOsklI~ca;1z#MRNu@gh&8D16zuoh`e8|F}6Y443vuh(me|y zYH3v>w>qSj5>(t^`~c7sDeh$g`ygR zd*$<`NqD3Q53@>|22;2hna`F09suaNY(Ol3iY{HF!)O`F=i!%%S~6D8LP#0~YRx1A z08_9vg#_f5yS^Q%ph!xf7r#Q90r%BxFX0rmKQ`%`!mEus_?mr784b_xT)KMxz2j&8 z>`y}cmwIW?tK0{;I{u3%R*c1e?e7-%e#C!$kLUApd}216^*7YsszCxNIg*u_f|bRS zj8NH{dY7wu=T*+cJNJdmjGsl3_kr1nLIYA*4z4I=mZNHm1`Q>eqA~lKqrAPXMk0Xl z0IG;*NDsEuGQ>rCnIFls#%+1++2?2UsuB*igsugRZ*HOMFlw3e->WQgp8_xKxk)OA z!Lbv0uJHmb#91lj#;$l@mMnHv?F99ri~%BDwdqXC;QFG{elK#;^6R;t1z%q3C7_BB zqDJKAVxUMVzeO)RBm6tCMM$eWyQ~Pu>xw-9k&*WGBa=JVHo@epho24wWqwC4`D)XT z9pI6*JWXek<~s-ue4(701Qt5s{b-fLTo`lP<~mOYcwDhvNuql0aGRl6}cdJyWxdyqeb*yLO*YAhMR*>oKn+aPWPxx7^_1E zOu4Pj?Lk%>nocCmypRS0EOUmyC8DG%?$VT=khmxYq9?FR7CnWJ45v+*`D_`K$+Bg( z!(>OgAEW6@yXhFnp6qdWXA0VYU-&?1Og$qT`ckTY@fZ~9FXxWJ*2e&~VQA%05b zz!c$cq3iPS&O>j)of3wrQ=rMvOc`saF`D?~&Bow~=2+D&QCBvsg)M5Lj20m_&?+Jj zOuXbjfF^}Ni^@b8EBID*Ic_C7sJ9j66X9;$-su$P-}OrAS(4O9+O;0O8algD)!BfJ%n z)9rAK??+<{Hr5UME2jRJ&aA<@f2F0gixUL9-5_oB8G zeZLKqy^XgHHqe!22uY6as{Y-O@nU|kPE_Rlrh>P80!dS25o#+Ny-`dW=phjkiA*+% z&+~_gkMpx?zCyoPe>PJgQHDf`!eM5?=g<6g{KzB#bI%lcQUEaBLx0zvzlm92sv-9K zIRUuB<72|td+MS_e4y55jQ;+U>R)(5{DUz2k3QR}9vi#GF+ z{}kgH*&&F|-K-wwPRicl(aW|2*5v=#+bixz{r|;6skr;Y|NlLn<>16v%BeF!gJ;$R>otH`=3;6OSyEI6a zC(4bSM&h*P5;Q-v{su>ISwVRWSBss)70m&l9KzKSPvMG!N=7GvoHj+4og-7O7_>5Q zF`-%0ArxBHa)ImvGAC22m4PPjQj2~TIW4j-*KS%F@Rww+>j)Xh2yBND)Mt1+z7$Eq ziWvZC#Eww;6`BEQB#he~YbgFKs&7E~XHXvip8^62rk#TODjVot8W6xg4v)N`Q`sP! z>9SCY$F%v`aJBt2_A2Kg7Za1GffO;Z(a#i4B7H$37i%PvVEs^4=;fozQ@D29)s_-# zAk%%SNUnmZErk#)M>%Y!Y|`*kvdcafM+Np*|3k1#~9EBu;3ur=$y;{IMN{;QZTm5M*sf8XO# zVz~W*7QJh8>10~$vyc{bWU4DIDLtk$$%(5oc~)m-`(B0h!bO;RbL7%aeCh#esX`KO zMvwdNQj^^z)e9BtcV4)O_IZFv8Y`7cKo$3=pHT_?1{^goA=V{-VRDB@{uOYthnfh0 z3oa0m7l&Lf`+C>0BZVQ$EZLkX3G>}E)^?JDSrMe6O%XIKMEER@!aM#m>uE1{^drZ0 zBGXw`UW>_aaz!!{j)O?)&fh{hjk&FJ!CkQOeRzK+s}cVir(&e^+Z4*jy zBzjLEzeZCFNUvTK7-LnurnuKxxtK9tUmmm)<&t4I*g!*Z`YsU$@AxViu#@f=iV;bPDcQsC!_-BR=IMb(4|Bv68<)X?6jwN&-ZXyqUg z`Vvwn}vRF5F#2`ZLNrhiPi8I zWPDZ(QIHhpwcdfZd@WHv2ni8PqN)RpnZY8EYiS7-EKA<1%aT|Ki@Nwrr9+s9b~P!| zW2*j?KDIydvrhlpB9$x(jJg*%0@vyPUw(=E|BA(Y;fMbJ9?!kmOo7(FX4E|Nm0lFYPVe|FT>9q5r?fv-#SR**+mpDJC|Krk!m0qhBKMD7C)Iq01Rwu0MU9Mb~ZOTSC|d-)iuB4k{Kh=g4C zzvp-pzk$*IE^>5HIt+3M>*$-5=9f?_r7zGTQaHL@vW(PzA|ic|ChQ0a#AX8M?0{IIT#ry`h9e zFVEOWLe>o2*EztO%;~Qmr7zSZ5mvnJk=$okyM{vwsv7$__p{){YB^%{ic$3!GLgev z)BCSdIJ|)<&OfhEF`EsE?>i!vx}Xy9>jX+!#eAFfOX$3eu3v-@FD+eo%2Fv5Tx_Dt z7imag1LcBadj`*-w&CYZe|qY;BVXmZZIE`tVk(8j*eZ|)TRYOiMI^XDaP zEA-bThQ^V9lY7)O_g%%Ti_xkZZa&Ky(uc!0kyoz;zglX;#$GJGQ4ldXj-2ld?^9L! z7#3I(!9U<2Sl$j0k`k=&b+qWWQ?d6lf5sWN;vwSZk z%+iRI=XK(FCB!3I&W#X-vE6b>u&i!DA_YpNq5QkTz9!{lNH|m+PXh5wg;dCgz|<@a z06<+wgw(NtBG9uyYawX#J(HpGA^N43YXKJTSIKQE?*&delr#RTX@S zs4EFMdX{V>D8Al^fJu&kOgsMeLhDLqK3kmu<@2f=(G;A8dkDvrql4%J_GaPOjX8zH zDNh$0>gZ0}WK(oT!l(~U%B?}*%a?HWR?jBB7hfWRoeVP>>*vBvazQ2>)aMsPlexVk zyd7MUbodpHs^0*a!s6aOncGo>mM~m?5s~f}@|*_oQhzF@r=a~;;JW%EKG(h2cz?fS z0Bky6F4r7y?2=aJKhr=u^h9Z97?{o-(rFoJ)SIJCGMTK=iR;xzaAtaQ8A=+68;I=7 zTMA#Pwn-A%MN%hsZdvUh2Sx~vCyBZaJ}zYiiBFKLp=~m>Tx_(FKKD$zs9=YpN4hKq zBwC=%0b$#u>p%fb!s1uK3W`SQxoSwoQFX9^+H%4UOR8@b>m_OB83B+qQqs^!lVR`% zgfCWLE`^z53wd$lTzR=#Unc^2o?cCxt3*Hi6M?G~u^cR4*OO!@U)vS+1x221Ivn(g z2l?)q$)yuJ1}TG5aIY&Ik4?v#T+auuLCaY+J zC7K-$RCU2*@NlV75ahrLb$U+*FP%7F4B6eai;)EJu9+(TKhFPO9}d=mQ_(FePXi`XlJGiT`|PerxVph)<fwyl&HpzU3rO zjsGMVaN_aD)&;{gO0g*>G(xpkG5G?G`>id$uW3kqm7WbWMF5mkpb6I8Qa;dxGV!FK zf!&zqkq!+-)g3J!%N!$pp<5`Tq%fgv3OyQ?FZ8Io-u(W@(glWMsEr_*CP}`Q)stTT zPl7PpGsE;i)&)DZLw5|5%(+XdpZ*NDX?H)OZkZTW*A`-VOT8V;{1x%)5ud;gV1;ulH%GUwXZ>R3_ zkRc<|&@eqRbQv1Mv1#!zcy$9Lq6wvG)R}sSOtEE@K}j7fQS-8(PR%^MG9gOMg7TG` zHo|inR$aBCj->web@uj3SeemkdE z?M~yczLaM4MJ@UM(_Ccw@S9@IB<5ND`nLG?>QaNZN5|FP)pdJVxoTA_SJ$`08oPz1N|!W6a7(3v6-rKG3BgJ2e;*^ zX9p$jh$_u&mYO#`Gw-S{By1q9*{DhJg!q8`-I>H~w#Z)1Izavg%?e1-zPtf!2mxbm zyW%QC9b0U9f(*8{e!$+$bSB592h6cjXU5D=i|4Z(x{y-jIlv@ z`}mEPu?BO0N4dYdxxZ83saoSrkbP@n(&>D}^KJ!`F3%B3cKBU3WTy}+=@8A8+96>g z%K~kOu*sa7j;TdIWV7K5=uP6=n%oA68&*puRTliF{8CS7EzRg`L29vOC7-&xmT8-G zdu_Qx%i4}F7gFpVim^p@X79-`1mP}HY@f~Q`u89B&)5Y2_y_n;tjkL)nirZjtEsR= zhF7sZHtx?`&(#kNgGW;@?+cH+V_l56N5-L zz<1yQ0iEv%?ikqliHbTD`=M0e>>BVqfXgF<$^ADx$gnhKqGWry_{AY5ieZ#JzA#2x zUk&!vMKgkMTtGt+O+Y{jYQmRI#Wh*2JfM+~(R3LOiVS(8+A&m*7pLo&pxSCSvne?{ zHxm_103wmUQPh3@Mw?xU*K2b(f^M4nNoZd3HsMP$ZxiO@H4`%QkRxW}`0ehdGXY_k;SP4`4g)~KP69{(S=g58 z%$VYIkw;9ztW?$9<5jdc{wcmIRv4@*8(@)8%5p%KEQ3qHJfX4>2jS;R=&CqIlqLv* zYBdj$DUdf%0lW%O+`+f(%u+Aq^jlAd_s=!r0)TG2oH}3C3V}9i@tBZO0{Anu*bx2E$k;^P zq%9cMI(C5cV1l=wLlyTW$$J|BhzXW#Y13$E^~q+{RmH*jg~#$@V;Ps^4YXKOJNM8F zHBJJM$zS-gi&NvO(9`Ov=$^dP=FBMJm}g)Z}h zL6JfHlu>95b&9*&Jc(pvZ$OZg9PIEH8N zzOCix@BP23=@>Dj{J=$i9TJz+p=>m5H4vA-jc>E|+hzrZ5b@z$C&I zL}G(ULf@2LtIn8+e~whEA4QK?tIZ2yk4+141(|qvsqFChli@5GfC>FtAw=JA)$ zgqd1ibFH+Y)%0}^7gi+ARzL8~#&m?ffv+Zcb$1|_DklCNI}&&0xSGh>z`m0t3g45@I3bg3^9IAKzh*>CEH< zOVLV(dNwxA5_rDClrwQYq9F5|&c7=)W3-QvVq`uNh2;6CKWZ0L=beZVPws~LNzv>X zm0L?^0G?;CeXY6nM>W=_mkv4{j2b^Z)J0KW65jtx`>#l8Ji3ha-$ z5_&Z*e5ZBW3w1ktOp4-ZT7rZSB64v_U5Ghs>6l=os*D9qsT;i&EgixPE!IPb7fMlo z&ymVkSg*#`Y2RR>y1_CvadGy33Cim%PhYvmN$b*0R;8QvIeJsd(x!9)4;Jw0u&pcH zwZVmYJ3nVSSI1XnKpsr0PkAIhU;pjg7ud?pwGc(t0z6ES10E0{6uUs~Yn#p_a}gvi z0dm)yfPaBPu2{(MDJwFRE6|1faFdBh?(q6drWhx=Q%Haow7YYSjboE|bG~_UG&d%Q za%Ys9l{_dNxjiJY#0XJXP%r2ZnamSfd9C~ITw|0vC-HC3$daw(>9*lx*MaxYw3zNI zryPW|;p1=~7USDTpXS(`+u;`ZcS-L0`S-fwKJorvI(M^rxL=#qu`@O&HgsQhC-Ca~ ze+&DC-Ctt&zZXis{J8)3yFB5>{`x)r&9?JbmYSi3xLshgAcmEtR^!A7p?-E%BD;E1bJPbY7h8 zWxo}me!=Xfk1T&Ix08F&GntAe&xRu@3k~d83vgVm9d<7}!`pWAa@cKGTL&>WY;wu# z!*;uW)jHm+^zo5eE~Q{4Kp=>8NrPF5V4xJwfQTE-XS8~~Z(uwvUGW<+c+n@Y6}f_O zJ8A_+Q-DYW1!=BY9TDrWL3FAD?I>RQ26*Wluh&9Kdm9itf{_%amHx;WHUIlyOC!Xxv4IX`0#a=|R#Xp)X0wD? z+lgFyzHa$Sox*#-CZU7yr$2KkuZ)rWp+}4B%f;C%e}+7GX|GO^YatJe=Z=WcdRgb> zp3T-a_$-;hV-x{;H0e-h%zFE8`9U0xtUj9jBs0&W#0r47L0NyhiM;??{JrF#k1%+E zCha=Zv_t~8g@S{DbPIY2WFhe7CjiZL#Pvz2C*KzRc9%x(cN)8L^p?Wywrm$@ZwtzA z9ccggkB%M3bjH|!zwK|ch=ab`+g%MD9LRj<%cp!d8A@X_6Jgie&wj06|Mz3C`6>4P z{X>_&z~Y4*t+OP+0uyuORFADv!;Nti#|R|4@co zKH;#`Y z9WX`*;Rm(C({hE?bmox4p7^k!YaVFqb!6mnj_T_Xk`UQlbT<{QC8%lddt%eM!FHq3GqTpJWc|!n*Ivxu%A(W>oItFw3iY;b; zsOm4GN);C}*V+l1MJb^Jtce=-t%5mVyj)yY`{w7b{U7OM<`HSSNc ztpDQ6PvD<%(1(|uY6~16b`FmY+W~ZA^aWh?8`T!*Tt!<{0EA>r(fR-UXFzs6LUxsg zdNK|5L>lUeG@K`n9JPcSFR{#50J11b>9ZPWTy;S8=B(XmGb-o-75ZnLQ{ck@2b|J+ zl+uTdW67BV9`eFpgiMkzQ^}do|A3r7Zwq_J&(wzq)YVZW?#Bv{`7x5>;=VkPq6}R< zaQ-jKeUvWG67+8(!g3-ALd3s`3@=OZi{$v_lAI>Xn@DqHW=PWC5mm2tF-2+>?kr30 z%VjrBdN+~ZO(i&@yL}@iS%3RR$r}13c15AjI{AJ6;<^r{Tt0h2O+D!Pt7_KUj$AE? z%tBBsp2ye&w{lH-e8e586nZo#dS{No-~4Rdpk(tTW^O974iNEwAT6 zr7u8P(nj4kTExN?cy}Z+V%_+l^ul+&N0$DA55DF5hWihJ;hog70;~cbRzK&w)zpz$D=J$r3w^#PZXj z5?gHcM_!Ql3uKtlyJOWIdMR|KGvRsmG2zMZgMIsU1jQF_-iKcP*fxA@7c2RSG3dHw zb&FIBs;ZI7$ya=(RSdTvziT9b-#+(KB};(_vkNXK4XPwuhOwKljp|2b-Qf|3Q3jgq zp|){&)jEcxu_P&cd}FpG#E5Rp8sKL*&x&i$wJCyzg$Tct0Xc??O@7uXv!42qv=lxy zB0H;De$-narJm1r{WGvRejA0t8U}(NyT1=l<@movjri9%9V4aRrl6h(BqHdH)u!X0 zUdsXsy$PbeoJ>4CceQ}_t_5{u3xSR^D_&K235JaN$pHKmI-+1Q5T4UPteq2q@UE{C z1CcnV74N4qdeTUzW820~Jzjr#tbIW8!8MNhE)Z&eSE>(!iXynY*N*8ln4 zQa-x=FBD7r`5){5@9`+R4LWqd2mu4R7G5Aj#M^o%o)e%PT@q(O=Kh`e@^p^rOaL*R ziG{!ucF;R{2Ne68`wb#jLT!UN;nz@1O#)7lWdpHt1;>a&lj(N@>vN`Zcq70hAULAK zu=-U&`WWkkZ#XC@9`hcs`sCx5f2W>-b&?AcCu4hud%Nh4=Y8VWU^q0qe$pVRtV!{!6>Ng&*VpdpsRB2DuXn1epv7fDUNYO6pdmJh2Fhxx#*~ zkjrOBdwC$ob1o#oJ*Umui8%iv4f$t$%0T;&-wn?JuoaO1VZZdt2laq}|9)?`RMP%3Dl1|9 zzuv%?&${uyzh8)r|K0rV?vL^RJ)RB6|J?jWL;sWY&BlDB9X|43tEFW%5^0OPVyC{f zVhYCp1Ublq6b;!zNG$Sl?&4M2SUvs=rM>-PeE#3v`?3H3U7k08+nE!OpMP@~bc&tK z8&JXS!sBV?~x-m zLlJ;F&*YbR14aulMpU2rYX^TdVLD^%*<$Gr9Rom%U;qt+7xGUrhhQk4Atz`ndRG8& z=N_BZa+!>2b00DECNA^{%8Wg112P}E9@Y^dKz`?!&kXULx^pVaEP{{d(WE}0JAxhm z?-3+uf7ky-k?oF63kAPTJNO$D?v&1CG6ot0Z|)3b%FiwN?+|(u@-ECCaM0lH6i9}w z!Gn%BNACbnswv9zH``@@v!A^J2jEwYvw>RLM?c&v%ts(qOHe+C9w~B+tzWflHYlYj zIDFjBBotQ>-u7FOc&=&#Ywv)@3TYpMYD$N~syr9Wme!g(4!>nneg~hwXgMJvTN==E zci41%WVW{jNWnjF5MgIfC>2=`(Yfbv*5)h>4YDO_iWG-|2 zE!it$;s_ja86Ao|Vq1pk@oOCJT$NPtO< zKs?8SRt_W}QvFNxrHTDX(c&utoOo%Mv&E-4#NV4t!N5#+M?qnp%Ue732v7 zzL$qx`oB%t1|X)`FJD@RCSC=sWu&O-o9!8p{AIwG37PD;znSmrNtVs~z_F)k`{mpkiF zE;=Tau7U&JxX>hXd*~x@0QQ8y$e8~FP!w$EvHxru3b`o3F=m2;7?UP!fB}ujp(e{N zvjqqxt;vhL8BGI#R@h{3VbE3ytY^Fbyv0o?z4n zUcFP1j1&$@9sb2C<@h20Em=Q0PC^1^G8t}6dEg*0ta69mgzw#4^DkQl5|*NgodfN} zw-YbsBP5b93AyZW25w7mIcRXZg2UO;vV@Ome@!)%%1nC)rpR&+G#L#F4(0sF)#W=N zQy@qaDFw76K&y6-0IKXKsUKx7$pfxuvt&UivQzQa1#lfZ6g`IcO4|(h@6)PdQC*lA zT!RH5q=CcU@puPqJHzZSZ~*S1N46w9{tq|MwzjvK~i?yMBd?$g21pgSCzBOnO zw4KSwWx^0r>X8_9-mu!l1O?!k5XnDtgnFjCwJlhWvr_~O9b57zwe*O2>|B4)*2M5|u z;J-lx*Z&4TY1<$D!txHMFWOH6=tuF-G6lqIl?v}N+nLyC9I|Cwsf^I>Jv8EO_7{X*?b^pS+RVJ8PC#g$q*>#cP2xY zN$A#g=8d|GT*wuR06P!RGYBv+BF;~~!3pAGUY+0tl-p+&zoi~7B8~Ne(Qoj-~ zh4)Bo>ARM1Z;*GK^sIl-vKT{bQ4UH-is>WCmy2P;7Ovt?fwcBftZo9EDv4^p2DJV7 zF_THKV`3nJ*2)QnPny-2LP&EQsV~)Or~*R+V7X*i3O$;1OKV^-=LyWih27jSI02Yx zkP9aJ6mByGFV&l`n6%GdvdUsPRZLVJv7KSF(@=VFd~L5zL0sdrekuh;N1`>g9csHf zpTFeTo3+?yG8r8Xb#KKQBqH;^S-7oMV>Q_NBMynJJVw!?xd+drXiIo*a-;oSxq?@? z6C`wy)C-F93pvzVWC)@|pS-%wT{D?wWv>x7O^IUimC6%YD4Pwz zA1HiP$i5vEl~;)>#r#=F&QL#TKW&G_kv&3&xI>ZOji&`)*gJD<>X5Cb=X8oalP*-a zabj=3%Y4kJvp|dn%QO0%AWx__Z~!*rh%op+ZmW)$?0aon5Ij6Zx|Zl+QJ?V27z&8M zn^QX-qP+bq?j%qqifoKJQD2`=FkVmMxvqo0?U~*=$(smIRgDl7G#36U8Rh*fKWKFX^vkgkM^9dz(DrbaGqUf3Th9VE>2TbIdc0 zzxMX;+WnvWemwqbH(&ha$Ntavc(U1SCSX0A#@~cFclkwVBD&HS6TZ)RFY{)WK`1nG zT^vS?adjZyDpv(6?tn7Tx&#Fm#u7v+5BZKJ!4Uo_OGKzE<&}-q5ylpR!hu7k_+d!q zBOkM&IWCJt{`@l!tuF&D4qvGe?7gZTjo&60n0G-BHRZm<<%`{XUqtNEM1en>kex~J zQub8|zT=DliLI;DTv0d?QubZqylR)-svkA-B3i4(k5iGGJl*P?dyDD|d`aoV#TEJ#Q~uQr{;Bp5vcW^KpxSgV`$ zjMrK_CZ*E(wu3UFEjJyNUpFXalP?>Ue#(?@IV^nyUotM!>#h=IzgOR3WX2KPY-lFc z+NeX{b#TV9+;DUzR@0&@IuFUaPS=gvmQwI}12$-4!*yH)r>_`~0mhq+M88#E|1!=Y zLP<_{=Sk}!ErkJcZob#uxo_$+iz}(`sp7rbkV^t>r`w?^-LjFLylgG1gEFyit;6~^ z>RJNi^*!?k_9^?U;H|5{X9jNjQw7 zov8A{3=+ul{|1-)juw9Hh(ZY~JV%QJy$dGw%l2mKgZ0S42I}AjHWDVg2;E`}zWlD^-hL=QR=(QXZOPu~(J!7ZVyqLiVrJ-034VY8t<_+FWM!j-q zgfn@kO?Qvn;fDc zVQyr3R8em|NM&qo0PMYad)qjYFus55Q(%21R?bQjrs1n z4jcEsjg6U@9VYn$c z&_-8ayqLl1CPd9TxOO%x1NrD=DQhuBg(dO>({--EoB#UA7TFI4=FLf9A7KOo6jzZ5 zZVq~;oM2e8Ip}%m&vKEyD6&PSFs(5;9R-?idLjLCfCAEfJh(ovp#x{8Gs|Mt@FED29~4hkr9lU1K7t_v@I>0tysR}T{UbTHk3+r(?b8w`DO2MK)#E>FW=lTYA!2K^PpxdVY&?u$q6 z?>z+nu1~7}mk=*d@TVAn$Mt`uTrO7+^?&)I_EZ1=i02h(q6fIZA&3NkDzro>in&)n zG|T{)0nt;}y}JTY9xx=D;=#lepougLeFT=!H{lecfasVh0v-$kqyy6lU9fQ%J_wQR zVHl#In9G?qoFQs(T-$aX0nLaG+FXHrJ_o=nFhpTUH0u6mf;oVj_u$h4Zi=Q0+$HjT zs z;q1V`0N^b!zIU;yZLYx01Mi0SJ_?W%#-D~r^HCUSB7&}9eFzHVLm{AF2z{?W)732G z1I=|F%o*qo`#j)GjHqUdAZ{K=3*Uo~bPeeS5bIj7GBGB+Uj$U^1GorX8-}qth%HW3 z8O5gq7yvkRmlSh`NK)e!VMl0~zD^APrl2E_`UoIpbjl(6mU4u4a7cge)Gp=S0Vaan zbAxc^qa&h9{OUU6_<_$~b0G3IMC3pxyaEpp z2Sg|W7kBfYzZ8(_vc# z9e0J6$Ok4V1X7=vYUV5vD}yNd6#}}Ol>wq{O=nh&>@>CEkrlwEg^12Kpff{6EC{lP z1?jFLZLJO0k^`5}#H2f}0F%qTdIcH@Tflv!6NiI4I`Jc1ASg0C%w_fW-k>ESvi977 zR2-5KgcEcDwK!lHL7$U{SFgbJu8lEpcI2KN$**3e;6xE*H9{krT;1H~6Udu;!b%?n zk*7eKmsK0@!OHcm0Jsj`0P_I^3(s@?Fq(l8;7HKpd6}P8M9)+POtE&L4%oJtqqg|w zfrtv_UD0p@Djfl$g6R-3pq;F_j)Sz2ntCUNPt9UFo1?u$gv<#-1a;Dv#O;Yxqf&BYSl_PRfMS$)TalwInkZ_=9)6S+pISd!cEs9!Ub(a z=E?`Y8Ag!){XhTxKas@F^{IAGpreX&A*S3sk{?2NthBMKK}>!VI^(4b4TjV}44Lq5 z$TkE??}}!26!$|`D#)J)v?G7ciDYy9MV5D|bhN}#vZe3-tEMjBHm-!2^ ztZyV`;7iQqs;}t0-eQ<3D=%Ti;B-b16v?}rvR)T<)VXMJf*`GK2bintjM@@po*!6T zXCQL2AaNC)@l0WhKPj?aotAI5;=Ile=E7Lugf42aEor3pq19T8BhTqc)%BD$T5^l6 zijpAcE3YrKGT$nCTWHCmD0S-s(^|`tT-Pi5?by<45aSVQUz$Cpx)LSa9WeOQK&my= za=3==&=a<}(rb0=k|ehq7FQP;zOHVKdIZZmL-L!E>pf{53`MSfw-xUD^38T=@t9}% za!*>1<&n`G+G|%-ycvFec+)~6k z55=x8C`MP4)vCzp_dH`*N=F{@OgQG->!GS}vTO;QD1~E5;RjOVa-cL-Yr67Qs;r6< z=MCk#+~GU?T5REw#Br7=>o?H8ycsBK7TUO`x4Xem?n;uP-$|8$-?P1i(Bhgrqpt-? z=m{;|;75X_w0h-+6$*;Qhy9j-p@sXB*xSOkR2G{&GbkH%!7;i$)?1CsY#=bfEaErZ)?+w+u8>lSvpcZd@hUNSnpO0S|yyaGjGq+|6S zVYw}tVRxzsc(APts#qVPcFk0=D)pSMC7a>kj^&^{GL&IU4i%?O5Cp4Xv;--KvZt3zAsz9C79PcjcO` zF`?VDE^Dy$VJj)?y2^Apse{LoU0dBT>-JET7lZO_tIv6}Kf-Xz@&3?aYP==8N~_CG zJBA`DeC4j}RroT$Zdk(I5Z7C%!%2h9rLRZIy|whc>Zv$q3F;Co#CPIG2ksV(=% zb0HWzgY8h{Zd8RG2+g{yTA`_M`US*>DU02Kt_*JVxoV4yJ`$V4-H`JjvM+B{7SDT} zyA(!()N6SSfw^q=m`l5-RLgu>tLaSvOV0In+LDKN%q8Drxcf1y3sZ$#_B&V}th~C; z$n}B3_2m}Z7DoDwB;%HhZ&o7HZ77o57A1xm&abOV`@>3Vk6BH`{h^|oz4mw`Y}HR1 z%ekU-Q>FSt5xP3dsSS&5j3w@wWm`#EPG{uCT}2lJi>(u#q|S|sz;Wu(3YUsy-R|_` zx*4YH z5?bnwV1}+b@D^iM6_mE>^~|ut&+E#VSufO<5Gb5sPn+spe;8DIty&GXX4S!5V5L@< z7Zt-*+6>#9ckQv$g&M1Knj=({7VG!Qp5MS~O_HxGy|z{6J1tgi%f7lb-0}8?8IBB2 z!g2uZ%Tce4o1&=uQ$}9HHd~V|uZ^1gx+m-IlxwZ@EpI8Z*Bi*ZpyBbY#0cJ9x!YFe z_)~u*hl;Gb8Z)jA=G^^IH16d&kMEfA23is;H9}X!-7ef-Z>P%TR%x+z_c+7#ET(zVy&+tOB=*WGEEcc$ALW>8-D2W58LQ@FZh2Q`iLHhkG&cq|7!mSc5B z@9A6Bx-H+-kiGULrFJ21xzS*&)sQ9g5-TtbEC|Auu1xS@)+~qz#8t=tms<%(79wNy{q z*4IRKhMeBJU3sC%c#_gyZ(++@>77<>%4#fXuP=BOuSJJjshsQxHop<)-MfLp+psNT z-jORqiF5i~H$>uKDPTiT=fe$U7;7amE<0=) zbIl%C^h#G5&b)!F%(lA3-c1#`BR7Q&YU;j%2iw86K0=NmNep&12CIFEE%#(0M3}4g zTAn|!FDqJ^A46&EYa?qZS-2+2v)kB*;zVmO8!+-vZsGP&;_GrtqW;s}!2L)(FAHss zJ+6UdVPzl-+)XRwls%8j6LbbQ29i)0t*!$roD0ji(;sQ80o4#{eIWDA0oz;YW!-_5 zI`u{d$|dpM1c8%TS@C3{ap~||?q*yLZijQ78E!6Ry)8(BghQE;Yoa1JQ>?(A)I!wAa~pzN;s)_ORYxfRLocGS+GCgZxH zH@Pw2_)r_zYe~TJTw=WtZq*8OZfds`ugY&_L*YC_ZCguN@h*C--jnC`!NB}b<5_{x z9odwnF5j@3EtE0SBh;3=4Y?)NrmR#JrL}~t%O%ekD^2W%!l*7yExjsBI;XVPSjR0! zY^^_yZ58)eX)Ve^Ll%v?*fC5=(ryK%RZ}c1!mUw5tyM*}S#MZYxdF=uQhQuQ9a))n zybbSk+k$;*OB~Nk%i*Rk)yk?>6Q&%m$aC(K%<4UnQ^yK6uy*au8d^U<7NN{l)ew(3~GY6DpVUup>qQZD&vIjBl4eI-gOU$XVh zl*0{a-fj03S%r+uBiyQLBlTvywQl()SBA36_R9PxSs9cS(HKa~xTbeMb7k#d`mN?EAWQ$SSJ@#(pjZ~-03eB4>Y|5Rf zEz6QMtMVOhJ`m-qV)0N@yo({`xvNpYWuO>VEd^o&Z>09l#-|;-1(YO7k%!(o&D>7dmHjR$X@SjvpZ)s&? zsFn>uQV9O8g<80&ZiP_qaEoDkJx5Kes<%EcBCFqv_G;a4d5k{us*=6-Ag4l&6K>@4 zWld{`cS^^*=gR`GwAQ2ETo;GK(1LBb+_P%~G~!sKcsFv3n~UuAYHF|L0i&07(cpS> zYpEz}w_))ERql#|t#LbS$?dVS=7$`wz_!=b%W7R#x=UH^u2hLthb^`y%w_Sm+;z0J zYQniOoXWB!Fqh3~N3fK3*BQ@^E;K*f@{A$$TO1x(H~v`WZpEhDk{wRq*{;H~o;Sd~ zl~7hU{U+|{BfZs=f-15vZOsbrbxE-FkvA90#!9s=d#LTTb=wg8*WPeY9=H)Vu7b$-K$ zj=I$5vI%8=izI{Tb>v$~R=ZGP&0E&HX?JHK;8!+6x zYF-BY_J`$w%$!+W9ddkIm&aSt!WEHWFVr%33tQ`MzuDyl=EHWd@)rH3D)vU&3bnOz zuT!t-l6-N;7$bFf+3j(vCA9fK!LtqDxST^Q*QX3?4Y0Kww#QY`GRmsN8)|DkK%<)q zYJ0-C%-=Qe^_FJ@L+6CeZCMc2vf#?rdMh=FM=r~1OI`C4?hQNcS{&7_X?Z{&cQ3lxxqCJF~4Qb~{>G zs7VsL*4siuXleu4_<=mw_7&dN72N5y1!g?rDoE+}WZYVfMWd-YoZV~6 z8_8A~WXX2J4n?VHm34--WT~|g+j?W_NL6U9wtcC}O4d5OEeoD1>1))yUXAUp2rIZI zwJtk+=Vqxj@x|?yzYuNNMv`Gq?aS&^v~DG5u!XGPp|&COmR^G3+~Ed7v$xi^Jd`T(axl`$1FV--MHZ&E zT0^2SlsIp#%iLhfxEpQ6uTh)1onkMTj&Mtr4PI+v_mDdC zfh3O`*1CUJ9xR2H!3b>qlhz!sM0vIuOKTO$>Q=|~^62rESJm*ATHjhMe5h zq;*4YcFn#tTPyZjmMX?TafA!8&G)C)Y&Gn3$7tT|N#)+Uw-x;H%3Gk3ZVbwtGUaq* zyzLI}m{z4{eprh3+LGp7PifYhO0%`>F}SVSa$B-PiOy>*u0Cyt%&_bUQ$;XTWnCFa zAGVUhE*dsd>p4OlN_ro1T~C#}25RC!YkMO_)R#!%-La(hg|cxkZn+z&!QoBL2w&g!%GRdW#C^dwJlMQm4ec5)%+-tAaNH%t%EmwM+Ajr~M)tLd)E9($(0@Iu8CX@zizS-qvMyTl$*HR_c6Fa)0 zGwe+Rcbnr;eLdX@a4748;a0cRR_Mx{%P97ZuW}kASFUS%<5E%?sjRlU)uFQ5^hVu5 zpX1c=mUG2&=<#!Xp>*maZOg0ucJ+3=2?b5mKaClkRdAh!ExD&N>{@ASn_k=9sug|F zm$5iy_2yJ@tBTF|ygget?K%CJqftaAg4yPwK( zM`dMKWI{>a1T1QKmWsJsL6S$3qitl4yHLycLLY_|C|g_D9Q)%DFQU1?kD0)i+v|&| zvX&b**AW@EqH~5QZ8b(1-K=FBH{?;zSDo%HvbcMp%-+aMYpp7J2-`9qv-KrxU2dkL zQBy2=f#hy~XbFbWxRj((eJDAtTPW+U(&FpWc~?}p!CK>RFqZ4v-dwk)Bac&@K}Eu{ zG_<;^${HPYG^pw$ZZ3^fC^x(6ZH2$kIvg)oq%CZDif-Sm^_i#gZK12Q*s{=Oq0H9r z#HJi77JDrHib_2mTwOjWPhmX9N&OtZ#5QswO(0h3Ui||l!Vq$8f+9x?(&VWE-SS%uNWe4 ze<<^2*uUG>`#kn4+Q?dIW$$*(Xt#qhdxwUXAuoBK8!zU zcn7?sND}5m_ifWaCePKu5NQkF3^$g?nQ%c zWhe1f`Mx8#ZrC#e8-|*ZkE#<51Rh+B-IeLg4lB!sw$Vu0U6c+;n;H~z@h)-{f#xrq z>p%*S58Ti|J_rryM3hBaun*A0v<-3(EF5!*`~YQQAHV~4R|I8>XV)(J>Y%Ok9q-b% z#o-@017Vx+H;lqDuD~Tjqs^dZ!5O-Tp>YNBCD#jgfoh~kK9|#78=4Lu?S;m{#YMU& znvc+y@6Zeqc1B&6GrdV19y^J5yRSfgS)I5J-VphW|9lUY7xWLxThe;^W4A$`a6al@ z+a;{X<R0bxM7ngc+eP8?T96B>syIglv2F>b>(2+S=FaiPI)3lFIxBzHJ7C?-V+U)QhmhVGDwbBcZLE zj&3@$_f(wG8rmNHkO=}$IvOYjav~%&av-MSJqTPICGi|HA9_Xr9(>oP>Vgge5X77F z5m1C94om{lP22#|i$t^|Y7=RF^$OfL!1Z-9SloCh05?nEuAck2o8HH<4U|~~1;JI! zxtiB-Z4ZX#)Wl}EIiY28uRx22)a*tu4TsQa*iEclin+klkp}%J%!yRMrCK6fxwNoP zbSh!0hoOe(;B_CUYAOIClS71&7P>y|g=-bShX>O!!%dN(<6Xi50oll&Mh%BJaFf^& z0CzF9!%RqC6l-MAkQf&)Y!r8H&(%o>5yT2KL(cU%(+|Ri>jVp%bdS4>Qo5HLzzpI} z(340X-<%nw%RLvnvkh39fjPw}Vu=|%YLc>z+oiu-l?Xhs9`7eQf#f{@Ma6$PKa(w@7H`A(Tk zW0Op6fuRq!u7lD*o4o=Axb zfjwr4$hU*^3jhT`ORUe99IC!1a(1DUWZQ z{V$OszuJFUNPDON&wiQaNIfZ6lHMa0I&?9LPSgZDIVJ-wFx&;!sb>7{&LheoEI>yu z?5Zo}GF7Llpc!d1=!991fClaP&_lFO0y^puVFx|6gOMKse}NGVxugnJg8>S_+pJnH zL?L4Din;x0;s`NM@TM`I3GQoxS|FIyPd*BfLue+}<_fSiJqN(21@ejar7e6PImCvS zndEg3u7{L@;0n~D0}06|F>xX)Oz>Pwcq(Q!vI+M)e)-6DLj+d78KO9P{XKvIh|XP2 zkq!(L#Vo&im3HcmEorCjUX`L?^3*Ba58RA?y^5-x&}!50_z(wR4~}R^2O%Blk)_Gh z8zE3g`C^EJVr*Z)N6P)gPb6AALhm3A1p)Lo*?6*`WT6ceg((csMHNKnBuM)osp>Zk zHjp2FA&9?1KNopkh zPcWKGgg4Yr-O(7yKvaJm9t=Pnbay6jlTs4106ChgBYlrel${pZ#O*+OB4(5kX*?kS z5s4>X-l8aao|yh?e`ws$5{Zy7{n)oPdRc zQ4mm%l(_MWfOtb>R*)Xmq33T%mzhOW1nt`v!2&(+O>#&Q`O(Q40B6v2f)KzHq=5hW z2-sqoE#_VUPoG9JxVSY5FUd56CANyq|7#z}`@v6o{x3b9Rhk$Gdt@RUdM|Sn@bUA1 zEc5HHhv&a*)$*@D&;R|1=kw>%FJNifSJ4WIiBY)m&_|oFMKjP9_@(sqYmPwWT5FG} z0-|*sxSK#ywN=c;a0Q^F2h%|ypH6rPa2^zPpXq{DF-kbV6HG-pI($kXQ|0=F*k4Bj z7Zv)aX%80<59S)=3p-@U(dpk2fsN!ubyCN}0^<$%w1AkNU?-Z3l3vUyD8f$RLsAE6 zMgXQrgNpz~4qZl*(FQ-52u5;ko!M0z@(dK;ezX!1h>OB5+FtM7`rn+FgdT#t~% z)6^hV_w=24aB`2%2MO^pwdZ+DfcE)oKBVkSKBg>9V9o+Oi|07lVR}vJzxw$6Zq3k{ zvLeD#6e2!Fg;QGh-hMNIo^Lwg1IYh-Q26&Ce}FBj_ge(*+~0cwnCV$EVB!Te(yNJw zkdB+^V`%%cYD91 zbJu$zoY8a*QchxgqHCY&Ddc@}&el(l@*Z_L8I2PP8Fdfn3UIuReme z#Ob5|EBdY*CL=APy_hbA5z%-D@=3}3y9{FU0XS|5-XhxzHz&{>bX8LHEL9($#*wK# zk-QV69OHgQ-Mev7%AbNbQS$+^M3cP@-N@npMkZ4={O;XJ+(d}J19b>z`yFV~8^q(D)-!~dFBZ3->$Hry;D8oVi86)OMs`u*%;q0``J}t42 zh^P#)sS_)EVn_72r0Cs?8ORbhSsEI|MP#}z7_9=%eU+o_Wu-r zV+)nv-@SYL-&f$>XXZWo_1$Ooef8_>|2ffvK0(ogp=O*yo$x8dK{5MvzgOwb;#&=d zAb%e@kP&}2fVK)8mVOV2*B-4A14_VE{zUEBK1p4rq|S4cosfp(u4$tXxIUO62l=Fj z?%U~c`P`7Mbbvy-@)sovqS=8AgzXabbApl?1Pc_DYV5_Yujt=IQjrrDK2$507v*0o z>~Sa0P}uj|ajo}pjd_r`s2Dj^OcNLN11R1hXBHaoz!zXT;m(F8)3y(!+J&Aw-9K7hCA6RBi{{0RL!kdKmb z#0Hwc`q0s@v1dSjVMlHF0;U&L!}aEYv-cF;yvgQ3{m2cV*D@B$1`(@9AX7Dq!TL;rO%=Vn2DNAa&08}3Qk}nSPbas zm?(C!-|Sz}^~oiQW?k?hL_T;xt7M85Lp;*Y`(cXQt=b%?9#0pQy&qpZ8#r zaU%%!o)6uVD(~z@K2$MRZY!8`XaEOYOj?#b}Z6oi|mJSf2Sxz)6 zq9E0dXNcHaWcvEGkPNZ{^t?h;SuRaF6s0opJX$o}csX1?ErQrfqkhsk*m$uh1&+<) zNvfh8AILXDnlUQFyi8yi_yTB35Hd#)O^lJB2X9kMNv4%p;k_eR6K(S@_u@+zY}>bt~aX3A?i(pNrF_fX~#M&JL|~b!b2BOWaW)Sz)DbKjt&t zb+%ysprq&e;m1b{5{Tm(7e4-&pX*cYDk<>^UzJMv*Pr!iF-z9h{MG(Tg70gdK;HL< zVq0hpC(ZiTeGr<^C7N8M4l??*8_7ozi69>bALh?7=jw_*Z2Oru{C0K4{{9j~pP_^; z|5{{4NU`kzAV$<8jN&Ix(ZeRGNYkFGx}?uaZl>D$BR#Cg&_W(bsq zE#a7i$W_k5-CqxfN?&Lm!eVzuQ)T{HqV4Jk2gP6VzsJStKbvGc@7c;!D<@&Wld0>5lPC-Eu6Is; zrOJtDjpS>Ad@V#@ivbOH&X}qsJi=Y*nfR4VKkqEW9?U_}gEVY}it{)QfwS_nbUosR z+6a6E`#LfDmc|p&h|)-3MU_2w9m9E$8EY9@k}4KHCN;zkbN=<`&9s=U{%ii~ zlDT9`&@)R*_OLX~@Jt2q*@y}WjyT_9Vj~_g5efSuYw4hH<@y%*2&TTN&k~6a5Yn4u z0`_q)>?T-2+e3aaiU+wrRaYjkDuN0Q%F=MQr;1Xbl$PiWKrBxaxCo8OgX_o9+c8_t zNaE>~hdYr>BEX|mgp)Y<{S30xX$yDAGPy0!V8}wG#gb)(GX_5SoZs)cWWVrdZuawzi%~+&qGlk?n$U!RONb{nDO*Wm6Eko@ z2*X8i09dV*Pk_d%dP0+Mo>NybYy^{SN>m#PqT-XphCP8N1$zWlV&S)YnGx3T?;vByae6zrcv)OK|)jK(_s{+OirGpb4lF|3Y*`n zPccw@#0Mp~;;73hN={Hvm6t^ty*SXuPvN6SKgjEjDBeeBXC5$|kxDWc2=Dvk+adC= zxf7MRV7eg!6*HR*HsX!YMX>l+00J1A!GoE`U4pn!!}SBvUj!l2ll82_N{z_O?{|@S z5DXLpg)V@ahP*J-WziXv;)(uf1pY%oBry4-CVt(?5N*hw47nL01Ayr0dmlZRYeZ*$ z`BLnqktbg5+cl0%zT!FP$)&*JPJcx?W@!RV3K_(`8I&|1>BtF9h?A`6L6n9&G=S#2 zK~RX6AJeev6l3hs1dSbrtlydv+zCUkheE^Eqc*i$V*WkI6X%)!E75=Y_u@^TACfs1f7!Ugg=n-y_n^b z#Aj(gB>j

eDNI&sdf_yCN3ipr9c?JhdK{e`-N2pIs3<1D#nC%RjLuwp+J9u{L&Q z&1<)?*!SS41xnYyqKvymEnck4ax)VUAJrAZ(&IY^uu+fw$;*;alKFp;g~?<|AX$xk zT->8!EMyN)uU4xf@aBA*IGUua<=^q~_F-Cjr!O&dWN(342CSd?r$&d8jY zFKh-Oa-y}HKQsmY{pthrfysk>^v~C?e@iE6q@pMY=)4#Aw{*r6E_?@o3d4f5#jgqA z>sXmj7QPule+3|SsPfWgJQW(o_3m~4G<%YDx7X#X*Ok)i>T5HYKz|mzCjZOFYUxNR?X{qk+zwPSU@5ttpcEwu zc>QSvtgOWF!#E2%?oduDtHy^-n;4dKm`YjGX z;TpXDeBW+fi`RTh`T8yoeh2^YAKF$E85C}q3vo>IAhEbFhJ=K_^iH@l5vR6bT z(0fZvpB`d2)74_luw5M#1TZVC3IWJx3C-`pJOU6cu_m1bcI>8ok3az)_d(`2%T7Xf z!d8peo&9Z(n{*EXVx0aLXg;(HfdLEU+C?7x*MIE@BCI4>jVX+_s3TMl=AY)96HETD z;-DwK^)6T-N*6<{lZJu-1pu(IK}Ejr`lOcuC@rC1BF=c^WYaICo52eDPSio3sV5q@ z6xv<{S@cXj!M3EK?}-hFtKHpI5`bf+e3Z&2Rn4*SA;u#`85tGA{|Vhvpk(Y`CL$Tz z18NHnfa6bD=m!{t+RQwJ%)U-Q7pveHaQ8BG+)khicDVK$<0Gi2yE8}ZIgu!bGAKro zxYTi{pfJAitYn)uDw2tHkkFK@^^=!-;Uy(k3sFd>UkKV6M{72T58=~Wl>m5?_3}U= zb@~_=Eo_ zju@2CFo84Vg!!cOnvfs4o8+(jo3v?ABg5dN)JLDF*wa?0Wdh{T*q5YY*Gc&LD%8A* z<9dt0NWUc82ncx)n@g1TFSw|sUti6(rnd*5^k$|X$uKVJrC;cH&iZHB$d{*+F}(c3 zQ^x6xDlJf3RtRzM_tvnFu0y?qraiG>^$L)A5D~*dde88FMh{36IlQO;PtrIPK`Y8f z5iNdCVSoy|%n!wH=;$Z`MAYOcVZ~l^pH=ew8s=lg(?k<-pw=CYc`C*f?=dX4su3m!?J5(}x~PH?XhhOP1Mf{=}(% z$kcHMlmPe(j3z`?r+HQi;LYRV7^O^ndhr)R+M91L>Lbnd$#kMXKkTqPPmJT;jkJ$; zd1$V3q+i`JwDB{Me4)n(oDf_b?@nYG90#f=Y&xLxFn8SX@?!za-RUI0DbCfrtUx~? zou2K`^OtVLz={?e%!f_p-c#~S5%iHip_{CKs8U*T*C4}nh)*3~iMm%+ygWm_!Yhz3C0xqq zGP|(!g1$@>-p~_izy1E^YR?UNMWYlj3KOh*Ukl(({CTpZneisX*$RlGq(`pSXOC#I zAVf|WL1-A7_Q(I1e_QZFKYOko*LJ=gJ1kLJt_himn9htYK*r5@3Qa_Ff$#to9_faO z=jxMPg-PO~NwTd?8=|@XxjJ`aD1@P@9gf_nrZ_0=>VSZJW>i`qf}-moCos&1uwX|w z51Y=c7%a7`OXiZz2x8QniI1oxpQ`c|7$$KT*%*eXAP8KrLiEfqUGkVrH}Orc(Obt2 z!E^&ARDVn+@p=c|?4q(F@?%aV!|AttQX;cO52A~q(fSHd&gJ*MM0|-bT!DN5mq@2L z@&^dgyp>lV|C-G|PKM{|f0P0u4BuUUDouZsik&zB66nVxq5yoC)InOlD|B`M6#%3w9#@gmXG1S{)Qyt~@hK;nis?Q>gz;_h zukSM0_WO4-iLd6JOmb&BHq-QEQ(lC_8D>5PMl zOH`stuRpV2<86~ejr$yxMFYaf#5|*`0X1Fj(ukJxEqdAtJmK#pv$mfu-%pqCPj~rBiM0I#+Jh&TC%!zr^zhS4 z{InAPtF6Rw2-%+9NRkS@IT*jYrO{Xc>=v&Q&5{46#W3*O9;t6$ItDGf9{BsIrsjzX z+tEx+(n(7~O6~1hBrnfzK*VjNO0xJ%aUQtNAwM72hjoPARbs88lupUD8}!&@V7qQ; z9AvGcwr+yf^rj*oFh#afWRkmLq8kUkOMy`Inzwj#@T52%88!)`edYVauzn74w43OB zW%A%7^fH7VAU!q%-%o5{ZeN~Qg7n3R)y=@70Wriuv^|XWHjuuD;!~JkOdu$7x>xt- z(0z#d#R!kxj~=qcLyUi%T{+KJFJM zJz%IojhvckCUeC6*-7>BNwGh7W}2q{`XjT`f9?*#J!Hn*AjPf}96Eekiw9Vv~bO|VQqvhoI(!B3$;$by!H`B>)|9A5HFYhLA z_y2vG8PW08aN~X7QrnNE*woO|B$s~}$&+AVf0@v|iFg0~EaGjN?&MMOEB}DxKS%xh zo|aVly7~`s(cOvs&rvvY9Mb&~S)d=!|IDzz)_y(6|9nyX_2Os#=O6JrmH+vLPu=Xv z)<6Amfy2o8M>6~--zNHW|IEix8GRbxS{CQU-a9RnqFDsUe*zIb_x1#uBtzX3sOTyA z)2Q~7P8>Efzq@bdxedxEubwQjM|_&RNwO(yK0cOXK5{+H2k_f(prC{N>(BdzztS7S zOL_47?|;kYlkkvDC&(XPzkM*B#|jpx?aBXA^pKqg1++#Q-Npt54dnkF=E3K$;IH5d zSUBb(*L1BQ z^v&4}`5&`sDWlvCoaxX!7#^~tnSPXkF~fPFn-BCZIx-i94yZCrl+Gef21B@E`gK|M`p%j=7$j}%O{@efe``7&6fbORLf7B5>xUYHemyh6=D#QG8*aMlixC=)I zFm20mQ!@B6r4#P#o!0_j>LX}n)=1(%b=OJbz03#j`g2_T>j6~}P4r&VDEXqd0qz5p z$>{d^R77^PXdda;GcuGv^}#`_3H_KmsCXFnPA0)fbiYrgtD}C(t^=Kx;G~i>QXFL- zsWJ=|;X^_M6yNHL)@DFSI@fx8`AtnH9}2JE(i`pm`tQNJBNn7JJ81Qdm8NVxOHne4 zvY|Cmwby$*hL{Z3O_aAb(;0D6+zkI?341Uzr;z{NHty$h{yE|QdHVF_?tc2WXUzXu zmOYsNS8L^;{@)LI=NAQBb_T zzlq_4Vh09fvK2S3bnog-Gw>H)Xu3{)q0izQ`%aLtWcRWso`jg95VG0i3z3U_qLyz? zw4hIOfrm5#Zo{?Yz$G*>@yxGI--d8pWpTe8@y*qOV?_{IHVwyUEnARx_kG!vsk z1GBpuW3Lt0j^lf?!j=z!A5915NI`dFTlLZOf>v_!lT zT#V|`YCem|V{k{qkIW_eY6Lt8;)jg;QD$aj)Kk zJT?RR?}~UCc!X`(tXzTYd z{QfKkB|;j+T%l+4cC9Dwah$;K8<_AO_^@I%+$(E`RM-V zpY#78^L*p|&xc;oGZS=D*l(TnF3d;n)J*D!-|5!vA=r254z^uSZB?D04*zf1rizvn zVh*EE$9LSMc;c*-R59J$U+sBJPxVk*>=4T{ikwkj0MNU$uAaPPq!7#5!i@8}MkTL6 za$r2ZE|b3dKwj?EvMZh``hhtv$WflLX~fsfKf0JbPCVEq#gph$wbt+LOggDCU^ygH037^ zB)*T&UIQ}>5PqPSqavsS_W?{7j!vZIJ`LqgcDQK(`PnnsFS7*tNb27tV(QN`n@JUq zgq{6SoB1e$e^FVD4bV>MXZW9J{aUqBKC%_@%Rg!gPKDteSc3D0;B<+zhTsVNS%%<5 zsYeaL-`fNJ*M3gT|3Vm|hXoGMcSZf}p2z2Zl}hbs{r{p;Wq;29e#G;w@!!z%f{c$9 zi^}ku_cZ^hjYF*Y_~&rJNAw~A-6SI0li>7DZu0fTwrN4ix)@2O*C>XpE09KX8A!8& zghWzTi&&XF1Cp85I}{PE|h#>I8)wd-3e*iWDz3n~Dqu*NHzXJs}C z7PR3E-KQ7EXYMH2jrsGJ%g4aa4?0dr+ymHkU3`VvUbTnVl55T~*LlbFzYUPRL_Xbp z^AX7Z*GINkW(w>4K?uq1Vv1q~Sd9ODmqi!X&@iAgLs5vzb12HfA5ym`uqR(+?{IW= zG>lcl4k-Kflvlr3YA0IHt~GQq^0TuD@?>6SuVtVytfvcR2m@b$lacVxpTCU_Th~F? z4-ckeh8cds_{~meNW-s>-hwoBRCD2*&TOa|NMB&nncd7BH+|h&BW*#`h3y^l%Q90$ zzI}Aom@4bm+VfEq#k>EVK+xM>9-xUAJ}N|+V~bN1!hg&lPHh$UK-0tS*1(OLFoE$mZfo*g<7Vi z8yK4QeyeF>>Zfh|5%Qzj7iKmJ-1fpv)AX;v=db6BqzC9ydVP0}v=Hh0G-fsf_q$6= z4sINNBF{4x=b`5v6OlY-hz>`xN!0e;)`%1K6v)L#-BLAb%q0vL7o_Y&$%6cW-MIjCf8rr)xDn1^% zZwlzUXV|MFd{5K=yc-<9tyzy>(D))PeNGjRD9;m@M!(Ep&EC8HJV8BufAzW1`WP?~ zuAdWhvC5lSDr}J?Y+ookYO9j^MiC(m!qxeWb@N z+}E0m>HTBI{ErQ@Z>IA6>E_aDa>=I?6+Y!b?AN*v{dh;8*MzYGj59~1=%O4EX_kjX z`Q}01cik`#itk=nV;)rWxYj$N^NuuLA*+l|T&G_;ZBnvI2|3GCV*E+Z!_)XEj6%&=_bB(2i0B^(pV`L2Cv) zXyp{W{h`QlWUyWb6Q@$tJ3Oo zDxK`PgwJyv54862X!|ZButSI4vlifV6SNah{VBmSu|{{o}_iE)3T0r%I#q0$$c z|G3H3JJr`=0 z9z)q5O_|dvkA#`+3h&nU%ZF2dgWFlaBR1xlYVt{yf51!dEUkaIi*;%`@cjxfMfE4B zz(3;l|I184%?I!{YyHlh=6v_Z_`{r@ik$DAy_L8>Fa}Q*f0En$#1o_6M zJY)HJKUn2E*PoBu9RWvo-jp=thr#|t!ADT$<6y}ku$NTO@EsEt&SkF3AphxPHp65UBqeansf5bsMEcuPz*?Co+?L-u6 zC0Y?ZepA%<$I7E|pXU&r3202^;mr4^qcfiu2lpM3aK~fo4^GLWjjnXQVCqPN{+W|W z>DR-PNdI_eUQe9=JQ-5_JqJOb%KuwtFAnd2U@m^M`V8GzsM-S#2BAZ$EPZ{2iYY`aeD{^~3VNvE^#zDF0in@>Bo+i07=rzCU#U?pss1CG(B5 zxs;;se>^wuarv`)=AYGgBxkvyrlBC{xjIVoCkY7ZbStdyXpg3}irCn|Fi0{DWZv+H z2fH6Bx5w|jT%^(YS`_SNE^+BcQU5dwfAW*+e=39~J?i|@bv&W}nHpO=(EpWkrTkO> z|A^-mxQ8LpIP@Z=sQ;s@KBfy3N4IK0&4M!&6mzeDXqZ8A`9}Z(17Qqi*qufP#7$@R zo~S?=noATd1@7KMN6)axl|_1#9N;hSihxYPf$Pwcge2f0A7Il##ayvD zoD4(PM>#TKv2E7@a$^W|(+_gRnHiSo|0D8q#p%{B(f=nej9H2NFZmfPozf1`6l(uJ zdtcY(D2}wb*YzvB-8VCHwyGttbINmec1~gtHa2o1^Z}Z)=UqT_Vk0nVlQ!mJfBT;N z{;taIs_L`vZgW#vCPIow5)Xk0BFf9=rqa=ezkS*rnh$^blqThezkO<}=EL9q_lKVc zJlU=`m%G8tc6J{=-F|HS;nPax$uBo@+s*nvBU9a9|HL`9edkl9zJDKI^Z))1p4a~| z%+cu2>;I29;@h2O+ZvqK$3u~C^TGLQpYI08&E<8v#oelE^eS7m$D4wAHy8gETc})L zJ?jmUL9<=$uNmqNqrn-dUL6+{<;xg)z=mtHd}p5Bgx>`{4mJ$Dl2#Y?bh^Pj{}t)2gYs2 ziJRhn#ddRfUJR1Uc2iydc2f@UJijScf0rkHQ0KYI)sd?b6wqdnx6)C-X<%ZtAW~NmsMWh zc(#MpZtzgPCu#rj;p5=nvwGJiTE9A$yUnld)s;Q?ICv=0^gsV{_i>BbWH;{CmEQF? zF3mRIukyqF%ZHE6ZKBOzRyW;zeEZB@XTLlo{`lpuzrn&~lh@nJCd z`R9RslYQVO#A0_H&2zU*2F*rYC%xV$+tp10%7=w>o3$Xe?lQDrZ}i>%`sm&I^*-!B z?z_38%7?`6Px5@+grMAHzfLzBohLV`KX%3D@E^O&^sfK^SpE8s!9#8E^P4c?pI)?n z6I}X8@lg)T2UIs9Bo7>Q9~5v8=ckLy9zk<;CH2MTTfsZL1nLh^9(|+HBrcKV@hVc;c z^9q{TuXxj*ZS!4Tw_iu|6~nK3x-I?s8v#7h{OQ@)<@IHC|I?;vpJ!V9IQZ#QACiZ{ z-M2r!hV1ph37oe9)fOOGG0IIyfMOe^LSJ4^zISxZIHkF#(qx>w>G}-zWz#?qHntX z-gmRR8^+n$yXo#h<;z6!sFKGkK%SKL_(7nab^ShAS4yt|dlUis63$a=zl`GXih2aY zxo&$v7vW%2zx%rTiq=~|ip{RAlj^mJ(VHyMSLeU?tX$dnO21#8mB&hNfywf#NAgvc zw689-5VVUBP6$&TU0F8a9t)ZD0)QB~J_p)K3B8a>n>*MJA~}@+nIZEm2{fm=*kc2q zP(vM=2(}E24@;r2asWsn-zR2)6d**fW|6|iOQv#7OGF4e%ma-q1*Ahb#zBdu0Y#iJ zWGc|CNUtvhSHskp^>l6FU`=9zh?hIiVUb!UrPI-pE#<(5n;mdjY-)OQQ~S^5I$*A8aE;Fc&L0}XXsSD4C z%^^16j)3-%_G-=}FJvwp`sKK%Q$#Xqjg-Ur9B5a%O(UkxJehin91(z7G4)N~lnjf6 zl1OQJmTT^^RqLgK=%BZVq*j!>qm|T>`L$Q_RU0fIN_bR=(BZA9t+Nc2#^TUaSzqWm zR6Ad*OA*D8(({oo%1%1Ol&i7!ZMDJ%=mJjW$|fy!iB`SUD#(Y-MJ_cO+qa98jE#r5 zLLhUC#Y8ihPq7H9!o|Ee`p($SX>jy=416|XBvOJo$X=rC5LCrfX+=q71vJ8R-uo~$ z^kwd#ZH9t=0pKb{%^I(E^DHXDm=!1f)GNYrx99Gx&o!TO(FuvlE_LKHRW>eF{X1g#(RR-FPUyetK^SNiDvn22ko9dWV zqr(DpZb_)ummGq@{Mpjm`)491U45&V`2k$laee#Z8`ZAvEVq~ z3bunBATHga6fT?xCBZ(j7Fm7XGnX&pHQB{=(1#Swq<{gjt&J?(l|bqw(Zz~WFHjRJRm>a{4>SZY8 z%6H=<>E%TR(T1|w@R~ma@f1XIQo>2h&^vXVJ6)szpDav8NC~YgPLk`wBnZi{Z1Z5zyb4Qo zAdZ}oRlAWva~VTPgex0=)lTu+5;5p5r9*ZC6;*1>#WLIteP=XEobzF@CXhKErlQyg z7eIgQRdMYl8B{2%i76bo^^Imb(Q?H2sp-3=fu|0XF5k+&*u?z|gi(Q*=DVaCN4}wL zO4T+6yh~g-;$`FJHtu|`HYsurs>h|^jURAKG9AwuAkD(?T(Q;{%ZRsvt4#*tVX#JL zAuZ1M8tVm!k4ecOo3tCMJum4``&5j3;XtB}4bd<=mK!@~Yc1F*>0=ih@2HW`Y+&dV>#T}R zWqKk!ZvrmPd&S@)6@1EVa?EYD6*}mH-iq?NU<~L@2DDrbSeFS5*Ed!~NoJqE1QBH#qgoEC{E-eW@)(35}>i>TE@AC6Qb`t@ zsVTMZv?$;ON-EN(Q(bUg&NBfoGNYr)VcWPYB(4?A9DL-??!a^aB#e&~G&*Cd&q{gb z8|^x-_=&Q~oP%x?Q_V3L5ni5ygl{_RbYXD5F-K2=aOn%F@!;Cw8teI8L}La6k);F=z>G# zQzT=d3!R-dYd-bb5S||bfov-Hj4)Eqjdq&?b&*lDp(QXWa7=t`%ekq#5S3;Km?<61 z1Aq_<$8+f@ovw?Xi>8f1JDXH&FQ;)IR#1cxZSytWGa%Qbmod?Dl9$1jIRxZlj8kJb zWR5yecG$8?9aE$yZ0)(e;4%Rm=h_)&k(|YSImb3K5-y={;0rDSL(n2%ARcB@QpV+Y zDW`;qa0mU>_^`A|A|hF*2HB1LVILSnF5^CfT2a$kzRtmHoFjU2c4l`RX!>S8o(?2dbY7&YV2H9b< z8m~EOtkm?69O_PKS^7f7%ys(2jYl{_^8~;JUh}}O`7~vRei;$WA>Qy>pJcT*h*KW@ zwLjuDUWeiMp!#gSoHmUDs$be1QmSLYu@TzEQ~`V;k#aJl2&GXFCa&7|%G}Ym>`AMp z=rVM>b#9kK<$MMdsxw+0x~00kF)inu{NruRb8{<*twhJ+B&agqSaJtA}D;kDv znYi5Wt5J|g2Vrna*qamF%KQ?#-hU^!Xj}S zPZ`qU!rOE19VCM?bl`}rIh`9`ow;(Atcx(^oDnd#((%kP@RHT%IR*t;I!FiQ zY#Vblr#5$ZjR=OGz_4io?H`CCk4sxmRiqrB?S^?ZuClT{Q;d`ab9BYBaS`eMl-%vm#2&}u@BU7xi;_Qe@v zBjIZvQqV=&RL8z3htlXaex$-&6B-z571aJ*nz9om+9wP)0u^Scd4x^bq<}2sdIo4M z_t~1S5{~pi=8IH(~*jR)S*`=`1lQljH z?r$@SFXMV%eh6PErlfaOR563)$HmT+|S zw7m$Y{6y8~b5=H&WL?ZM_s}a*%#`Syq#6#D(_CGnlYk>9ce{e~*#Sd+LS1Amxone4 zPV%~u{yIA>*|-&T(Ih5rNv#WU+RSO``2n}g&{fgW;S)Ah^QF^lL%WCw#56A(xQwK$ zpm(+ME+q6uO0azhMz*MN#RM{#eQv70NK)-h6Q@{DNJC2{di=<_3_(tT^d?dp5^TxsOYtLzl>~Iv4@OJ!gf1D=%7@s);oz zl%bl`E=Gi55gOe|j^bhN;De|)o!|utbPVH~?*o0hP1kZFPMexf&wEO}X=acSW3W>$ znFx1$q1*;$y>*h82nRgqmjYKx=&A1#5J$+&h39ka9AaA7vPP9}^CPPy$V*;Ls+Kal zG!%d(XU>tjYLeD$n3RWp$%c@XT{|~OBbn-Q`}7c39!*R=V$OJqr?Y)#>yvqpPiV!f zoE24CjfW{M=d2F;1d=9q3yw=QWNxtxYuO0r>bhzU6sS3m{QcZeOo(R99M}^vUgGKO zNDMg2*v%f?-<(`VtAdVs-$2xTG=atT3eB@IU z5Zmvv9w*G?`yk4UKr2HEPSQ$_a$1B8HJ#!pNWtcqMYzjdFi&-}OC#+_Uf|5un>kd| zCFeyztu_WqNqotK-A=fx_FtE=ZA3W#rfLvnc;VSPqy))xy&O~1O^f*QbpW*;Q~0OzxuqV zRadgL*9hCPh3)KppxvzEE~{F0{ajNbD|K5C8VyMWDWvGkfPL=k=uHgxlJUf+UEjqVkVcwD9&h)W^9U#(7{8x#%|opsREwG%Z6g{8Dd_@l(j~# zPv^c-9(`LcNmVq7eR>G15hiPSGBIOB(w-zCS3%gTN;>U^qYV(%Y%5U)xOqBK zlQENk8PfHJp*S4<$P1PT$+$-wYP1brt4lGpqO8Yq=?>@du_YN*7co#!XbUC|_Z5Jh zaI>TDZhC2|%O%$|h00FFW+*DK#Z?RfQ^sOlZWU`C4C14#vn#(gNoqD!r_DYE(3XZm zL5a>%&ZiRc4FxUZ#~sX_rj#1Z3F8r~vm;07L>l@;g{_(JvQO-I8%LPtYl362+j6%% zNkzve6`E22O@#`|`V5e0*6~VDc;s(o?alKNoe=}hIB+^CRGYY5$I#j*&iI(pVkAm_ znR9O$mZT7qF=LSxvf7y^Ty2Ddt#s{Cfr2hWdKYu6_t&aSqXvmOFq!5oEIlbB_U&@g{sCeE(yXwmPrqu?C>z;dAvl7gw}%a@`vv5Jl%Eq`p!<7 zA8&Sa)Uz#}pMM^l-6qs~8Kw8dsKB$w#U8#EcEEP|oy>g#zi0hDi8gqL{5J+0+*O$P z4Z(wt^4XuScI~UdB;PjK_fv5f==Y+Z$AkKY^cMog?f|?V9SGs4(Ra1~?O?!{g72{U zjW_Sjld1eprhnmW`zw;K8Gmo~YhgNr?;QovHJe>NSk*TbS{~3OyFqdnqw!WO#CvqV zi16L9WZ+vD*z>5cv*#6Oz8pk$_H3!V7tNcoWAF#Wj(r8w7c{;I>q+&V@6KG#ZR^)j zC+~srw!-^RG@I=!D4vu$`7(}G{UW;csZG~kMg3+ZFSOnX=Ud}Ozdk8%Q{lEV8JaYD>5Bs!Y&)2-zyANC*)V}1y zepUJ#J=lj5LBGX^eO!s*M|rUifZylGz9s(!pYQ?3>%Q#X_+y<~n(V7=@k(W(KlodMvzG<8zT*GA7|{14`a{1Tc!BIqJ0De3 zd1)IQsc*83+%-RV*8bx`ek$};&c*k+q~A-o*Bb9(+WHm2ZzI|3u73-^-X(!IA3vrAuxu&|7r7Pf!uWS$gzFvUiOywbHaV2sMAx%eK7IW?_$E+HU_ti zJYm~6WPS_L-V^>E&%WN_*C_Wn)L(CkM7=gq0KnfrQ!m?nJZ86NUt39U7&s}C`aFO0 zyXNI}l`4O=yUw-uZI{WHdwd1PW6AeGy07i^-ADbkmLD5@fBxNO{+QMAYSS+aefJu9 zT&e7(txxJ1{I0FyH`;$;@U6&Cf97KO^Z4`l^Z4`lPjUR800030|K_T^O#pfU0Di9@ AZU6uP literal 0 HcmV?d00001 diff --git a/charts/argo/argo-cd/Chart.yaml b/charts/argo/argo-cd/Chart.yaml index b366ced6c..440b9da60 100644 --- a/charts/argo/argo-cd/Chart.yaml +++ b/charts/argo/argo-cd/Chart.yaml @@ -1,13 +1,13 @@ annotations: artifacthub.io/changes: | - - kind: fixed - description: Align changelog structure to show changelogs on Artifact Hub + - kind: added + description: Configurable dnsPolicy / hostNetwork catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Argo CD catalog.cattle.io/kube-version: '>=1.22.0-0' catalog.cattle.io/release-name: argo-cd apiVersion: v2 -appVersion: v2.5.9 +appVersion: v2.5.10 dependencies: - condition: redis-ha.enabled name: redis-ha @@ -29,4 +29,4 @@ name: argo-cd sources: - https://github.com/argoproj/argo-helm/tree/main/charts/argo-cd - https://github.com/argoproj/argo-cd -version: 5.19.12 +version: 5.19.15 diff --git a/charts/argo/argo-cd/README.md b/charts/argo/argo-cd/README.md index a7c8c287c..02482d753 100644 --- a/charts/argo/argo-cd/README.md +++ b/charts/argo/argo-cd/README.md @@ -464,10 +464,12 @@ NAME: my-release | controller.clusterRoleRules.rules | list | `[]` | List of custom rules for the application controller's ClusterRole resource | | controller.containerPorts.metrics | int | `8082` | Metrics container port | | controller.containerSecurityContext | object | See [values.yaml] | Application controller container-level security context | +| controller.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for application controller pods | | controller.env | list | `[]` | Environment variables to pass to application controller | | controller.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to application controller | | controller.extraArgs | list | `[]` | Additional command line arguments to pass to application controller | | controller.extraContainers | list | `[]` | Additional containers to be added to the application controller pod | +| controller.hostNetwork | bool | `false` | Host Network for application controller pods | | controller.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the application controller | | controller.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the application controller | | controller.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the application controller | @@ -543,10 +545,12 @@ NAME: my-release | repoServer.containerPorts.server | int | `8081` | Repo server container port | | repoServer.containerSecurityContext | object | See [values.yaml] | Repo server container-level security context | | repoServer.deploymentAnnotations | object | `{}` | Annotations to be added to repo server Deployment | +| repoServer.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Repo server pods | | repoServer.env | list | `[]` | Environment variables to pass to repo server | | repoServer.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to repo server | | repoServer.extraArgs | list | `[]` | Additional command line arguments to pass to repo server | | repoServer.extraContainers | list | `[]` | Additional containers to be added to the repo server pod | +| repoServer.hostNetwork | bool | `false` | Host Network for Repo server pods | | repoServer.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the repo server | | repoServer.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the repo server | | repoServer.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the repo server | @@ -643,6 +647,7 @@ NAME: my-release | server.containerPorts.server | int | `8080` | Server container port | | server.containerSecurityContext | object | See [values.yaml] | Server container-level security context | | server.deploymentAnnotations | object | `{}` | Annotations to be added to server Deployment | +| server.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Server pods | | server.env | list | `[]` | Environment variables to pass to Argo CD server | | server.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to Argo CD server | | server.extensions.containerSecurityContext | object | See [values.yaml] | Server UI extensions container-level security context | @@ -653,6 +658,7 @@ NAME: my-release | server.extensions.resources | object | `{}` | Resource limits and requests for the argocd-extensions container | | server.extraArgs | list | `[]` | Additional command line arguments to pass to Argo CD server | | server.extraContainers | list | `[]` | Additional containers to be added to the server pod | +| server.hostNetwork | bool | `false` | Host Network for Server pods | | server.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the Argo CD server | | server.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the Argo CD server | | server.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the Argo CD server | diff --git a/charts/argo/argo-cd/templates/argocd-application-controller/statefulset.yaml b/charts/argo/argo-cd/templates/argocd-application-controller/statefulset.yaml index d853a8560..634431dd3 100644 --- a/charts/argo/argo-cd/templates/argocd-application-controller/statefulset.yaml +++ b/charts/argo/argo-cd/templates/argocd-application-controller/statefulset.yaml @@ -312,3 +312,5 @@ spec: {{- with .Values.controller.priorityClassName }} priorityClassName: {{ . }} {{- end }} + hostNetwork: {{ .Values.controller.hostNetwork }} + dnsPolicy: {{ .Values.controller.dnsPolicy }} diff --git a/charts/argo/argo-cd/templates/argocd-repo-server/deployment.yaml b/charts/argo/argo-cd/templates/argocd-repo-server/deployment.yaml index c786d7143..a39c007c3 100644 --- a/charts/argo/argo-cd/templates/argocd-repo-server/deployment.yaml +++ b/charts/argo/argo-cd/templates/argocd-repo-server/deployment.yaml @@ -356,3 +356,5 @@ spec: {{- with .Values.repoServer.priorityClassName }} priorityClassName: {{ . }} {{- end }} + hostNetwork: {{ .Values.repoServer.hostNetwork }} + dnsPolicy: {{ .Values.repoServer.dnsPolicy }} diff --git a/charts/argo/argo-cd/templates/argocd-server/deployment.yaml b/charts/argo/argo-cd/templates/argocd-server/deployment.yaml index 2f510bc37..aa06bf254 100644 --- a/charts/argo/argo-cd/templates/argocd-server/deployment.yaml +++ b/charts/argo/argo-cd/templates/argocd-server/deployment.yaml @@ -415,3 +415,5 @@ spec: {{- with .Values.server.priorityClassName }} priorityClassName: {{ . }} {{- end }} + hostNetwork: {{ .Values.server.hostNetwork }} + dnsPolicy: {{ .Values.server.dnsPolicy }} diff --git a/charts/argo/argo-cd/templates/redis/pdb.yaml b/charts/argo/argo-cd/templates/redis/pdb.yaml index 8be05f938..223c57589 100644 --- a/charts/argo/argo-cd/templates/redis/pdb.yaml +++ b/charts/argo/argo-cd/templates/redis/pdb.yaml @@ -16,7 +16,7 @@ metadata: {{- end }} {{- end }} spec: - {{- with .Values.dex.pdb.maxUnavailable }} + {{- with .Values.redis.pdb.maxUnavailable }} maxUnavailable: {{ . }} {{- else }} minAvailable: {{ .Values.redis.pdb.minAvailable | default 0 }} diff --git a/charts/argo/argo-cd/values.yaml b/charts/argo/argo-cd/values.yaml index 5cff81684..c3f6fdab3 100644 --- a/charts/argo/argo-cd/values.yaml +++ b/charts/argo/argo-cd/values.yaml @@ -580,6 +580,12 @@ controller: # -- Metrics container port metrics: 8082 + # -- Host Network for application controller pods + hostNetwork: false + + # -- Alternative DNS policy for application controller pods + dnsPolicy: "ClusterFirst" + # -- Application controller container-level security context # @default -- See [values.yaml] containerSecurityContext: @@ -1448,6 +1454,12 @@ server: # -- Metrics container port metrics: 8082 + # -- Host Network for Server pods + hostNetwork: false + + # -- Alternative DNS policy for Server pods + dnsPolicy: "ClusterFirst" + # -- Server container-level security context # @default -- See [values.yaml] containerSecurityContext: @@ -1931,6 +1943,12 @@ repoServer: # -- Metrics container port metrics: 8084 + # -- Host Network for Repo server pods + hostNetwork: false + + # -- Alternative DNS policy for Repo server pods + dnsPolicy: "ClusterFirst" + # -- Repo server container-level security context # @default -- See [values.yaml] containerSecurityContext: diff --git a/charts/bitnami/mariadb/Chart.yaml b/charts/bitnami/mariadb/Chart.yaml index d5988e4df..5efaf4e9a 100644 --- a/charts/bitnami/mariadb/Chart.yaml +++ b/charts/bitnami/mariadb/Chart.yaml @@ -6,7 +6,7 @@ annotations: category: Database licenses: Apache-2.0 apiVersion: v2 -appVersion: 10.6.11 +appVersion: 10.6.12 dependencies: - name: common repository: file://./charts/common @@ -32,4 +32,4 @@ sources: - https://github.com/bitnami/containers/tree/main/bitnami/mariadb - https://github.com/prometheus/mysqld_exporter - https://mariadb.org -version: 11.4.5 +version: 11.4.6 diff --git a/charts/bitnami/mariadb/README.md b/charts/bitnami/mariadb/README.md index d9236ee13..17b097298 100644 --- a/charts/bitnami/mariadb/README.md +++ b/charts/bitnami/mariadb/README.md @@ -7,7 +7,7 @@ MariaDB is an open source, community-developed SQL database server that is widel [Overview of MariaDB](https://mariadb.org/) Trademarks: This software listing is packaged by Bitnami. The respective trademarks mentioned in the offering are owned by the respective companies, and use of them does not imply any affiliation or endorsement. - + ## TL;DR ```console @@ -83,28 +83,28 @@ The command removes all the Kubernetes components associated with the chart and ### MariaDB common parameters -| Name | Description | Value | -| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | -| `image.registry` | MariaDB image registry | `docker.io` | -| `image.repository` | MariaDB image repository | `bitnami/mariadb` | -| `image.tag` | MariaDB image tag (immutable tags are recommended) | `10.6.11-debian-11-r22` | -| `image.digest` | MariaDB image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | -| `image.pullPolicy` | MariaDB image pull policy | `IfNotPresent` | -| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | -| `image.debug` | Specify if debug logs should be enabled | `false` | -| `architecture` | MariaDB architecture (`standalone` or `replication`) | `standalone` | -| `auth.rootPassword` | Password for the `root` user. Ignored if existing secret is provided. | `""` | -| `auth.database` | Name for a custom database to create | `my_database` | -| `auth.username` | Name for a custom user to create | `""` | -| `auth.password` | Password for the new user. Ignored if existing secret is provided | `""` | -| `auth.replicationUser` | MariaDB replication user | `replicator` | -| `auth.replicationPassword` | MariaDB replication user password. Ignored if existing secret is provided | `""` | -| `auth.existingSecret` | Use existing secret for password details (`auth.rootPassword`, `auth.password`, `auth.replicationPassword` will be ignored and picked up from this secret). The secret has to contain the keys `mariadb-root-password`, `mariadb-replication-password` and `mariadb-password` | `""` | -| `auth.forcePassword` | Force users to specify required passwords | `false` | -| `auth.usePasswordFiles` | Mount credentials as files instead of using environment variables | `false` | -| `auth.customPasswordFiles` | Use custom password files when `auth.usePasswordFiles` is set to `true`. Define path for keys `root` and `user`, also define `replicator` if `architecture` is set to `replication` | `{}` | -| `initdbScripts` | Dictionary of initdb scripts | `{}` | -| `initdbScriptsConfigMap` | ConfigMap with the initdb scripts (Note: Overrides `initdbScripts`) | `""` | +| Name | Description | Value | +| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | +| `image.registry` | MariaDB image registry | `docker.io` | +| `image.repository` | MariaDB image repository | `bitnami/mariadb` | +| `image.tag` | MariaDB image tag (immutable tags are recommended) | `10.6.12-debian-11-r0` | +| `image.digest` | MariaDB image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | +| `image.pullPolicy` | MariaDB image pull policy | `IfNotPresent` | +| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | +| `image.debug` | Specify if debug logs should be enabled | `false` | +| `architecture` | MariaDB architecture (`standalone` or `replication`) | `standalone` | +| `auth.rootPassword` | Password for the `root` user. Ignored if existing secret is provided. | `""` | +| `auth.database` | Name for a custom database to create | `my_database` | +| `auth.username` | Name for a custom user to create | `""` | +| `auth.password` | Password for the new user. Ignored if existing secret is provided | `""` | +| `auth.replicationUser` | MariaDB replication user | `replicator` | +| `auth.replicationPassword` | MariaDB replication user password. Ignored if existing secret is provided | `""` | +| `auth.existingSecret` | Use existing secret for password details (`auth.rootPassword`, `auth.password`, `auth.replicationPassword` will be ignored and picked up from this secret). The secret has to contain the keys `mariadb-root-password`, `mariadb-replication-password` and `mariadb-password` | `""` | +| `auth.forcePassword` | Force users to specify required passwords | `false` | +| `auth.usePasswordFiles` | Mount credentials as files instead of using environment variables | `false` | +| `auth.customPasswordFiles` | Use custom password files when `auth.usePasswordFiles` is set to `true`. Define path for keys `root` and `user`, also define `replicator` if `architecture` is set to `replication` | `{}` | +| `initdbScripts` | Dictionary of initdb scripts | `{}` | +| `initdbScriptsConfigMap` | ConfigMap with the initdb scripts (Note: Overrides `initdbScripts`) | `""` | ### MariaDB Primary parameters @@ -311,7 +311,7 @@ The command removes all the Kubernetes components associated with the chart and | `volumePermissions.enabled` | Enable init container that changes the owner and group of the persistent volume(s) mountpoint to `runAsUser:fsGroup` | `false` | | `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` | | `volumePermissions.image.repository` | Init container volume-permissions image repository | `bitnami/bitnami-shell` | -| `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `11-debian-11-r71` | +| `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `11-debian-11-r80` | | `volumePermissions.image.digest` | Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` | | `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | @@ -326,7 +326,7 @@ The command removes all the Kubernetes components associated with the chart and | `metrics.enabled` | Start a side-car prometheus exporter | `false` | | `metrics.image.registry` | Exporter image registry | `docker.io` | | `metrics.image.repository` | Exporter image repository | `bitnami/mysqld-exporter` | -| `metrics.image.tag` | Exporter image tag (immutable tags are recommended) | `0.14.0-debian-11-r77` | +| `metrics.image.tag` | Exporter image tag (immutable tags are recommended) | `0.14.0-debian-11-r86` | | `metrics.image.digest` | Exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `metrics.image.pullPolicy` | Exporter image pull policy | `IfNotPresent` | | `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | @@ -551,7 +551,7 @@ $ kubectl delete statefulset opencart-mariadb --cascade=false ## License -Copyright © 2022 Bitnami +Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/charts/bitnami/mariadb/values.yaml b/charts/bitnami/mariadb/values.yaml index dc40d203b..3c7c3e170 100644 --- a/charts/bitnami/mariadb/values.yaml +++ b/charts/bitnami/mariadb/values.yaml @@ -81,7 +81,7 @@ diagnosticMode: image: registry: docker.io repository: bitnami/mariadb - tag: 10.6.11-debian-11-r22 + tag: 10.6.12-debian-11-r0 digest: "" ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' @@ -989,7 +989,7 @@ volumePermissions: image: registry: docker.io repository: bitnami/bitnami-shell - tag: 11-debian-11-r71 + tag: 11-debian-11-r80 digest: "" pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace) @@ -1025,7 +1025,7 @@ metrics: image: registry: docker.io repository: bitnami/mysqld-exporter - tag: 0.14.0-debian-11-r77 + tag: 0.14.0-debian-11-r86 digest: "" pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace) diff --git a/charts/bitnami/redis/Chart.yaml b/charts/bitnami/redis/Chart.yaml index 92f9715fa..c8c599669 100644 --- a/charts/bitnami/redis/Chart.yaml +++ b/charts/bitnami/redis/Chart.yaml @@ -28,4 +28,4 @@ maintainers: name: redis sources: - https://github.com/bitnami/containers/tree/main/bitnami/redis -version: 17.6.0 +version: 17.7.2 diff --git a/charts/bitnami/redis/README.md b/charts/bitnami/redis/README.md index 20373c910..988058f18 100644 --- a/charts/bitnami/redis/README.md +++ b/charts/bitnami/redis/README.md @@ -89,6 +89,7 @@ The command removes all the Kubernetes components associated with the chart and | `secretAnnotations` | Annotations to add to secret | `{}` | | `clusterDomain` | Kubernetes cluster domain name | `cluster.local` | | `extraDeploy` | Array of extra objects to deploy with the release | `[]` | +| `useHostnames` | Use hostnames internally when announcing replication | `true` | | `diagnosticMode.enabled` | Enable diagnostic mode (all probes will be disabled and the command will be overridden) | `false` | | `diagnosticMode.command` | Command to override all containers in the deployment | `["sleep"]` | | `diagnosticMode.args` | Args to override all containers in the deployment | `["infinity"]` | @@ -934,7 +935,7 @@ $ kubectl patch deployments my-release-redis-metrics --type=json -p='[{"op": "re ## License -Copyright © 2022 Bitnami +Copyright © 2023 Bitnami Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/charts/bitnami/redis/templates/master/service.yaml b/charts/bitnami/redis/templates/master/service.yaml index c03fea702..c2fb9087a 100644 --- a/charts/bitnami/redis/templates/master/service.yaml +++ b/charts/bitnami/redis/templates/master/service.yaml @@ -30,7 +30,7 @@ spec: loadBalancerIP: {{ .Values.master.service.loadBalancerIP }} {{- end }} {{- if and (eq .Values.master.service.type "LoadBalancer") (not (empty .Values.master.service.loadBalancerSourceRanges)) }} - loadBalancerSourceRanges: {{ .Values.master.service.loadBalancerSourceRanges }} + loadBalancerSourceRanges: {{ toYaml .Values.master.service.loadBalancerSourceRanges | nindent 4 }} {{- end }} {{- if and .Values.master.service.clusterIP (eq .Values.master.service.type "ClusterIP") }} clusterIP: {{ .Values.master.service.clusterIP }} diff --git a/charts/bitnami/redis/templates/replicas/service.yaml b/charts/bitnami/redis/templates/replicas/service.yaml index f2619266a..c0b6861a2 100644 --- a/charts/bitnami/redis/templates/replicas/service.yaml +++ b/charts/bitnami/redis/templates/replicas/service.yaml @@ -30,7 +30,7 @@ spec: loadBalancerIP: {{ .Values.replica.service.loadBalancerIP }} {{- end }} {{- if and (eq .Values.replica.service.type "LoadBalancer") (not (empty .Values.replica.service.loadBalancerSourceRanges)) }} - loadBalancerSourceRanges: {{ .Values.replica.service.loadBalancerSourceRanges }} + loadBalancerSourceRanges: {{ toYaml .Values.replica.service.loadBalancerSourceRanges | nindent 4 }} {{- end }} {{- if and .Values.replica.service.clusterIP (eq .Values.replica.service.type "ClusterIP") }} clusterIP: {{ .Values.replica.service.clusterIP }} diff --git a/charts/bitnami/redis/templates/scripts-configmap.yaml b/charts/bitnami/redis/templates/scripts-configmap.yaml index 39fcc5011..96e2f1a0a 100644 --- a/charts/bitnami/redis/templates/scripts-configmap.yaml +++ b/charts/bitnami/redis/templates/scripts-configmap.yaml @@ -44,11 +44,17 @@ data: hostname="$1" {{- if .Values.useExternalDNS.enabled }} - echo "${hostname}.{{- include "redis.externalDNS.suffix" . }}" + full_hostname="${hostname}.{{- include "redis.externalDNS.suffix" . }}" {{- else if eq .Values.sentinel.service.type "NodePort" }} - echo "${hostname}.{{- .Release.Namespace }}" + full_hostname="${hostname}.{{- .Release.Namespace }}" {{- else }} - echo "${hostname}.${HEADLESS_SERVICE}" + full_hostname="${hostname}.${HEADLESS_SERVICE}" + {{- end }} + + {{- if .Values.useHostnames }} + echo "${full_hostname}" + {{- else }} + getent hosts "${full_hostname}" | awk '{ print $1 ; exit }' {{- end }} } @@ -262,11 +268,17 @@ data: hostname="$1" {{- if .Values.useExternalDNS.enabled }} - echo "${hostname}.{{- include "redis.externalDNS.suffix" . }}" + full_hostname="${hostname}.{{- include "redis.externalDNS.suffix" . }}" {{- else if eq .Values.sentinel.service.type "NodePort" }} - echo "${hostname}.{{- .Release.Namespace }}" + full_hostname="${hostname}.{{- .Release.Namespace }}" {{- else }} - echo "${hostname}.${HEADLESS_SERVICE}" + full_hostname="${hostname}.${HEADLESS_SERVICE}" + {{- end }} + + {{- if .Values.useHostnames }} + echo "${full_hostname}" + {{- else }} + getent hosts "${full_hostname}" | awk '{ print $1 ; exit }' {{- end }} } @@ -426,13 +438,20 @@ data: hostname="$1" {{- if .Values.useExternalDNS.enabled }} - echo "${hostname}.{{- include "redis.externalDNS.suffix" . }}" + full_hostname="${hostname}.{{- include "redis.externalDNS.suffix" . }}" {{- else if eq .Values.sentinel.service.type "NodePort" }} - echo "${hostname}.{{- .Release.Namespace }}" + full_hostname="${hostname}.{{- .Release.Namespace }}" {{- else }} - echo "${hostname}.${HEADLESS_SERVICE}" + full_hostname="${hostname}.${HEADLESS_SERVICE}" + {{- end }} + + {{- if .Values.useHostnames }} + echo "${full_hostname}" + {{- else }} + getent hosts "${full_hostname}" | awk '{ print $1 ; exit }' {{- end }} } + run_sentinel_command() { if is_boolean_yes "$REDIS_SENTINEL_TLS_ENABLED"; then redis-cli -h "$REDIS_SERVICE" -p "$SENTINEL_SERVICE_PORT" --tls --cert "$REDIS_SENTINEL_TLS_CERT_FILE" --key "$REDIS_SENTINEL_TLS_KEY_FILE" --cacert "$REDIS_SENTINEL_TLS_CA_FILE" sentinel "$@" @@ -492,13 +511,20 @@ data: hostname="$1" {{- if .Values.useExternalDNS.enabled }} - echo "${hostname}.{{- include "redis.externalDNS.suffix" . }}" + full_hostname="${hostname}.{{- include "redis.externalDNS.suffix" . }}" {{- else if eq .Values.sentinel.service.type "NodePort" }} - echo "${hostname}.{{- .Release.Namespace }}" + full_hostname="${hostname}.{{- .Release.Namespace }}" {{- else }} - echo "${hostname}.${HEADLESS_SERVICE}" + full_hostname="${hostname}.${HEADLESS_SERVICE}" + {{- end }} + + {{- if .Values.useHostnames }} + echo "${full_hostname}" + {{- else }} + getent hosts "${full_hostname}" | awk '{ print $1 ; exit }' {{- end }} } + run_sentinel_command() { if is_boolean_yes "$REDIS_SENTINEL_TLS_ENABLED"; then {{ .Values.auth.sentinel | ternary "" "env -u REDISCLI_AUTH " -}} redis-cli -h "$REDIS_SERVICE" -p "$SENTINEL_SERVICE_PORT" --tls --cert "$REDIS_SENTINEL_TLS_CERT_FILE" --key "$REDIS_SENTINEL_TLS_KEY_FILE" --cacert "$REDIS_SENTINEL_TLS_CA_FILE" sentinel "$@" @@ -614,11 +640,17 @@ data: hostname="$1" {{- if .Values.useExternalDNS.enabled }} - echo "${hostname}.{{- include "redis.externalDNS.suffix" . }}" + full_hostname="${hostname}.{{- include "redis.externalDNS.suffix" . }}" {{- else if eq .Values.sentinel.service.type "NodePort" }} - echo "${hostname}.{{- .Release.Namespace }}" + full_hostname="${hostname}.{{- .Release.Namespace }}" {{- else }} - echo "${hostname}.${HEADLESS_SERVICE}" + full_hostname="${hostname}.${HEADLESS_SERVICE}" + {{- end }} + + {{- if .Values.useHostnames }} + echo "${full_hostname}" + {{- else }} + getent hosts "${full_hostname}" | awk '{ print $1 ; exit }' {{- end }} } diff --git a/charts/bitnami/redis/templates/sentinel/service.yaml b/charts/bitnami/redis/templates/sentinel/service.yaml index 362d681dc..ac5b41145 100644 --- a/charts/bitnami/redis/templates/sentinel/service.yaml +++ b/charts/bitnami/redis/templates/sentinel/service.yaml @@ -38,7 +38,7 @@ spec: loadBalancerIP: {{ .Values.sentinel.service.loadBalancerIP }} {{- end }} {{- if and (eq .Values.sentinel.service.type "LoadBalancer") (not (empty .Values.sentinel.service.loadBalancerSourceRanges)) }} - loadBalancerSourceRanges: {{ .Values.sentinel.service.loadBalancerSourceRanges }} + loadBalancerSourceRanges: {{ toYaml .Values.sentinel.service.loadBalancerSourceRanges | nindent 4 }} {{- end }} {{- if and .Values.sentinel.service.clusterIP (eq .Values.sentinel.service.type "ClusterIP") }} clusterIP: {{ .Values.sentinel.service.clusterIP }} diff --git a/charts/bitnami/redis/templates/tls-secret.yaml b/charts/bitnami/redis/templates/tls-secret.yaml index 4f9c39b85..3479370a4 100644 --- a/charts/bitnami/redis/templates/tls-secret.yaml +++ b/charts/bitnami/redis/templates/tls-secret.yaml @@ -1,6 +1,5 @@ {{- if (include "redis.createTlsSecret" .) }} {{- $secretName := printf "%s-crt" (include "common.names.fullname" .) }} -{{- $existingCerts := (lookup "v1" "Secret" .Release.Namespace $secretName).data | default dict }} {{- $ca := genCA "redis-ca" 365 }} {{- $releaseNamespace := .Release.Namespace }} {{- $clusterDomain := .Values.clusterDomain }} @@ -9,7 +8,7 @@ {{- $headlessServiceName := printf "%s-headless" (include "common.names.fullname" .) }} {{- $masterServiceName := printf "%s-master" (include "common.names.fullname" .) }} {{- $altNames := list (printf "*.%s.%s.svc.%s" $serviceName $releaseNamespace $clusterDomain) (printf "%s.%s.svc.%s" $masterServiceName $releaseNamespace $clusterDomain) (printf "*.%s.%s.svc.%s" $masterServiceName $releaseNamespace $clusterDomain) (printf "*.%s.%s.svc.%s" $headlessServiceName $releaseNamespace $clusterDomain) (printf "%s.%s.svc.%s" $headlessServiceName $releaseNamespace $clusterDomain) "127.0.0.1" "localhost" $fullname }} -{{- $crt := genSignedCert $fullname nil $altNames 365 $ca }} +{{- $cert := genSignedCert $fullname nil $altNames 365 $ca }} apiVersion: v1 kind: Secret metadata: @@ -24,7 +23,7 @@ metadata: {{- end }} type: kubernetes.io/tls data: - ca.crt: {{ (get $existingCerts "ca.crt") | default ($ca.Cert | b64enc | quote ) }} - tls.crt: {{ (get $existingCerts "tls.crt") | default ($crt.Cert | b64enc | quote) }} - tls.key: {{ (get $existingCerts "tls.key") | default ($crt.Key | b64enc | quote) }} + tls.crt: {{ include "common.secrets.lookup" (dict "secret" $secretName "key" "tls.crt" "defaultValue" $cert.Cert "context" $) }} + tls.key: {{ include "common.secrets.lookup" (dict "secret" $secretName "key" "tls.key" "defaultValue" $cert.Key "context" $) }} + ca.crt: {{ include "common.secrets.lookup" (dict "secret" $secretName "key" "ca.crt" "defaultValue" $ca.Cert "context" $) }} {{- end }} diff --git a/charts/bitnami/redis/values.yaml b/charts/bitnami/redis/values.yaml index 2bbc7e4f6..3f5cd463f 100644 --- a/charts/bitnami/redis/values.yaml +++ b/charts/bitnami/redis/values.yaml @@ -47,6 +47,9 @@ clusterDomain: cluster.local ## @param extraDeploy Array of extra objects to deploy with the release ## extraDeploy: [] +## @param useHostnames Use hostnames internally when announcing replication +### +useHostnames: true ## Enable diagnostic mode in the deployment ## diff --git a/charts/bitnami/tomcat/Chart.yaml b/charts/bitnami/tomcat/Chart.yaml index 1f65875df..e730ffecc 100644 --- a/charts/bitnami/tomcat/Chart.yaml +++ b/charts/bitnami/tomcat/Chart.yaml @@ -32,4 +32,4 @@ name: tomcat sources: - https://github.com/bitnami/containers/tree/main/bitnami/tomcat - http://tomcat.apache.org -version: 10.5.13 +version: 10.5.14 diff --git a/charts/bitnami/tomcat/README.md b/charts/bitnami/tomcat/README.md index ff1ad7d77..75930106b 100644 --- a/charts/bitnami/tomcat/README.md +++ b/charts/bitnami/tomcat/README.md @@ -83,7 +83,7 @@ The command removes all the Kubernetes components associated with the chart and | ----------------------------- | ------------------------------------------------------------------------------------------------------ | ---------------------- | | `image.registry` | Tomcat image registry | `docker.io` | | `image.repository` | Tomcat image repository | `bitnami/tomcat` | -| `image.tag` | Tomcat image tag (immutable tags are recommended) | `10.1.5-debian-11-r11` | +| `image.tag` | Tomcat image tag (immutable tags are recommended) | `10.1.5-debian-11-r12` | | `image.digest` | Tomcat image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `image.pullPolicy` | Tomcat image pull policy | `IfNotPresent` | | `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | @@ -223,7 +223,7 @@ The command removes all the Kubernetes components associated with the chart and | `metrics.jmx.catalinaOpts` | custom option used to enabled JMX on tomcat jvm evaluated as template | `-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=5555 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=true` | | `metrics.jmx.image.registry` | JMX exporter image registry | `docker.io` | | `metrics.jmx.image.repository` | JMX exporter image repository | `bitnami/jmx-exporter` | -| `metrics.jmx.image.tag` | JMX exporter image tag (immutable tags are recommended) | `0.17.2-debian-11-r44` | +| `metrics.jmx.image.tag` | JMX exporter image tag (immutable tags are recommended) | `0.17.2-debian-11-r45` | | `metrics.jmx.image.digest` | JMX exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `metrics.jmx.image.pullPolicy` | JMX exporter image pull policy | `IfNotPresent` | | `metrics.jmx.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | diff --git a/charts/bitnami/tomcat/values.yaml b/charts/bitnami/tomcat/values.yaml index a1062ecac..9b05b77ea 100644 --- a/charts/bitnami/tomcat/values.yaml +++ b/charts/bitnami/tomcat/values.yaml @@ -58,7 +58,7 @@ extraDeploy: [] image: registry: docker.io repository: bitnami/tomcat - tag: 10.1.5-debian-11-r11 + tag: 10.1.5-debian-11-r12 digest: "" ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' @@ -636,7 +636,7 @@ metrics: image: registry: docker.io repository: bitnami/jmx-exporter - tag: 0.17.2-debian-11-r44 + tag: 0.17.2-debian-11-r45 digest: "" ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' diff --git a/charts/bitnami/wordpress/Chart.yaml b/charts/bitnami/wordpress/Chart.yaml index 6638d6c83..1aa335d37 100644 --- a/charts/bitnami/wordpress/Chart.yaml +++ b/charts/bitnami/wordpress/Chart.yaml @@ -41,4 +41,4 @@ name: wordpress sources: - https://github.com/bitnami/containers/tree/main/bitnami/wordpress - https://wordpress.org/ -version: 15.2.37 +version: 15.2.38 diff --git a/charts/bitnami/wordpress/README.md b/charts/bitnami/wordpress/README.md index c10889303..b6d5b983d 100644 --- a/charts/bitnami/wordpress/README.md +++ b/charts/bitnami/wordpress/README.md @@ -86,7 +86,7 @@ The command removes all the Kubernetes components associated with the chart and | ------------------- | --------------------------------------------------------------------------------------------------------- | --------------------- | | `image.registry` | WordPress image registry | `docker.io` | | `image.repository` | WordPress image repository | `bitnami/wordpress` | -| `image.tag` | WordPress image tag (immutable tags are recommended) | `6.1.1-debian-11-r39` | +| `image.tag` | WordPress image tag (immutable tags are recommended) | `6.1.1-debian-11-r40` | | `image.digest` | WordPress image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `image.pullPolicy` | WordPress image pull policy | `IfNotPresent` | | `image.pullSecrets` | WordPress image pull secrets | `[]` | @@ -257,7 +257,7 @@ The command removes all the Kubernetes components associated with the chart and | `volumePermissions.enabled` | Enable init container that changes the owner/group of the PV mount point to `runAsUser:fsGroup` | `false` | | `volumePermissions.image.registry` | Bitnami Shell image registry | `docker.io` | | `volumePermissions.image.repository` | Bitnami Shell image repository | `bitnami/bitnami-shell` | -| `volumePermissions.image.tag` | Bitnami Shell image tag (immutable tags are recommended) | `11-debian-11-r78` | +| `volumePermissions.image.tag` | Bitnami Shell image tag (immutable tags are recommended) | `11-debian-11-r79` | | `volumePermissions.image.digest` | Bitnami Shell image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `volumePermissions.image.pullPolicy` | Bitnami Shell image pull policy | `IfNotPresent` | | `volumePermissions.image.pullSecrets` | Bitnami Shell image pull secrets | `[]` | diff --git a/charts/bitnami/wordpress/values.yaml b/charts/bitnami/wordpress/values.yaml index 6b2b8990b..e6a3e5426 100644 --- a/charts/bitnami/wordpress/values.yaml +++ b/charts/bitnami/wordpress/values.yaml @@ -73,7 +73,7 @@ diagnosticMode: image: registry: docker.io repository: bitnami/wordpress - tag: 6.1.1-debian-11-r39 + tag: 6.1.1-debian-11-r40 digest: "" ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' @@ -759,7 +759,7 @@ volumePermissions: image: registry: docker.io repository: bitnami/bitnami-shell - tag: 11-debian-11-r78 + tag: 11-debian-11-r79 digest: "" pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets. diff --git a/charts/clastix/kamaji/.helmignore b/charts/clastix/kamaji/.helmignore new file mode 100644 index 000000000..0e8a0eb36 --- /dev/null +++ b/charts/clastix/kamaji/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/charts/clastix/kamaji/Chart.yaml b/charts/clastix/kamaji/Chart.yaml index a1c573761..aaf64a4cc 100644 --- a/charts/clastix/kamaji/Chart.yaml +++ b/charts/clastix/kamaji/Chart.yaml @@ -4,7 +4,7 @@ annotations: catalog.cattle.io/kube-version: '>=1.21.0-0' catalog.cattle.io/release-name: kamaji apiVersion: v2 -appVersion: v0.1.1 +appVersion: v0.2.0 description: Kamaji is a tool aimed to build and operate a Managed Kubernetes Service with a fraction of the operational burden. With Kamaji, you can deploy and operate hundreds of Kubernetes clusters as a hyper-scaler. @@ -24,4 +24,4 @@ name: kamaji sources: - https://github.com/clastix/kamaji type: application -version: 0.10.2 +version: 0.11.0 diff --git a/charts/clastix/kamaji/README.md b/charts/clastix/kamaji/README.md index 00c6da844..cf4ccd621 100644 --- a/charts/clastix/kamaji/README.md +++ b/charts/clastix/kamaji/README.md @@ -1,6 +1,6 @@ # kamaji -![Version: 0.10.2](https://img.shields.io/badge/Version-0.10.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.1.1](https://img.shields.io/badge/AppVersion-v0.1.1-informational?style=flat-square) +![Version: 0.11.0](https://img.shields.io/badge/Version-0.11.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.2.0](https://img.shields.io/badge/AppVersion-v0.2.0-informational?style=flat-square) Kamaji is a tool aimed to build and operate a Managed Kubernetes Service with a fraction of the operational burden. With Kamaji, you can deploy and operate hundreds of Kubernetes clusters as a hyper-scaler. @@ -67,7 +67,6 @@ Here the values you can override: | Key | Type | Default | Description | |-----|------|---------|-------------| | affinity | object | `{}` | Kubernetes affinity rules to apply to Kamaji controller pods | -| configPath | string | `"./kamaji.yaml"` | Configuration file path alternative. (default "./kamaji.yaml") | | datastore.basicAuth.passwordSecret.keyPath | string | `nil` | The Secret key where the data is stored. | | datastore.basicAuth.passwordSecret.name | string | `nil` | The name of the Secret containing the password used to connect to the relational database. | | datastore.basicAuth.passwordSecret.namespace | string | `nil` | The namespace of the Secret containing the password used to connect to the relational database. | @@ -91,7 +90,7 @@ Here the values you can override: | datastore.tlsConfig.clientCertificate.privateKey.namespace | string | `nil` | Namespace of the Secret containing the client certificate private key required to establish the mandatory SSL/TLS connection to the datastore. | | etcd.compactionInterval | int | `0` | ETCD Compaction interval (e.g. "5m0s"). (default: "0" (disabled)) | | etcd.deploy | bool | `true` | Install an etcd with enabled multi-tenancy along with Kamaji | -| etcd.image | object | `{"pullPolicy":"IfNotPresent","repository":"quay.io/coreos/etcd","tag":"v3.5.4"}` | Install specific etcd image | +| etcd.image | object | `{"pullPolicy":"IfNotPresent","repository":"quay.io/coreos/etcd","tag":"v3.5.6"}` | Install specific etcd image | | etcd.livenessProbe | object | `{"failureThreshold":8,"httpGet":{"path":"/health?serializable=true","port":2381,"scheme":"HTTP"},"initialDelaySeconds":10,"periodSeconds":10,"timeoutSeconds":15}` | The livenessProbe for the etcd container | | etcd.overrides.caSecret.name | string | `"etcd-certs"` | Name of the secret which contains CA's certificate and private key. (default: "etcd-certs") | | etcd.overrides.caSecret.namespace | string | `"kamaji-system"` | Namespace of the secret which contains CA's certificate and private key. (default: "kamaji-system") | @@ -126,11 +125,10 @@ Here the values you can override: | resources.requests.cpu | string | `"100m"` | | | resources.requests.memory | string | `"20Mi"` | | | securityContext | object | `{"allowPrivilegeEscalation":false}` | The securityContext to apply to the Kamaji controller container only. It does not apply to the Kamaji RBAC proxy container. | -| service.port | int | `8443` | | -| service.type | string | `"ClusterIP"` | | | serviceAccount.annotations | object | `{}` | | | serviceAccount.create | bool | `true` | | | serviceAccount.name | string | `"kamaji-controller-manager"` | | +| serviceMonitor.enabled | bool | `false` | Toggle the ServiceMonitor true if you have Prometheus Operator installed and configured | | temporaryDirectoryPath | string | `"/tmp/kamaji"` | Directory which will be used to work with temporary files. (default "/tmp/kamaji") | | tolerations | list | `[]` | Kubernetes node taints that the Kamaji controller pods would tolerate | diff --git a/charts/clastix/kamaji/crds/datastore.yaml b/charts/clastix/kamaji/crds/datastore.yaml index 2f51acca3..7a9ca2bde 100644 --- a/charts/clastix/kamaji/crds/datastore.yaml +++ b/charts/clastix/kamaji/crds/datastore.yaml @@ -3,8 +3,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: + cert-manager.io/inject-ca-from: kamaji-system/kamaji-serving-cert controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null name: datastores.kamaji.clastix.io spec: group: kamaji.clastix.io @@ -15,254 +15,225 @@ spec: singular: datastore scope: Cluster versions: - - additionalPrinterColumns: - - description: Kamaji data store driver - jsonPath: .spec.driver - name: Driver - type: string - - description: Age - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: DataStore is the Schema for the datastores API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: DataStoreSpec defines the desired state of DataStore. - properties: - basicAuth: - description: In case of authentication enabled for the given data - store, specifies the username and password pair. This value is optional. - properties: - password: - properties: - content: - description: Bare content of the file, base64 encoded. It - has precedence over the SecretReference value. - format: byte - type: string - secretReference: - properties: - keyPath: - description: Name of the key for the given Secret reference - where the content is stored. This value is mandatory. - type: string - name: - description: name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: namespace defines the space within which - the secret name must be unique. - type: string - required: - - keyPath - type: object - x-kubernetes-map-type: atomic - type: object - username: - properties: - content: - description: Bare content of the file, base64 encoded. It - has precedence over the SecretReference value. - format: byte - type: string - secretReference: - properties: - keyPath: - description: Name of the key for the given Secret reference - where the content is stored. This value is mandatory. - type: string - name: - description: name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: namespace defines the space within which - the secret name must be unique. - type: string - required: - - keyPath - type: object - x-kubernetes-map-type: atomic - type: object - required: - - password - - username - type: object - driver: - description: The driver to use to connect to the shared datastore. - type: string - endpoints: - description: List of the endpoints to connect to the shared datastore. - No need for protocol, just bare IP/FQDN and port. - items: + - additionalPrinterColumns: + - description: Kamaji data store driver + jsonPath: .spec.driver + name: Driver + type: string + - description: Age + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: DataStore is the Schema for the datastores API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DataStoreSpec defines the desired state of DataStore. + properties: + basicAuth: + description: In case of authentication enabled for the given data store, specifies the username and password pair. This value is optional. + properties: + password: + properties: + content: + description: Bare content of the file, base64 encoded. It has precedence over the SecretReference value. + format: byte + type: string + secretReference: + properties: + keyPath: + description: Name of the key for the given Secret reference where the content is stored. This value is mandatory. + minLength: 1 + type: string + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + required: + - keyPath + type: object + x-kubernetes-map-type: atomic + type: object + username: + properties: + content: + description: Bare content of the file, base64 encoded. It has precedence over the SecretReference value. + format: byte + type: string + secretReference: + properties: + keyPath: + description: Name of the key for the given Secret reference where the content is stored. This value is mandatory. + minLength: 1 + type: string + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + required: + - keyPath + type: object + x-kubernetes-map-type: atomic + type: object + required: + - password + - username + type: object + driver: + description: The driver to use to connect to the shared datastore. + enum: + - etcd + - MySQL + - PostgreSQL type: string - type: array - tlsConfig: - description: Defines the TLS/SSL configuration required to connect - to the data store in a secure way. - properties: - certificateAuthority: - description: Retrieve the Certificate Authority certificate and - private key, such as bare content of the file, or a SecretReference. - The key reference is required since etcd authentication is based - on certificates, and Kamaji is responsible in creating this. - properties: - certificate: - properties: - content: - description: Bare content of the file, base64 encoded. - It has precedence over the SecretReference value. - format: byte - type: string - secretReference: - properties: - keyPath: - description: Name of the key for the given Secret - reference where the content is stored. This value - is mandatory. - type: string - name: - description: name is unique within a namespace to - reference a secret resource. - type: string - namespace: - description: namespace defines the space within which - the secret name must be unique. - type: string - required: - - keyPath - type: object - x-kubernetes-map-type: atomic - type: object - privateKey: - properties: - content: - description: Bare content of the file, base64 encoded. - It has precedence over the SecretReference value. - format: byte - type: string - secretReference: - properties: - keyPath: - description: Name of the key for the given Secret - reference where the content is stored. This value - is mandatory. - type: string - name: - description: name is unique within a namespace to - reference a secret resource. - type: string - namespace: - description: namespace defines the space within which - the secret name must be unique. - type: string - required: - - keyPath - type: object - x-kubernetes-map-type: atomic - type: object - required: - - certificate - type: object - clientCertificate: - description: Specifies the SSL/TLS key and private key pair used - to connect to the data store. - properties: - certificate: - properties: - content: - description: Bare content of the file, base64 encoded. - It has precedence over the SecretReference value. - format: byte - type: string - secretReference: - properties: - keyPath: - description: Name of the key for the given Secret - reference where the content is stored. This value - is mandatory. - type: string - name: - description: name is unique within a namespace to - reference a secret resource. - type: string - namespace: - description: namespace defines the space within which - the secret name must be unique. - type: string - required: - - keyPath - type: object - x-kubernetes-map-type: atomic - type: object - privateKey: - properties: - content: - description: Bare content of the file, base64 encoded. - It has precedence over the SecretReference value. - format: byte - type: string - secretReference: - properties: - keyPath: - description: Name of the key for the given Secret - reference where the content is stored. This value - is mandatory. - type: string - name: - description: name is unique within a namespace to - reference a secret resource. - type: string - namespace: - description: namespace defines the space within which - the secret name must be unique. - type: string - required: - - keyPath - type: object - x-kubernetes-map-type: atomic - type: object - required: - - certificate - - privateKey - type: object - required: - - certificateAuthority - - clientCertificate - type: object - required: - - driver - - endpoints - - tlsConfig - type: object - status: - description: DataStoreStatus defines the observed state of DataStore. - properties: - usedBy: - description: List of the Tenant Control Planes, namespaced named, - using this data store. - items: - type: string - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} + endpoints: + description: List of the endpoints to connect to the shared datastore. No need for protocol, just bare IP/FQDN and port. + items: + type: string + minItems: 1 + type: array + tlsConfig: + description: Defines the TLS/SSL configuration required to connect to the data store in a secure way. + properties: + certificateAuthority: + description: Retrieve the Certificate Authority certificate and private key, such as bare content of the file, or a SecretReference. The key reference is required since etcd authentication is based on certificates, and Kamaji is responsible in creating this. + properties: + certificate: + properties: + content: + description: Bare content of the file, base64 encoded. It has precedence over the SecretReference value. + format: byte + type: string + secretReference: + properties: + keyPath: + description: Name of the key for the given Secret reference where the content is stored. This value is mandatory. + minLength: 1 + type: string + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + required: + - keyPath + type: object + x-kubernetes-map-type: atomic + type: object + privateKey: + properties: + content: + description: Bare content of the file, base64 encoded. It has precedence over the SecretReference value. + format: byte + type: string + secretReference: + properties: + keyPath: + description: Name of the key for the given Secret reference where the content is stored. This value is mandatory. + minLength: 1 + type: string + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + required: + - keyPath + type: object + x-kubernetes-map-type: atomic + type: object + required: + - certificate + type: object + clientCertificate: + description: Specifies the SSL/TLS key and private key pair used to connect to the data store. + properties: + certificate: + properties: + content: + description: Bare content of the file, base64 encoded. It has precedence over the SecretReference value. + format: byte + type: string + secretReference: + properties: + keyPath: + description: Name of the key for the given Secret reference where the content is stored. This value is mandatory. + minLength: 1 + type: string + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + required: + - keyPath + type: object + x-kubernetes-map-type: atomic + type: object + privateKey: + properties: + content: + description: Bare content of the file, base64 encoded. It has precedence over the SecretReference value. + format: byte + type: string + secretReference: + properties: + keyPath: + description: Name of the key for the given Secret reference where the content is stored. This value is mandatory. + minLength: 1 + type: string + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + required: + - keyPath + type: object + x-kubernetes-map-type: atomic + type: object + required: + - certificate + - privateKey + type: object + required: + - certificateAuthority + - clientCertificate + type: object + required: + - driver + - endpoints + - tlsConfig + type: object + status: + description: DataStoreStatus defines the observed state of DataStore. + properties: + usedBy: + description: List of the Tenant Control Planes, namespaced named, using this data store. + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/clastix/kamaji/crds/tenantcontrolplane.yaml b/charts/clastix/kamaji/crds/tenantcontrolplane.yaml index 8c9948c62..c62768a4d 100644 --- a/charts/clastix/kamaji/crds/tenantcontrolplane.yaml +++ b/charts/clastix/kamaji/crds/tenantcontrolplane.yaml @@ -3,2511 +3,1736 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: + cert-manager.io/inject-ca-from: kamaji-system/kamaji-serving-cert controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null name: tenantcontrolplanes.kamaji.clastix.io spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: kamaji-webhook-service + namespace: kamaji-system + path: /convert + conversionReviewVersions: + - v1 group: kamaji.clastix.io names: kind: TenantControlPlane listKind: TenantControlPlaneList plural: tenantcontrolplanes shortNames: - - tcp + - tcp singular: tenantcontrolplane scope: Namespaced versions: - - additionalPrinterColumns: - - description: Kubernetes version - jsonPath: .spec.kubernetes.version - name: Version - type: string - - description: Kubernetes version - jsonPath: .status.kubernetesResources.version.status - name: Status - type: string - - description: Tenant Control Plane Endpoint (API server) - jsonPath: .status.controlPlaneEndpoint - name: Control-Plane-Endpoint - type: string - - description: Secret which contains admin kubeconfig - jsonPath: .status.kubeconfig.admin.secretName - name: Kubeconfig - type: string - - description: Age - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: TenantControlPlane is the Schema for the tenantcontrolplanes - API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: TenantControlPlaneSpec defines the desired state of TenantControlPlane. - properties: - addons: - description: Addons contain which addons are enabled - properties: - coreDNS: - description: Enables the DNS addon in the Tenant Cluster. The - registry and the tag are configurable, the image is hard-coded - to `coredns`. - properties: - imageRepository: - description: ImageRepository sets the container registry to - pull images from. if not set, the default ImageRepository - will be used instead. - type: string - imageTag: - description: ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. - type: string - type: object - konnectivity: - description: Enables the Konnectivity addon in the Tenant Cluster, - required if the worker nodes are in a different network. - properties: - agentImage: - default: registry.k8s.io/kas-network-proxy/proxy-agent - description: AgentImage defines the container image for Konnectivity's - agent. - type: string - proxyPort: - description: Port of Konnectivity proxy server. - format: int32 - type: integer - resources: - description: Resources define the amount of CPU and memory - to allocate to the Konnectivity server. - properties: - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of - compute resources required. If Requests is omitted for - a container, it defaults to Limits if that is explicitly - specified, otherwise to an implementation-defined value. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - type: object - serverImage: - default: registry.k8s.io/kas-network-proxy/proxy-server - description: ServerImage defines the container image for Konnectivity's - server. - type: string - version: - default: v0.0.32 - description: Version for Konnectivity server and agent. - type: string - required: - - proxyPort - type: object - kubeProxy: - description: Enables the kube-proxy addon in the Tenant Cluster. - The registry and the tag are configurable, the image is hard-coded - to `kube-proxy`. - properties: - imageRepository: - description: ImageRepository sets the container registry to - pull images from. if not set, the default ImageRepository - will be used instead. - type: string - imageTag: - description: ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. - type: string - type: object - type: object - controlPlane: - description: ControlPlane defines how the Tenant Control Plane Kubernetes - resources must be created in the Admin Cluster, such as the number - of Pod replicas, the Service resource, or the Ingress. - properties: - deployment: - description: Defining the options for the deployed Tenant Control - Plane as Deployment resource. - properties: - additionalMetadata: - description: AdditionalMetadata defines which additional metadata, - such as labels and annotations, must be attached to the - created resource. - properties: - annotations: - additionalProperties: - type: string - type: object - labels: - additionalProperties: - type: string - type: object - type: object - affinity: - description: 'If specified, the Tenant Control Plane pod''s - scheduling constraints. More info: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/' - properties: - nodeAffinity: - description: Describes node affinity scheduling rules - for the pod. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule - pods to nodes that satisfy the affinity expressions - specified by this field, but it may choose a node - that violates one or more of the expressions. The - node that is most preferred is the one with the - greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource - request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements - of this field and adding "weight" to the sum if - the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - items: - description: An empty preferred scheduling term - matches all objects with implicit weight 0 (i.e. - it's a no-op). A null preferred scheduling term - matches no objects (i.e. is also a no-op). - properties: - preference: - description: A node selector term, associated - with the corresponding weight. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: The label key that the - selector applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. - type: string - values: - description: An array of string values. - If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. - If the operator is Gt or Lt, the - values array must have a single - element, which will be interpreted - as an integer. This array is replaced - during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: The label key that the - selector applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. - type: string - values: - description: An array of string values. - If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. - If the operator is Gt or Lt, the - values array must have a single - element, which will be interpreted - as an integer. This array is replaced - during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - type: object - x-kubernetes-map-type: atomic - weight: - description: Weight associated with matching - the corresponding nodeSelectorTerm, in the - range 1-100. - format: int32 - type: integer - required: - - preference - - weight - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified - by this field are not met at scheduling time, the - pod will not be scheduled onto the node. If the - affinity requirements specified by this field cease - to be met at some point during pod execution (e.g. - due to an update), the system may or may not try - to eventually evict the pod from its node. - properties: - nodeSelectorTerms: - description: Required. A list of node selector - terms. The terms are ORed. - items: - description: A null or empty node selector term - matches no objects. The requirements of them - are ANDed. The TopologySelectorTerm type implements - a subset of the NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: The label key that the - selector applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. - type: string - values: - description: An array of string values. - If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. - If the operator is Gt or Lt, the - values array must have a single - element, which will be interpreted - as an integer. This array is replaced - during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: The label key that the - selector applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. - type: string - values: - description: An array of string values. - If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. - If the operator is Gt or Lt, the - values array must have a single - element, which will be interpreted - as an integer. This array is replaced - during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - type: object - x-kubernetes-map-type: atomic - type: array - required: - - nodeSelectorTerms - type: object - x-kubernetes-map-type: atomic - type: object - podAffinity: - description: Describes pod affinity scheduling rules (e.g. - co-locate this pod in the same node, zone, etc. as some - other pod(s)). - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule - pods to nodes that satisfy the affinity expressions - specified by this field, but it may choose a node - that violates one or more of the expressions. The - node that is most preferred is the one with the - greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource - request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements - of this field and adding "weight" to the sum if - the node has pods which matches the corresponding - podAffinityTerm; the node(s) with the highest sum - are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred - node(s) - properties: - podAffinityTerm: - description: Required. A pod affinity term, - associated with the corresponding weight. - properties: - labelSelector: - description: A label query over a set of - resources, in this case pods. - properties: - matchExpressions: - description: matchExpressions is a list - of label selector requirements. The - requirements are ANDed. - items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: key is the label - key that the selector applies - to. - type: string - operator: - description: operator represents - a key's relationship to a set - of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array - of string values. If the operator - is In or NotIn, the values array - must be non-empty. If the operator - is Exists or DoesNotExist, the - values array must be empty. - This array is replaced during - a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of - {key,value} pairs. A single {key,value} - in the matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are - ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaceSelector: - description: A label query over the set - of namespaces that the term applies to. - The term is applied to the union of the - namespaces selected by this field and - the ones listed in the namespaces field. - null selector and null or empty namespaces - list means "this pod's namespace". An - empty selector ({}) matches all namespaces. - properties: - matchExpressions: - description: matchExpressions is a list - of label selector requirements. The - requirements are ANDed. - items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: key is the label - key that the selector applies - to. - type: string - operator: - description: operator represents - a key's relationship to a set - of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array - of string values. If the operator - is In or NotIn, the values array - must be non-empty. If the operator - is Exists or DoesNotExist, the - values array must be empty. - This array is replaced during - a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of - {key,value} pairs. A single {key,value} - in the matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are - ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - description: namespaces specifies a static - list of namespace names that the term - applies to. The term is applied to the - union of the namespaces listed in this - field and the ones selected by namespaceSelector. - null or empty namespaces list and null - namespaceSelector means "this pod's namespace". - items: - type: string - type: array - topologyKey: - description: This pod should be co-located - (affinity) or not co-located (anti-affinity) - with the pods matching the labelSelector - in the specified namespaces, where co-located - is defined as running on a node whose - value of the label with key topologyKey - matches that of any node on which any - of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: object - weight: - description: weight associated with matching - the corresponding podAffinityTerm, in the - range 1-100. - format: int32 - type: integer - required: - - podAffinityTerm - - weight - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified - by this field are not met at scheduling time, the - pod will not be scheduled onto the node. If the - affinity requirements specified by this field cease - to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may - not try to eventually evict the pod from its node. - When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, - i.e. all terms must be satisfied. - items: - description: Defines a set of pods (namely those - matching the labelSelector relative to the given - namespace(s)) that this pod should be co-located - (affinity) or not co-located (anti-affinity) with, - where co-located is defined as running on a node - whose value of the label with key - matches that of any node on which a pod of the - set of pods is running - properties: - labelSelector: - description: A label query over a set of resources, - in this case pods. - properties: - matchExpressions: - description: matchExpressions is a list - of label selector requirements. The requirements - are ANDed. - items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: key is the label key - that the selector applies to. - type: string - operator: - description: operator represents a - key's relationship to a set of values. - Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of - string values. If the operator is - In or NotIn, the values array must - be non-empty. If the operator is - Exists or DoesNotExist, the values - array must be empty. This array - is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied - to the union of the namespaces selected by - this field and the ones listed in the namespaces - field. null selector and null or empty namespaces - list means "this pod's namespace". An empty - selector ({}) matches all namespaces. - properties: - matchExpressions: - description: matchExpressions is a list - of label selector requirements. The requirements - are ANDed. - items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: key is the label key - that the selector applies to. - type: string - operator: - description: operator represents a - key's relationship to a set of values. - Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of - string values. If the operator is - In or NotIn, the values array must - be non-empty. If the operator is - Exists or DoesNotExist, the values - array must be empty. This array - is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - description: namespaces specifies a static list - of namespace names that the term applies to. - The term is applied to the union of the namespaces - listed in this field and the ones selected - by namespaceSelector. null or empty namespaces - list and null namespaceSelector means "this - pod's namespace". - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the - pods matching the labelSelector in the specified - namespaces, where co-located is defined as - running on a node whose value of the label - with key topologyKey matches that of any node - on which any of the selected pods is running. - Empty topologyKey is not allowed. - type: string - required: - - topologyKey - type: object - type: array - type: object - podAntiAffinity: - description: Describes pod anti-affinity scheduling rules - (e.g. avoid putting this pod in the same node, zone, - etc. as some other pod(s)). - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule - pods to nodes that satisfy the anti-affinity expressions - specified by this field, but it may choose a node - that violates one or more of the expressions. The - node that is most preferred is the one with the - greatest sum of weights, i.e. for each node that - meets all of the scheduling requirements (resource - request, requiredDuringScheduling anti-affinity - expressions, etc.), compute a sum by iterating through - the elements of this field and adding "weight" to - the sum if the node has pods which matches the corresponding - podAffinityTerm; the node(s) with the highest sum - are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred - node(s) - properties: - podAffinityTerm: - description: Required. A pod affinity term, - associated with the corresponding weight. - properties: - labelSelector: - description: A label query over a set of - resources, in this case pods. - properties: - matchExpressions: - description: matchExpressions is a list - of label selector requirements. The - requirements are ANDed. - items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: key is the label - key that the selector applies - to. - type: string - operator: - description: operator represents - a key's relationship to a set - of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array - of string values. If the operator - is In or NotIn, the values array - must be non-empty. If the operator - is Exists or DoesNotExist, the - values array must be empty. - This array is replaced during - a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of - {key,value} pairs. A single {key,value} - in the matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are - ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaceSelector: - description: A label query over the set - of namespaces that the term applies to. - The term is applied to the union of the - namespaces selected by this field and - the ones listed in the namespaces field. - null selector and null or empty namespaces - list means "this pod's namespace". An - empty selector ({}) matches all namespaces. - properties: - matchExpressions: - description: matchExpressions is a list - of label selector requirements. The - requirements are ANDed. - items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: key is the label - key that the selector applies - to. - type: string - operator: - description: operator represents - a key's relationship to a set - of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array - of string values. If the operator - is In or NotIn, the values array - must be non-empty. If the operator - is Exists or DoesNotExist, the - values array must be empty. - This array is replaced during - a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of - {key,value} pairs. A single {key,value} - in the matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are - ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - description: namespaces specifies a static - list of namespace names that the term - applies to. The term is applied to the - union of the namespaces listed in this - field and the ones selected by namespaceSelector. - null or empty namespaces list and null - namespaceSelector means "this pod's namespace". - items: - type: string - type: array - topologyKey: - description: This pod should be co-located - (affinity) or not co-located (anti-affinity) - with the pods matching the labelSelector - in the specified namespaces, where co-located - is defined as running on a node whose - value of the label with key topologyKey - matches that of any node on which any - of the selected pods is running. Empty - topologyKey is not allowed. - type: string - required: - - topologyKey - type: object - weight: - description: weight associated with matching - the corresponding podAffinityTerm, in the - range 1-100. - format: int32 - type: integer - required: - - podAffinityTerm - - weight - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified - by this field are not met at scheduling time, the - pod will not be scheduled onto the node. If the - anti-affinity requirements specified by this field - cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may - or may not try to eventually evict the pod from - its node. When there are multiple elements, the - lists of nodes corresponding to each podAffinityTerm - are intersected, i.e. all terms must be satisfied. - items: - description: Defines a set of pods (namely those - matching the labelSelector relative to the given - namespace(s)) that this pod should be co-located - (affinity) or not co-located (anti-affinity) with, - where co-located is defined as running on a node - whose value of the label with key - matches that of any node on which a pod of the - set of pods is running - properties: - labelSelector: - description: A label query over a set of resources, - in this case pods. - properties: - matchExpressions: - description: matchExpressions is a list - of label selector requirements. The requirements - are ANDed. - items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: key is the label key - that the selector applies to. - type: string - operator: - description: operator represents a - key's relationship to a set of values. - Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of - string values. If the operator is - In or NotIn, the values array must - be non-empty. If the operator is - Exists or DoesNotExist, the values - array must be empty. This array - is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied - to the union of the namespaces selected by - this field and the ones listed in the namespaces - field. null selector and null or empty namespaces - list means "this pod's namespace". An empty - selector ({}) matches all namespaces. - properties: - matchExpressions: - description: matchExpressions is a list - of label selector requirements. The requirements - are ANDed. - items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. - properties: - key: - description: key is the label key - that the selector applies to. - type: string - operator: - description: operator represents a - key's relationship to a set of values. - Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of - string values. If the operator is - In or NotIn, the values array must - be non-empty. If the operator is - Exists or DoesNotExist, the values - array must be empty. This array - is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - description: namespaces specifies a static list - of namespace names that the term applies to. - The term is applied to the union of the namespaces - listed in this field and the ones selected - by namespaceSelector. null or empty namespaces - list and null namespaceSelector means "this - pod's namespace". - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the - pods matching the labelSelector in the specified - namespaces, where co-located is defined as - running on a node whose value of the label - with key topologyKey matches that of any node - on which any of the selected pods is running. - Empty topologyKey is not allowed. - type: string - required: - - topologyKey - type: object - type: array - type: object - type: object - extraArgs: - description: ExtraArgs allows adding additional arguments - to the Control Plane components, such as kube-apiserver, - controller-manager, and scheduler. - properties: - apiServer: - items: - type: string - type: array - controllerManager: - items: - type: string - type: array - kine: - description: Available only if Kamaji is running using - Kine as backing storage. - items: - type: string - type: array - scheduler: - items: - type: string - type: array - type: object - nodeSelector: - additionalProperties: + - additionalPrinterColumns: + - description: Kubernetes version + jsonPath: .spec.kubernetes.version + name: Version + type: string + - description: Status + jsonPath: .status.kubernetesResources.version.status + name: Status + type: string + - description: Tenant Control Plane Endpoint (API server) + jsonPath: .status.controlPlaneEndpoint + name: Control-Plane endpoint + type: string + - description: Secret which contains admin kubeconfig + jsonPath: .status.kubeconfig.admin.secretName + name: Kubeconfig + type: string + - description: DataStore actually used + jsonPath: .status.storage.dataStoreName + name: Datastore + type: string + - description: Age + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: TenantControlPlane is the Schema for the tenantcontrolplanes API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: TenantControlPlaneSpec defines the desired state of TenantControlPlane. + properties: + addons: + description: Addons contain which addons are enabled + properties: + coreDNS: + description: Enables the DNS addon in the Tenant Cluster. The registry and the tag are configurable, the image is hard-coded to `coredns`. + properties: + imageRepository: + description: ImageRepository sets the container registry to pull images from. if not set, the default ImageRepository will be used instead. type: string - description: 'NodeSelector is a selector which must be true - for the pod to fit on a node. Selector which must match - a node''s labels for the pod to be scheduled on that node. - More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' - type: object - replicas: - default: 2 - format: int32 - type: integer - resources: - description: Resources defines the amount of memory and CPU - to allocate to each component of the Control Plane (kube-apiserver, - controller-manager, and scheduler). - properties: - apiServer: - description: ResourceRequirements describes the compute - resource requirements. - properties: - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount - of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - type: object - controllerManager: - description: ResourceRequirements describes the compute - resource requirements. - properties: - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount - of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - type: object - scheduler: - description: ResourceRequirements describes the compute - resource requirements. - properties: - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount - of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - type: object - type: object - tolerations: - description: 'If specified, the Tenant Control Plane pod''s - tolerations. More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/' - items: - description: The pod this Toleration is attached to tolerates - any taint that matches the triple using - the matching operator . + imageTag: + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. + type: string + type: object + konnectivity: + description: Enables the Konnectivity addon in the Tenant Cluster, required if the worker nodes are in a different network. + properties: + agent: + default: + image: registry.k8s.io/kas-network-proxy/proxy-agent + version: v0.0.32 properties: - effect: - description: Effect indicates the taint effect to match. - Empty means match all taint effects. When specified, - allowed values are NoSchedule, PreferNoSchedule and - NoExecute. - type: string - key: - description: Key is the taint key that the toleration - applies to. Empty means match all taint keys. If the - key is empty, operator must be Exists; this combination - means to match all values and all keys. - type: string - operator: - description: Operator represents a key's relationship - to the value. Valid operators are Exists and Equal. - Defaults to Equal. Exists is equivalent to wildcard - for value, so that a pod can tolerate all taints of - a particular category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period - of time the toleration (which must be of effect NoExecute, - otherwise this field is ignored) tolerates the taint. - By default, it is not set, which means tolerate the - taint forever (do not evict). Zero and negative values - will be treated as 0 (evict immediately) by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration - matches to. If the operator is Exists, the value should - be empty, otherwise just a regular string. - type: string - type: object - type: array - topologySpreadConstraints: - description: TopologySpreadConstraints describes how the Tenant - Control Plane pods ought to spread across topology domains. - Scheduler will schedule pods in a way which abides by the - constraints. In case of nil underlying LabelSelector, the - Kamaji one for the given Tenant Control Plane will be used. - All topologySpreadConstraints are ANDed. - items: - description: TopologySpreadConstraint specifies how to spread - matching pods among the given topology. - properties: - labelSelector: - description: LabelSelector is used to find matching - pods. Pods that match this label selector are counted - to determine the number of pods in their corresponding - topology domain. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are ANDed. - items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - matchLabelKeys: - description: MatchLabelKeys is a set of pod label keys - to select the pods over which spreading will be calculated. - The keys are used to lookup values from the incoming - pod labels, those key-value labels are ANDed with - labelSelector to select the group of existing pods - over which spreading will be calculated for the incoming - pod. Keys that don't exist in the incoming pod labels - will be ignored. A null or empty list means only match - against labelSelector. + extraArgs: + description: ExtraArgs allows adding additional arguments to said component. items: type: string type: array - x-kubernetes-list-type: atomic - maxSkew: - description: 'MaxSkew describes the degree to which - pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, - it is the maximum permitted difference between the - number of matching pods in the target topology and - the global minimum. The global minimum is the minimum - number of matching pods in an eligible domain or zero - if the number of eligible domains is less than MinDomains. - For example, in a 3-zone cluster, MaxSkew is set to - 1, and pods with the same labelSelector spread as - 2/2/1: In this case, the global minimum is 1. | zone1 - | zone2 | zone3 | | P P | P P | P | - if MaxSkew - is 1, incoming pod can only be scheduled to zone3 - to become 2/2/2; scheduling it onto zone1(zone2) would - make the ActualSkew(3-1) on zone1(zone2) violate MaxSkew(1). - - if MaxSkew is 2, incoming pod can be scheduled onto - any zone. When `whenUnsatisfiable=ScheduleAnyway`, - it is used to give higher precedence to topologies - that satisfy it. It''s a required field. Default value - is 1 and 0 is not allowed.' + image: + default: registry.k8s.io/kas-network-proxy/proxy-agent + description: AgentImage defines the container image for Konnectivity's agent. + type: string + version: + default: v0.0.32 + description: Version for Konnectivity agent. + type: string + type: object + server: + default: + image: registry.k8s.io/kas-network-proxy/proxy-server + port: 8132 + version: v0.0.32 + properties: + extraArgs: + description: ExtraArgs allows adding additional arguments to said component. + items: + type: string + type: array + image: + default: registry.k8s.io/kas-network-proxy/proxy-server + description: Container image used by the Konnectivity server. + type: string + port: + description: The port which Konnectivity server is listening to. format: int32 type: integer - minDomains: - description: "MinDomains indicates a minimum number - of eligible domains. When the number of eligible domains - with matching topology keys is less than minDomains, - Pod Topology Spread treats \"global minimum\" as 0, - and then the calculation of Skew is performed. And - when the number of eligible domains with matching - topology keys equals or greater than minDomains, this - value has no effect on scheduling. As a result, when - the number of eligible domains is less than minDomains, - scheduler won't schedule more than maxSkew Pods to - those domains. If value is nil, the constraint behaves - as if MinDomains is equal to 1. Valid values are integers - greater than 0. When value is not nil, WhenUnsatisfiable - must be DoNotSchedule. \n For example, in a 3-zone - cluster, MaxSkew is set to 2, MinDomains is set to - 5 and pods with the same labelSelector spread as 2/2/2: - | zone1 | zone2 | zone3 | | P P | P P | P P | - The number of domains is less than 5(MinDomains), - so \"global minimum\" is treated as 0. In this situation, - new pod with the same labelSelector cannot be scheduled, - because computed skew will be 3(3 - 0) if new Pod - is scheduled to any of the three zones, it will violate - MaxSkew. \n This is a beta field and requires the - MinDomainsInPodTopologySpread feature gate to be enabled - (enabled by default)." - format: int32 - type: integer - nodeAffinityPolicy: - description: "NodeAffinityPolicy indicates how we will - treat Pod's nodeAffinity/nodeSelector when calculating - pod topology spread skew. Options are: - Honor: only - nodes matching nodeAffinity/nodeSelector are included - in the calculations. - Ignore: nodeAffinity/nodeSelector - are ignored. All nodes are included in the calculations. - \n If this value is nil, the behavior is equivalent - to the Honor policy. This is a alpha-level feature - enabled by the NodeInclusionPolicyInPodTopologySpread - feature flag." - type: string - nodeTaintsPolicy: - description: "NodeTaintsPolicy indicates how we will - treat node taints when calculating pod topology spread - skew. Options are: - Honor: nodes without taints, - along with tainted nodes for which the incoming pod - has a toleration, are included. - Ignore: node taints - are ignored. All nodes are included. \n If this value - is nil, the behavior is equivalent to the Ignore policy. - This is a alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread - feature flag." - type: string - topologyKey: - description: TopologyKey is the key of node labels. - Nodes that have a label with this key and identical - values are considered to be in the same topology. - We consider each as a "bucket", and try - to put balanced number of pods into each bucket. We - define a domain as a particular instance of a topology. - Also, we define an eligible domain as a domain whose - nodes meet the requirements of nodeAffinityPolicy - and nodeTaintsPolicy. e.g. If TopologyKey is "kubernetes.io/hostname", - each Node is a domain of that topology. And, if TopologyKey - is "topology.kubernetes.io/zone", each zone is a domain - of that topology. It's a required field. - type: string - whenUnsatisfiable: - description: 'WhenUnsatisfiable indicates how to deal - with a pod if it doesn''t satisfy the spread constraint. - - DoNotSchedule (default) tells the scheduler not - to schedule it. - ScheduleAnyway tells the scheduler - to schedule the pod in any location, but giving higher - precedence to topologies that would help reduce the - skew. A constraint is considered "Unsatisfiable" for - an incoming pod if and only if every possible node - assignment for that pod would violate "MaxSkew" on - some topology. For example, in a 3-zone cluster, MaxSkew - is set to 1, and pods with the same labelSelector - spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P - | P | P | If WhenUnsatisfiable is set to DoNotSchedule, - incoming pod can only be scheduled to zone2(zone3) - to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) - satisfies MaxSkew(1). In other words, the cluster - can still be imbalanced, but scheduler won''t make - it *more* imbalanced. It''s a required field.' + resources: + description: Resources define the amount of CPU and memory to allocate to the Konnectivity server. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + version: + default: v0.0.32 + description: Container image version of the Konnectivity server. type: string required: - - maxSkew - - topologyKey - - whenUnsatisfiable + - port type: object - type: array - type: object - ingress: - description: Defining the options for an Optional Ingress which - will expose API Server of the Tenant Control Plane - properties: - additionalMetadata: - description: AdditionalMetadata defines which additional metadata, - such as labels and annotations, must be attached to the - created resource. - properties: - annotations: - additionalProperties: - type: string - type: object - labels: - additionalProperties: - type: string - type: object - type: object - hostname: - description: Hostname is an optional field which will be used - as Ingress's Host. If it is not defined, Ingress's host - will be "..", where domain is - specified under NetworkProfileSpec - type: string - ingressClassName: - type: string - type: object - service: - description: Defining the options for the Tenant Control Plane - Service resource. - properties: - additionalMetadata: - description: AdditionalMetadata defines which additional metadata, - such as labels and annotations, must be attached to the - created resource. - properties: - annotations: - additionalProperties: - type: string - type: object - labels: - additionalProperties: - type: string - type: object - type: object - serviceType: - description: ServiceType allows specifying how to expose the - Tenant Control Plane. - enum: - - ClusterIP - - NodePort - - LoadBalancer - type: string - required: - - serviceType - type: object - required: - - service - type: object - dataStore: - description: DataStore allows to specify a DataStore that should be - used to store the Kubernetes data for the given Tenant Control Plane. - This parameter is optional and acts as an override over the default - one which is used by the Kamaji Operator. Migration from a different - DataStore to another one is not yet supported and the reconciliation - will be blocked. - type: string - kubernetes: - description: Kubernetes specification for tenant control plane - properties: - admissionControllers: - default: - - CertificateApproval - - CertificateSigning - - CertificateSubjectRestriction - - DefaultIngressClass - - DefaultStorageClass - - DefaultTolerationSeconds - - LimitRanger - - MutatingAdmissionWebhook - - NamespaceLifecycle - - PersistentVolumeClaimResize - - Priority - - ResourceQuota - - RuntimeClass - - ServiceAccount - - StorageObjectInUseProtection - - TaintNodesByCondition - - ValidatingAdmissionWebhook - description: 'List of enabled Admission Controllers for the Tenant - cluster. Full reference available here: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers' - items: - enum: - - AlwaysAdmit - - AlwaysDeny - - AlwaysPullImages - - CertificateApproval - - CertificateSigning - - CertificateSubjectRestriction - - DefaultIngressClass - - DefaultStorageClass - - DefaultTolerationSeconds - - DenyEscalatingExec - - DenyExecOnPrivileged - - DenyServiceExternalIPs - - EventRateLimit - - ExtendedResourceToleration - - ImagePolicyWebhook - - LimitPodHardAntiAffinityTopology - - LimitRanger - - MutatingAdmissionWebhook - - NamespaceAutoProvision - - NamespaceExists - - NamespaceLifecycle - - NodeRestriction - - OwnerReferencesPermissionEnforcement - - PersistentVolumeClaimResize - - PersistentVolumeLabel - - PodNodeSelector - - PodSecurity - - PodSecurityPolicy - - PodTolerationRestriction - - Priority - - ResourceQuota - - RuntimeClass - - SecurityContextDeny - - ServiceAccount - - StorageObjectInUseProtection - - TaintNodesByCondition - - ValidatingAdmissionWebhook - type: string - type: array - kubelet: - properties: - cgroupfs: - description: CGroupFS defines the cgroup driver for Kubelet - https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/ - enum: - - systemd - - cgroupfs - type: string - type: object - version: - description: Kubernetes Version for the tenant control plane - type: string - required: - - kubelet - - version - type: object - networkProfile: - description: NetworkProfile specifies how the network is - properties: - address: - description: Address where API server of will be exposed. In case - of LoadBalancer Service, this can be empty in order to use the - exposed IP provided by the cloud controller manager. - type: string - allowAddressAsExternalIP: - description: AllowAddressAsExternalIP will include tenantControlPlane.Spec.NetworkProfile.Address - in the section of ExternalIPs of the Kubernetes Service (only - ClusterIP or NodePort) - type: boolean - certSANs: - description: CertSANs sets extra Subject Alternative Names (SANs) - for the API Server signing certificate. Use this field to add - additional hostnames when exposing the Tenant Control Plane - with third solutions. - items: - type: string - type: array - dnsServiceIPs: - default: - - 10.96.0.10 - items: - type: string - type: array - podCidr: - default: 10.244.0.0/16 - description: CIDR for Kubernetes Pods - type: string - port: - default: 6443 - description: Port where API server of will be exposed - format: int32 - type: integer - serviceCidr: - default: 10.96.0.0/16 - description: Kubernetes Service - type: string - type: object - required: - - controlPlane - - kubernetes - type: object - status: - description: TenantControlPlaneStatus defines the observed state of TenantControlPlane. - properties: - addons: - description: Addons contains the status of the different Addons - properties: - coreDNS: - description: AddonStatus defines the observed state of an Addon. - properties: - checksum: - type: string - enabled: - type: boolean - lastUpdate: - format: date-time - type: string - required: - - enabled - type: object - konnectivity: - description: KonnectivityStatus defines the status of Konnectivity - as Addon. - properties: - agent: - properties: - checksum: - type: string - lastUpdate: - description: Last time when k8s object was updated - format: date-time - type: string - name: - type: string - namespace: - type: string - type: object - certificate: - description: CertificatePrivateKeyPairStatus defines the status. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - clusterrolebinding: - properties: - checksum: - type: string - lastUpdate: - description: Last time when k8s object was updated - format: date-time - type: string - name: - type: string - namespace: - type: string - type: object - configMap: - properties: - checksum: - type: string - name: - type: string - type: object - enabled: - type: boolean - kubeconfig: - description: KubeconfigStatus contains information about the - generated kubeconfig. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - sa: - properties: - checksum: - type: string - lastUpdate: - description: Last time when k8s object was updated - format: date-time - type: string - name: - type: string - namespace: - type: string - type: object - service: - description: KubernetesServiceStatus defines the status for - the Tenant Control Plane Service in the management cluster. - properties: - conditions: - description: Current service state - items: - description: "Condition contains details for one aspect - of the current state of this API Resource. --- This - struct is intended for direct use as an array at the - field path .status.conditions. For example, \n type - FooStatus struct{ // Represents the observations of - a foo's current state. // Known .status.conditions.type - are: \"Available\", \"Progressing\", and \"Degraded\" - // +patchMergeKey=type // +patchStrategy=merge // - +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" - patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` - \n // other fields }" + type: object + kubeProxy: + description: Enables the kube-proxy addon in the Tenant Cluster. The registry and the tag are configurable, the image is hard-coded to `kube-proxy`. + properties: + imageRepository: + description: ImageRepository sets the container registry to pull images from. if not set, the default ImageRepository will be used instead. + type: string + imageTag: + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. + type: string + type: object + type: object + controlPlane: + description: ControlPlane defines how the Tenant Control Plane Kubernetes resources must be created in the Admin Cluster, such as the number of Pod replicas, the Service resource, or the Ingress. + properties: + deployment: + description: Defining the options for the deployed Tenant Control Plane as Deployment resource. + properties: + additionalMetadata: + description: AdditionalMetadata defines which additional metadata, such as labels and annotations, must be attached to the created resource. + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + affinity: + description: 'If specified, the Tenant Control Plane pod''s scheduling constraints. More info: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/' + properties: + nodeAffinity: + description: Describes node affinity scheduling rules for the pod. properties: - lastTransitionTime: - description: lastTransitionTime is the last time - the condition transitioned from one status to - another. This should be when the underlying condition - changed. If that is not known, then using the - time when the API field changed is acceptable. - format: date-time + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. + items: + description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). + properties: + preference: + description: A node selector term, associated with the corresponding weight. + properties: + matchExpressions: + description: A list of node selector requirements by node's labels. + items: + description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by node's fields. + items: + description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + weight: + description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. + properties: + nodeSelectorTerms: + description: Required. A list of node selector terms. The terms are ORed. + items: + description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. + properties: + matchExpressions: + description: A list of node selector requirements by node's labels. + items: + description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by node's fields. + items: + description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + type: array + required: + - nodeSelectorTerms + type: object + x-kubernetes-map-type: atomic + type: object + podAffinity: + description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + items: + description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated with the corresponding weight. + properties: + labelSelector: + description: A label query over a set of resources, in this case pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies to. + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies to. + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + weight: + description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + items: + description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running + properties: + labelSelector: + description: A label query over a set of resources, in this case pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies to. + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies to. + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + items: + description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated with the corresponding weight. + properties: + labelSelector: + description: A label query over a set of resources, in this case pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies to. + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies to. + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + weight: + description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + items: + description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running + properties: + labelSelector: + description: A label query over a set of resources, in this case pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies to. + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies to. + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + extraArgs: + description: ExtraArgs allows adding additional arguments to the Control Plane components, such as kube-apiserver, controller-manager, and scheduler. + properties: + apiServer: + items: + type: string + type: array + controllerManager: + items: + type: string + type: array + kine: + description: Available only if Kamaji is running using Kine as backing storage. + items: + type: string + type: array + scheduler: + items: + type: string + type: array + type: object + nodeSelector: + additionalProperties: + type: string + description: 'NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node''s labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/' + type: object + replicas: + default: 2 + format: int32 + type: integer + resources: + description: Resources defines the amount of memory and CPU to allocate to each component of the Control Plane (kube-apiserver, controller-manager, and scheduler). + properties: + apiServer: + description: ComponentResourceRequirements describes the compute resource requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + controllerManager: + description: ComponentResourceRequirements describes the compute resource requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + scheduler: + description: ComponentResourceRequirements describes the compute resource requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + type: object + runtimeClassName: + description: 'RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run the Tenant Control Plane pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class' + type: string + strategy: + default: + rollingUpdate: + maxSurge: 100% + maxUnavailable: 0 + type: RollingUpdate + description: Strategy describes how to replace existing pods with new ones for the given Tenant Control Plane. Default value is set to Rolling Update, with a blue/green strategy. + properties: + rollingUpdate: + description: 'Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate. --- TODO: Update this to follow our convention for oneOf, whatever we decide it to be.' + properties: + maxSurge: + anyOf: + - type: integer + - type: string + description: 'The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is at most 130% of desired pods.' + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + description: 'The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.' + x-kubernetes-int-or-string: true + type: object + type: + description: Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate. + type: string + type: object + tolerations: + description: 'If specified, the Tenant Control Plane pod''s tolerations. More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/' + items: + description: The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . + properties: + effect: + description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + type: string + operator: + description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + type: string + tolerationSeconds: + description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + format: int64 + type: integer + value: + description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + type: string + type: object + type: array + topologySpreadConstraints: + description: TopologySpreadConstraints describes how the Tenant Control Plane pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. In case of nil underlying LabelSelector, the Kamaji one for the given Tenant Control Plane will be used. All topologySpreadConstraints are ANDed. + items: + description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + properties: + labelSelector: + description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies to. + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated. The keys are used to lookup values from the incoming pod labels, those key-value labels are ANDed with labelSelector to select the group of existing pods over which spreading will be calculated for the incoming pod. Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector. + items: type: string - message: - description: message is a human readable message - indicating details about the transition. This - may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, - if .metadata.generation is currently 12, but the - .status.conditions[x].observedGeneration is 9, - the condition is out of date with respect to the - current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier - indicating the reason for the condition's last - transition. Producers of specific condition types - may define expected values and meanings for this - field, and whether the values are considered a - guaranteed API. The value should be a CamelCase - string. This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, - False, Unknown. - enum: + type: array + x-kubernetes-list-type: atomic + maxSkew: + description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. The global minimum is the minimum number of matching pods in an eligible domain or zero if the number of eligible domains is less than MinDomains. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 2/2/1: In this case, the global minimum is 1. | zone1 | zone2 | zone3 | | P P | P P | P | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.' + format: int32 + type: integer + minDomains: + description: "MinDomains indicates a minimum number of eligible domains. When the number of eligible domains with matching topology keys is less than minDomains, Pod Topology Spread treats \"global minimum\" as 0, and then the calculation of Skew is performed. And when the number of eligible domains with matching topology keys equals or greater than minDomains, this value has no effect on scheduling. As a result, when the number of eligible domains is less than minDomains, scheduler won't schedule more than maxSkew Pods to those domains. If value is nil, the constraint behaves as if MinDomains is equal to 1. Valid values are integers greater than 0. When value is not nil, WhenUnsatisfiable must be DoNotSchedule. \n For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same labelSelector spread as 2/2/2: | zone1 | zone2 | zone3 | | P P | P P | P P | The number of domains is less than 5(MinDomains), so \"global minimum\" is treated as 0. In this situation, new pod with the same labelSelector cannot be scheduled, because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, it will violate MaxSkew. \n This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default)." + format: int32 + type: integer + nodeAffinityPolicy: + description: "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. \n If this value is nil, the behavior is equivalent to the Honor policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." + type: string + nodeTaintsPolicy: + description: "NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included. \n If this value is nil, the behavior is equivalent to the Ignore policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." + type: string + topologyKey: + description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each as a "bucket", and try to put balanced number of pods into each bucket. We define a domain as a particular instance of a topology. Also, we define an eligible domain as a domain whose nodes meet the requirements of nodeAffinityPolicy and nodeTaintsPolicy. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. It's a required field. + type: string + whenUnsatisfiable: + description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assignment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.' + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + type: object + ingress: + description: Defining the options for an Optional Ingress which will expose API Server of the Tenant Control Plane + properties: + additionalMetadata: + description: AdditionalMetadata defines which additional metadata, such as labels and annotations, must be attached to the created resource. + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + hostname: + description: Hostname is an optional field which will be used as Ingress's Host. If it is not defined, Ingress's host will be "..", where domain is specified under NetworkProfileSpec + type: string + ingressClassName: + type: string + type: object + service: + description: Defining the options for the Tenant Control Plane Service resource. + properties: + additionalMetadata: + description: AdditionalMetadata defines which additional metadata, such as labels and annotations, must be attached to the created resource. + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + serviceType: + description: ServiceType allows specifying how to expose the Tenant Control Plane. + enum: + - ClusterIP + - NodePort + - LoadBalancer + type: string + required: + - serviceType + type: object + required: + - service + type: object + dataStore: + description: DataStore allows to specify a DataStore that should be used to store the Kubernetes data for the given Tenant Control Plane. This parameter is optional and acts as an override over the default one which is used by the Kamaji Operator. Migration from a different DataStore to another one is not yet supported and the reconciliation will be blocked. + type: string + kubernetes: + description: Kubernetes specification for tenant control plane + properties: + admissionControllers: + default: + - CertificateApproval + - CertificateSigning + - CertificateSubjectRestriction + - DefaultIngressClass + - DefaultStorageClass + - DefaultTolerationSeconds + - LimitRanger + - MutatingAdmissionWebhook + - NamespaceLifecycle + - PersistentVolumeClaimResize + - Priority + - ResourceQuota + - RuntimeClass + - ServiceAccount + - StorageObjectInUseProtection + - TaintNodesByCondition + - ValidatingAdmissionWebhook + description: 'List of enabled Admission Controllers for the Tenant cluster. Full reference available here: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers' + items: + enum: + - AlwaysAdmit + - AlwaysDeny + - AlwaysPullImages + - CertificateApproval + - CertificateSigning + - CertificateSubjectRestriction + - DefaultIngressClass + - DefaultStorageClass + - DefaultTolerationSeconds + - DenyEscalatingExec + - DenyExecOnPrivileged + - DenyServiceExternalIPs + - EventRateLimit + - ExtendedResourceToleration + - ImagePolicyWebhook + - LimitPodHardAntiAffinityTopology + - LimitRanger + - MutatingAdmissionWebhook + - NamespaceAutoProvision + - NamespaceExists + - NamespaceLifecycle + - NodeRestriction + - OwnerReferencesPermissionEnforcement + - PersistentVolumeClaimResize + - PersistentVolumeLabel + - PodNodeSelector + - PodSecurity + - PodSecurityPolicy + - PodTolerationRestriction + - Priority + - ResourceQuota + - RuntimeClass + - SecurityContextDeny + - ServiceAccount + - StorageObjectInUseProtection + - TaintNodesByCondition + - ValidatingAdmissionWebhook + type: string + type: array + kubelet: + properties: + cgroupfs: + description: CGroupFS defines the cgroup driver for Kubelet https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/ + enum: + - systemd + - cgroupfs + type: string + preferredAddressTypes: + default: + - Hostname + - InternalIP + - ExternalIP + description: Ordered list of the preferred NodeAddressTypes to use for kubelet connections. Default to Hostname, InternalIP, ExternalIP. + items: + enum: + - Hostname + - InternalIP + - ExternalIP + - InternalDNS + - ExternalDNS + type: string + minItems: 1 + type: array + type: object + version: + description: Kubernetes Version for the tenant control plane + type: string + required: + - kubelet + - version + type: object + networkProfile: + description: NetworkProfile specifies how the network is + properties: + address: + description: Address where API server of will be exposed. In case of LoadBalancer Service, this can be empty in order to use the exposed IP provided by the cloud controller manager. + type: string + allowAddressAsExternalIP: + description: AllowAddressAsExternalIP will include tenantControlPlane.Spec.NetworkProfile.Address in the section of ExternalIPs of the Kubernetes Service (only ClusterIP or NodePort) + type: boolean + certSANs: + description: CertSANs sets extra Subject Alternative Names (SANs) for the API Server signing certificate. Use this field to add additional hostnames when exposing the Tenant Control Plane with third solutions. + items: + type: string + type: array + dnsServiceIPs: + default: + - 10.96.0.10 + items: + type: string + type: array + podCidr: + default: 10.244.0.0/16 + description: CIDR for Kubernetes Pods + type: string + port: + default: 6443 + description: Port where API server of will be exposed + format: int32 + type: integer + serviceCidr: + default: 10.96.0.0/16 + description: Kubernetes Service + type: string + type: object + required: + - controlPlane + - kubernetes + type: object + status: + description: TenantControlPlaneStatus defines the observed state of TenantControlPlane. + properties: + addons: + description: Addons contains the status of the different Addons + properties: + coreDNS: + description: AddonStatus defines the observed state of an Addon. + properties: + enabled: + type: boolean + lastUpdate: + format: date-time + type: string + required: + - enabled + type: object + konnectivity: + description: KonnectivityStatus defines the status of Konnectivity as Addon. + properties: + agent: + properties: + lastUpdate: + description: Last time when k8s object was updated + format: date-time + type: string + name: + type: string + namespace: + type: string + type: object + certificate: + description: CertificatePrivateKeyPairStatus defines the status. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + clusterrolebinding: + properties: + lastUpdate: + description: Last time when k8s object was updated + format: date-time + type: string + name: + type: string + namespace: + type: string + type: object + configMap: + properties: + checksum: + type: string + name: + type: string + type: object + enabled: + type: boolean + kubeconfig: + description: KubeconfigStatus contains information about the generated kubeconfig. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + sa: + properties: + lastUpdate: + description: Last time when k8s object was updated + format: date-time + type: string + name: + type: string + namespace: + type: string + type: object + service: + description: KubernetesServiceStatus defines the status for the Tenant Control Plane Service in the management cluster. + properties: + conditions: + description: Current service state + items: + description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + loadBalancer: + description: LoadBalancer contains the current status of the load-balancer, if one is present. + properties: + ingress: + description: Ingress is a list containing ingress points for the load-balancer. Traffic intended for the service should be sent to these ingress points. + items: + description: 'LoadBalancerIngress represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point.' + properties: + hostname: + description: Hostname is set for load-balancer ingress points that are DNS based (typically AWS load-balancers) + type: string + ip: + description: IP is set for load-balancer ingress points that are IP based (typically GCE or OpenStack load-balancers) + type: string + ports: + description: Ports is a list of records of service ports If used, every port defined in the service should have an entry in it + items: + properties: + error: + description: 'Error is to record the problem with the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall use CamelCase names - cloud provider specific error values must have names that comply with the format foo.example.com/CamelCase. --- The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)' + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + port: + description: Port is the port number of the service port of which status is recorded here + format: int32 + type: integer + protocol: + default: TCP + description: 'Protocol is the protocol of the service port of which status is recorded here The supported values are: "TCP", "UDP", "SCTP"' + type: string + required: + - port + - protocol + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: array + type: object + name: + description: The name of the Service for the given cluster. + type: string + namespace: + description: The namespace which the Service for the given cluster is deployed. + type: string + port: + description: The port where the service is running + format: int32 + type: integer + required: + - name + - namespace + - port + type: object + required: + - enabled + type: object + kubeProxy: + description: AddonStatus defines the observed state of an Addon. + properties: + enabled: + type: boolean + lastUpdate: + format: date-time + type: string + required: + - enabled + type: object + type: object + certificates: + description: Certificates contains information about the different certificates that are necessary to run a kubernetes control plane + properties: + apiServer: + description: CertificatePrivateKeyPairStatus defines the status. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + apiServerKubeletClient: + description: CertificatePrivateKeyPairStatus defines the status. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + ca: + description: CertificatePrivateKeyPairStatus defines the status. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + etcd: + description: ETCDCertificatesStatus defines the observed state of ETCD Certificate for API server. + properties: + apiServer: + description: APIServerCertificatesStatus defines the observed state of ETCD Certificate for API server. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + ca: + description: ETCDCertificateStatus defines the observed state of ETCD Certificate for API server. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + type: object + frontProxyCA: + description: CertificatePrivateKeyPairStatus defines the status. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + frontProxyClient: + description: CertificatePrivateKeyPairStatus defines the status. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + sa: + description: PublicKeyPrivateKeyPairStatus defines the status. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + type: object + controlPlaneEndpoint: + description: ControlPlaneEndpoint contains the status of the kubernetes control plane + type: string + kubeadmPhase: + description: KubeadmPhase contains the status of the kubeadm phases action + properties: + bootstrapToken: + description: KubeadmPhaseStatus contains the status of a kubeadm phase action. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + type: object + required: + - bootstrapToken + type: object + kubeadmconfig: + description: KubeadmConfig contains the status of the configuration required by kubeadm + properties: + checksum: + description: Checksum of the kubeadm configuration to detect changes + type: string + configmapName: + type: string + lastUpdate: + format: date-time + type: string + type: object + kubeconfig: + description: KubeConfig contains information about the kubenconfigs that control plane pieces need + properties: + admin: + description: KubeconfigStatus contains information about the generated kubeconfig. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + controllerManager: + description: KubeconfigStatus contains information about the generated kubeconfig. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + scheduler: + description: KubeconfigStatus contains information about the generated kubeconfig. + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + type: object + kubernetesResources: + description: Kubernetes contains information about the reconciliation of the required Kubernetes resources deployed in the admin cluster + properties: + deployment: + description: KubernetesDeploymentStatus defines the status for the Tenant Control Plane Deployment in the management cluster. + properties: + availableReplicas: + description: Total number of available pods (ready for at least minReadySeconds) targeted by this deployment. + format: int32 + type: integer + collisionCount: + description: Count of hash collisions for the Deployment. The Deployment controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ReplicaSet. + format: int32 + type: integer + conditions: + description: Represents the latest available observations of a deployment's current state. + items: + description: DeploymentCondition describes the state of a deployment at a certain point. + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status to another. + format: date-time + type: string + lastUpdateTime: + description: The last time this condition was updated. + format: date-time + type: string + message: + description: A human readable message indicating details about the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type of deployment condition. + type: string + required: + - status + - type + type: object + type: array + lastUpdate: + description: Last time when deployment was updated + format: date-time + type: string + name: + description: The name of the Deployment for the given cluster. + type: string + namespace: + description: The namespace which the Deployment for the given cluster is deployed. + type: string + observedGeneration: + description: The generation observed by the deployment controller. + format: int64 + type: integer + readyReplicas: + description: readyReplicas is the number of pods targeted by this Deployment with a Ready Condition. + format: int32 + type: integer + replicas: + description: Total number of non-terminated pods targeted by this deployment (their labels match the selector). + format: int32 + type: integer + selector: + description: Selector is the label selector used to group the Tenant Control Plane Pods used by the scale subresource. + type: string + unavailableReplicas: + description: Total number of unavailable pods targeted by this deployment. This is the total number of pods that are still required for the deployment to have 100% available capacity. They may either be pods that are running but not yet available or pods that still have not been created. + format: int32 + type: integer + updatedReplicas: + description: Total number of non-terminated pods targeted by this deployment that have the desired template spec. + format: int32 + type: integer + required: + - name + - namespace + - selector + type: object + ingress: + description: KubernetesIngressStatus defines the status for the Tenant Control Plane Ingress in the management cluster. + properties: + loadBalancer: + description: LoadBalancer contains the current status of the load-balancer. + properties: + ingress: + description: Ingress is a list containing ingress points for the load-balancer. + items: + description: IngressLoadBalancerIngress represents the status of a load-balancer ingress point. + properties: + hostname: + description: Hostname is set for load-balancer ingress points that are DNS based. + type: string + ip: + description: IP is set for load-balancer ingress points that are IP based. + type: string + ports: + description: Ports provides information about the ports exposed by this LoadBalancer. + items: + description: IngressPortStatus represents the error condition of a service port + properties: + error: + description: 'Error is to record the problem with the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall use CamelCase names - cloud provider specific error values must have names that comply with the format foo.example.com/CamelCase. --- The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)' + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + port: + description: Port is the port number of the ingress port. + format: int32 + type: integer + protocol: + default: TCP + description: 'Protocol is the protocol of the ingress port. The supported values are: "TCP", "UDP", "SCTP"' + type: string + required: + - port + - protocol + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: array + type: object + name: + description: The name of the Ingress for the given cluster. + type: string + namespace: + description: The namespace which the Ingress for the given cluster is deployed. + type: string + required: + - name + - namespace + type: object + service: + description: KubernetesServiceStatus defines the status for the Tenant Control Plane Service in the management cluster. + properties: + conditions: + description: Current service state + items: + description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: - "True" - "False" - Unknown - type: string - type: - description: type of condition in CamelCase or in - foo.example.com/CamelCase. --- Many .condition.type - values are consistent across resources like Available, - but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to - deconflict is important. The regex it matches - is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: - lastTransitionTime - message - reason - status - type - type: object - type: array - x-kubernetes-list-map-keys: + type: object + type: array + x-kubernetes-list-map-keys: - type - x-kubernetes-list-type: map - loadBalancer: - description: LoadBalancer contains the current status - of the load-balancer, if one is present. - properties: - ingress: - description: Ingress is a list containing ingress - points for the load-balancer. Traffic intended for - the service should be sent to these ingress points. - items: - description: 'LoadBalancerIngress represents the - status of a load-balancer ingress point: traffic - intended for the service should be sent to an - ingress point.' - properties: - hostname: - description: Hostname is set for load-balancer - ingress points that are DNS based (typically - AWS load-balancers) - type: string - ip: - description: IP is set for load-balancer ingress - points that are IP based (typically GCE or - OpenStack load-balancers) - type: string - ports: - description: Ports is a list of records of service - ports If used, every port defined in the service - should have an entry in it - items: - properties: - error: - description: 'Error is to record the problem - with the service port The format of - the error shall comply with the following - rules: - built-in error values shall - be specified in this file and those - shall use CamelCase names - cloud provider - specific error values must have names - that comply with the format foo.example.com/CamelCase. - --- The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)' - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - port: - description: Port is the port number of - the service port of which status is - recorded here - format: int32 - type: integer - protocol: - default: TCP - description: 'Protocol is the protocol - of the service port of which status - is recorded here The supported values - are: "TCP", "UDP", "SCTP"' - type: string - required: + x-kubernetes-list-type: map + loadBalancer: + description: LoadBalancer contains the current status of the load-balancer, if one is present. + properties: + ingress: + description: Ingress is a list containing ingress points for the load-balancer. Traffic intended for the service should be sent to these ingress points. + items: + description: 'LoadBalancerIngress represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point.' + properties: + hostname: + description: Hostname is set for load-balancer ingress points that are DNS based (typically AWS load-balancers) + type: string + ip: + description: IP is set for load-balancer ingress points that are IP based (typically GCE or OpenStack load-balancers) + type: string + ports: + description: Ports is a list of records of service ports If used, every port defined in the service should have an entry in it + items: + properties: + error: + description: 'Error is to record the problem with the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall use CamelCase names - cloud provider specific error values must have names that comply with the format foo.example.com/CamelCase. --- The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)' + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + port: + description: Port is the port number of the service port of which status is recorded here + format: int32 + type: integer + protocol: + default: TCP + description: 'Protocol is the protocol of the service port of which status is recorded here The supported values are: "TCP", "UDP", "SCTP"' + type: string + required: - port - protocol - type: object - type: array - x-kubernetes-list-type: atomic - type: object - type: array - type: object - name: - description: The name of the Service for the given cluster. - type: string - namespace: - description: The namespace which the Service for the given - cluster is deployed. - type: string - port: - description: The port where the service is running - format: int32 - type: integer - required: + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: array + type: object + name: + description: The name of the Service for the given cluster. + type: string + namespace: + description: The namespace which the Service for the given cluster is deployed. + type: string + port: + description: The port where the service is running + format: int32 + type: integer + required: - name - namespace - port - type: object - required: - - enabled - type: object - kubeProxy: - description: AddonStatus defines the observed state of an Addon. - properties: - checksum: - type: string - enabled: - type: boolean - lastUpdate: - format: date-time - type: string - required: - - enabled - type: object - type: object - certificates: - description: Certificates contains information about the different - certificates that are necessary to run a kubernetes control plane - properties: - apiServer: - description: CertificatePrivateKeyPairStatus defines the status. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - apiServerKubeletClient: - description: CertificatePrivateKeyPairStatus defines the status. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - ca: - description: CertificatePrivateKeyPairStatus defines the status. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - etcd: - description: ETCDCertificatesStatus defines the observed state - of ETCD Certificate for API server. - properties: - apiServer: - description: APIServerCertificatesStatus defines the observed - state of ETCD Certificate for API server. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - ca: - description: ETCDCertificateStatus defines the observed state - of ETCD Certificate for API server. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - type: object - frontProxyCA: - description: CertificatePrivateKeyPairStatus defines the status. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - frontProxyClient: - description: CertificatePrivateKeyPairStatus defines the status. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - sa: - description: PublicKeyPrivateKeyPairStatus defines the status. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - type: object - controlPlaneEndpoint: - description: ControlPlaneEndpoint contains the status of the kubernetes - control plane - type: string - kubeadmPhase: - description: KubeadmPhase contains the status of the kubeadm phases - action - properties: - bootstrapToken: - description: KubeadmPhaseStatus contains the status of a kubeadm - phase action. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - type: object - uploadConfigKubeadm: - description: KubeadmPhaseStatus contains the status of a kubeadm - phase action. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - type: object - uploadConfigKubelet: - description: KubeadmPhaseStatus contains the status of a kubeadm - phase action. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - type: object - required: - - bootstrapToken - - uploadConfigKubeadm - - uploadConfigKubelet - type: object - kubeadmconfig: - description: KubeadmConfig contains the status of the configuration - required by kubeadm - properties: - checksum: - description: Checksum of the kubeadm configuration to detect changes - type: string - configmapName: - type: string - lastUpdate: - format: date-time - type: string - type: object - kubeconfig: - description: KubeConfig contains information about the kubenconfigs - that control plane pieces need - properties: - admin: - description: KubeconfigStatus contains information about the generated - kubeconfig. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - controllerManager: - description: KubeconfigStatus contains information about the generated - kubeconfig. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - scheduler: - description: KubeconfigStatus contains information about the generated - kubeconfig. - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - type: object - kubernetesResources: - description: Kubernetes contains information about the reconciliation - of the required Kubernetes resources deployed in the admin cluster - properties: - deployment: - description: KubernetesDeploymentStatus defines the status for - the Tenant Control Plane Deployment in the management cluster. - properties: - availableReplicas: - description: Total number of available pods (ready for at - least minReadySeconds) targeted by this deployment. - format: int32 - type: integer - collisionCount: - description: Count of hash collisions for the Deployment. - The Deployment controller uses this field as a collision - avoidance mechanism when it needs to create the name for - the newest ReplicaSet. - format: int32 - type: integer - conditions: - description: Represents the latest available observations - of a deployment's current state. - items: - description: DeploymentCondition describes the state of - a deployment at a certain point. - properties: - lastTransitionTime: - description: Last time the condition transitioned from - one status to another. - format: date-time - type: string - lastUpdateTime: - description: The last time this condition was updated. - format: date-time - type: string - message: - description: A human readable message indicating details - about the transition. - type: string - reason: - description: The reason for the condition's last transition. - type: string - status: - description: Status of the condition, one of True, False, - Unknown. - type: string - type: - description: Type of deployment condition. - type: string - required: - - status - - type - type: object - type: array - lastUpdate: - description: Last time when deployment was updated - format: date-time - type: string - name: - description: The name of the Deployment for the given cluster. - type: string - namespace: - description: The namespace which the Deployment for the given - cluster is deployed. - type: string - observedGeneration: - description: The generation observed by the deployment controller. - format: int64 - type: integer - readyReplicas: - description: readyReplicas is the number of pods targeted - by this Deployment with a Ready Condition. - format: int32 - type: integer - replicas: - description: Total number of non-terminated pods targeted - by this deployment (their labels match the selector). - format: int32 - type: integer - selector: - description: Selector is the label selector used to group - the Tenant Control Plane Pods used by the scale subresource. - type: string - unavailableReplicas: - description: Total number of unavailable pods targeted by - this deployment. This is the total number of pods that are - still required for the deployment to have 100% available - capacity. They may either be pods that are running but not - yet available or pods that still have not been created. - format: int32 - type: integer - updatedReplicas: - description: Total number of non-terminated pods targeted - by this deployment that have the desired template spec. - format: int32 - type: integer - required: - - name - - namespace - - selector - type: object - ingress: - description: KubernetesIngressStatus defines the status for the - Tenant Control Plane Ingress in the management cluster. - properties: - loadBalancer: - description: LoadBalancer contains the current status of the - load-balancer. - properties: - ingress: - description: Ingress is a list containing ingress points - for the load-balancer. Traffic intended for the service - should be sent to these ingress points. - items: - description: 'LoadBalancerIngress represents the status - of a load-balancer ingress point: traffic intended - for the service should be sent to an ingress point.' - properties: - hostname: - description: Hostname is set for load-balancer ingress - points that are DNS based (typically AWS load-balancers) - type: string - ip: - description: IP is set for load-balancer ingress - points that are IP based (typically GCE or OpenStack - load-balancers) - type: string - ports: - description: Ports is a list of records of service - ports If used, every port defined in the service - should have an entry in it - items: - properties: - error: - description: 'Error is to record the problem - with the service port The format of the - error shall comply with the following rules: - - built-in error values shall be specified - in this file and those shall use CamelCase - names - cloud provider specific error values - must have names that comply with the format - foo.example.com/CamelCase. --- The regex - it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)' - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - port: - description: Port is the port number of the - service port of which status is recorded - here - format: int32 - type: integer - protocol: - default: TCP - description: 'Protocol is the protocol of - the service port of which status is recorded - here The supported values are: "TCP", "UDP", - "SCTP"' - type: string - required: - - port - - protocol - type: object - type: array - x-kubernetes-list-type: atomic - type: object - type: array - type: object - name: - description: The name of the Ingress for the given cluster. - type: string - namespace: - description: The namespace which the Ingress for the given - cluster is deployed. - type: string - required: - - name - - namespace - type: object - service: - description: KubernetesServiceStatus defines the status for the - Tenant Control Plane Service in the management cluster. - properties: - conditions: - description: Current service state - items: - description: "Condition contains details for one aspect - of the current state of this API Resource. --- This struct - is intended for direct use as an array at the field path - .status.conditions. For example, \n type FooStatus struct{ - // Represents the observations of a foo's current state. - // Known .status.conditions.type are: \"Available\", \"Progressing\", - and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" - patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` - \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the - condition transitioned from one status to another. - This should be when the underlying condition changed. If - that is not known, then using the time when the API - field changed is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty - string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, - if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to - the current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier - indicating the reason for the condition's last transition. - Producers of specific condition types may define expected - values and meanings for this field, and whether the - values are considered a guaranteed API. The value - should be a CamelCase string. This field may not be - empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, - Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across - resources like Available, but because arbitrary conditions - can be useful (see .node.status.conditions), the ability - to deconflict is important. The regex it matches is - (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - loadBalancer: - description: LoadBalancer contains the current status of the - load-balancer, if one is present. - properties: - ingress: - description: Ingress is a list containing ingress points - for the load-balancer. Traffic intended for the service - should be sent to these ingress points. - items: - description: 'LoadBalancerIngress represents the status - of a load-balancer ingress point: traffic intended - for the service should be sent to an ingress point.' - properties: - hostname: - description: Hostname is set for load-balancer ingress - points that are DNS based (typically AWS load-balancers) - type: string - ip: - description: IP is set for load-balancer ingress - points that are IP based (typically GCE or OpenStack - load-balancers) - type: string - ports: - description: Ports is a list of records of service - ports If used, every port defined in the service - should have an entry in it - items: - properties: - error: - description: 'Error is to record the problem - with the service port The format of the - error shall comply with the following rules: - - built-in error values shall be specified - in this file and those shall use CamelCase - names - cloud provider specific error values - must have names that comply with the format - foo.example.com/CamelCase. --- The regex - it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)' - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - port: - description: Port is the port number of the - service port of which status is recorded - here - format: int32 - type: integer - protocol: - default: TCP - description: 'Protocol is the protocol of - the service port of which status is recorded - here The supported values are: "TCP", "UDP", - "SCTP"' - type: string - required: - - port - - protocol - type: object - type: array - x-kubernetes-list-type: atomic - type: object - type: array - type: object - name: - description: The name of the Service for the given cluster. - type: string - namespace: - description: The namespace which the Service for the given - cluster is deployed. - type: string - port: - description: The port where the service is running - format: int32 - type: integer - required: - - name - - namespace - - port - type: object - version: - description: KubernetesVersion contains the information regarding - the running Kubernetes version, and its upgrade status. - properties: - status: - default: Provisioning - description: Status returns the current status of the Kubernetes - version, such as its provisioning state, or completed upgrade. - enum: - - Provisioning - - Upgrading - - Ready - - NotReady - type: string - version: - description: Version is the running Kubernetes version of - the Tenant Control Plane. - type: string - type: object - type: object - storage: - description: Storage Status contains information about Kubernetes - storage system - properties: - certificate: - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - secretName: - type: string - type: object - config: - properties: - checksum: - type: string - secretName: - type: string - type: object - dataStoreName: - type: string - driver: - type: string - setup: - properties: - checksum: - type: string - lastUpdate: - format: date-time - type: string - schema: - type: string - user: - type: string - type: object - type: object - type: object - type: object - served: true - storage: true - subresources: - scale: - labelSelectorPath: .status.kubernetesResources.deployment.selector - specReplicasPath: .spec.controlPlane.deployment.replicas - statusReplicasPath: .status.kubernetesResources.deployment.replicas - status: {} + type: object + version: + description: KubernetesVersion contains the information regarding the running Kubernetes version, and its upgrade status. + properties: + status: + default: Provisioning + description: Status returns the current status of the Kubernetes version, such as its provisioning state, or completed upgrade. + enum: + - Provisioning + - CertificateAuthorityRotating + - Upgrading + - Migrating + - Ready + - NotReady + type: string + version: + description: Version is the running Kubernetes version of the Tenant Control Plane. + type: string + type: object + type: object + storage: + description: Storage Status contains information about Kubernetes storage system + properties: + certificate: + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + secretName: + type: string + type: object + config: + properties: + checksum: + type: string + secretName: + type: string + type: object + dataStoreName: + type: string + driver: + type: string + setup: + properties: + checksum: + type: string + lastUpdate: + format: date-time + type: string + schema: + type: string + user: + type: string + type: object + type: object + type: object + type: object + served: true + storage: true + subresources: + scale: + labelSelectorPath: .status.kubernetesResources.deployment.selector + specReplicasPath: .spec.controlPlane.deployment.replicas + statusReplicasPath: .status.kubernetesResources.deployment.replicas + status: {} diff --git a/charts/clastix/kamaji/templates/_helpers.tpl b/charts/clastix/kamaji/templates/_helpers.tpl index fdcc4650d..a879ea6de 100644 --- a/charts/clastix/kamaji/templates/_helpers.tpl +++ b/charts/clastix/kamaji/templates/_helpers.tpl @@ -61,3 +61,31 @@ Create the name of the service account to use {{- default "default" .Values.serviceAccount.name }} {{- end }} {{- end }} + +{{/* +Create the name of the Service to user for webhooks +*/}} +{{- define "kamaji.webhookServiceName" -}} +{{- printf "%s-webhook-service" (include "kamaji.fullname" .) }} +{{- end }} + +{{/* +Create the name of the Service to user for metrics +*/}} +{{- define "kamaji.metricsServiceName" -}} +{{- printf "%s-metrics-service" (include "kamaji.fullname" .) }} +{{- end }} + +{{/* +Create the name of the cert-manager secret +*/}} +{{- define "kamaji.webhookSecretName" -}} +{{- printf "%s-webhook-server-cert" (include "kamaji.fullname" .) }} +{{- end }} + +{{/* +Create the name of the cert-manager Certificate +*/}} +{{- define "kamaji.certificateName" -}} +{{- printf "%s-serving-cert" (include "kamaji.fullname" .) }} +{{- end }} diff --git a/charts/clastix/kamaji/templates/certmanager_certificate.yaml b/charts/clastix/kamaji/templates/certmanager_certificate.yaml new file mode 100644 index 000000000..044815f64 --- /dev/null +++ b/charts/clastix/kamaji/templates/certmanager_certificate.yaml @@ -0,0 +1,16 @@ +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + labels: + {{- include "kamaji.labels" . | nindent 4 }} + app.kubernetes.io/component: certificate + name: {{ include "kamaji.certificateName" . }} + namespace: {{ .Release.Namespace }} +spec: + dnsNames: + - {{ include "kamaji.webhookServiceName" . }}.{{ .Release.Namespace }}.svc + - {{ include "kamaji.webhookServiceName" . }}.{{ .Release.Namespace }}.svc.cluster.local + issuerRef: + kind: Issuer + name: kamaji-selfsigned-issuer + secretName: {{ include "kamaji.webhookSecretName" . }} \ No newline at end of file diff --git a/charts/clastix/kamaji/templates/certmanager_issuer.yaml b/charts/clastix/kamaji/templates/certmanager_issuer.yaml new file mode 100644 index 000000000..dfd7c8892 --- /dev/null +++ b/charts/clastix/kamaji/templates/certmanager_issuer.yaml @@ -0,0 +1,10 @@ +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + labels: + {{- include "kamaji.labels" . | nindent 4 }} + app.kubernetes.io/component: issuer + name: kamaji-selfsigned-issuer + namespace: {{ .Release.Namespace }} +spec: + selfSigned: {} \ No newline at end of file diff --git a/charts/clastix/kamaji/templates/controller.yaml b/charts/clastix/kamaji/templates/controller.yaml index a7a783531..82ddd5cba 100644 --- a/charts/clastix/kamaji/templates/controller.yaml +++ b/charts/clastix/kamaji/templates/controller.yaml @@ -28,18 +28,7 @@ spec: serviceAccountName: {{ include "kamaji.serviceAccountName" . }} containers: - args: - - --secure-listen-address=0.0.0.0:8443 - - --upstream=http://127.0.0.1:8080/ - - --logtostderr=true - - --v=10 - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0 - name: kube-rbac-proxy - ports: - - containerPort: 8443 - name: https - protocol: TCP - - args: - - --config-file={{ .Values.configPath }} + - manager - --health-probe-bind-address={{ .Values.healthProbeBindAddress }} - --leader-elect - --metrics-bind-address={{ .Values.metricsBindAddress }} @@ -52,7 +41,16 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} command: - - /manager + - /kamaji + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: SERVICE_ACCOUNT + valueFrom: + fieldRef: + fieldPath: spec.serviceAccountName image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} {{- with .Values.livenessProbe }} @@ -61,6 +59,12 @@ spec: {{- end }} name: manager ports: + - containerPort: 9443 + name: webhook-server + protocol: TCP + - containerPort: 8080 + name: metrics + protocol: TCP - containerPort: 8081 name: healthcheck protocol: TCP @@ -72,7 +76,21 @@ spec: {{- toYaml .Values.resources | nindent 12 }} securityContext: {{- toYaml .Values.securityContext | nindent 12 }} + volumeMounts: + - mountPath: /tmp + name: tmp + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true terminationGracePeriodSeconds: 10 + volumes: + - name: tmp + emptyDir: + medium: Memory + - name: cert + secret: + defaultMode: 420 + secretName: {{ include "kamaji.webhookSecretName" . }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} diff --git a/charts/clastix/kamaji/templates/datastore.yaml b/charts/clastix/kamaji/templates/datastore.yaml index 954a26856..60a84ffe3 100644 --- a/charts/clastix/kamaji/templates/datastore.yaml +++ b/charts/clastix/kamaji/templates/datastore.yaml @@ -2,6 +2,8 @@ apiVersion: kamaji.clastix.io/v1alpha1 kind: DataStore metadata: name: {{ include "datastore.fullname" . }} + annotations: + "helm.sh/hook": pre-install labels: {{- include "datastore.labels" . | nindent 4 }} spec: @@ -10,7 +12,12 @@ spec: {{- include "datastore.endpoints" . | indent 4 }} {{- if (and .Values.datastore.basicAuth.usernameSecret.name .Values.datastore.basicAuth.passwordSecret.name) }} basicAuth: - {{- .Values.datastore.basicAuth | toYaml | nindent 4 }} + username: + secretReference: + {{- .Values.datastore.basicAuth.usernameSecret | toYaml | nindent 8 }} + password: + secretReference: + {{- .Values.datastore.basicAuth.passwordSecret | toYaml | nindent 8 }} {{- end }} tlsConfig: certificateAuthority: diff --git a/charts/clastix/kamaji/templates/mutatingwebhookconfiguration.yaml b/charts/clastix/kamaji/templates/mutatingwebhookconfiguration.yaml new file mode 100644 index 000000000..36c280a45 --- /dev/null +++ b/charts/clastix/kamaji/templates/mutatingwebhookconfiguration.yaml @@ -0,0 +1,50 @@ +apiVersion: admissionregistration.k8s.io/v1 +kind: MutatingWebhookConfiguration +metadata: + annotations: + cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "kamaji.certificateName" . }} + labels: + {{- include "kamaji.labels" . | nindent 4 }} + app.kubernetes.io/instance: mutating-webhook-configuration + name: kamaji-mutating-webhook-configuration +webhooks: + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: {{ include "kamaji.webhookServiceName" . }} + namespace: {{ .Release.Namespace }} + path: /mutate-kamaji-clastix-io-v1alpha1-datastore + failurePolicy: Fail + name: mdatastore.kb.io + rules: + - apiGroups: + - kamaji.clastix.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - datastores + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: {{ include "kamaji.webhookServiceName" . }} + namespace: {{ .Release.Namespace }} + path: /mutate-kamaji-clastix-io-v1alpha1-tenantcontrolplane + failurePolicy: Fail + name: mtenantcontrolplane.kb.io + rules: + - apiGroups: + - kamaji.clastix.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - tenantcontrolplanes + sideEffects: None \ No newline at end of file diff --git a/charts/clastix/kamaji/templates/rbac.yaml b/charts/clastix/kamaji/templates/rbac.yaml index b82dfef49..8fb939c37 100644 --- a/charts/clastix/kamaji/templates/rbac.yaml +++ b/charts/clastix/kamaji/templates/rbac.yaml @@ -66,6 +66,16 @@ rules: - patch - update - watch +- apiGroups: + - batch + resources: + - jobs + verbs: + - create + - delete + - get + - list + - watch - apiGroups: - "" resources: @@ -114,12 +124,6 @@ rules: - patch - update - watch -- apiGroups: - - kamaji.clastix.io - resources: - - datastores/finalizers - verbs: - - update - apiGroups: - kamaji.clastix.io resources: diff --git a/charts/clastix/kamaji/templates/service.yaml b/charts/clastix/kamaji/templates/service_metrics.yaml similarity index 55% rename from charts/clastix/kamaji/templates/service.yaml rename to charts/clastix/kamaji/templates/service_metrics.yaml index 2509a0d90..a19b4abf2 100644 --- a/charts/clastix/kamaji/templates/service.yaml +++ b/charts/clastix/kamaji/templates/service_metrics.yaml @@ -1,16 +1,16 @@ apiVersion: v1 kind: Service metadata: - name: {{ include "kamaji.fullname" . }} labels: {{- include "kamaji.labels" . | nindent 4 }} + app.kubernetes.io/component: metrics + name: {{ include "kamaji.metricsServiceName" . }} namespace: {{ .Release.Namespace }} spec: - type: {{ .Values.service.type }} ports: - - name: https - port: {{ .Values.service.port }} - protocol: TCP - targetPort: https + - port: 8080 + name: metrics + protocol: TCP + targetPort: metrics selector: {{- include "kamaji.selectorLabels" . | nindent 4 }} diff --git a/charts/clastix/kamaji/templates/service_webhook.yaml b/charts/clastix/kamaji/templates/service_webhook.yaml new file mode 100644 index 000000000..593f43037 --- /dev/null +++ b/charts/clastix/kamaji/templates/service_webhook.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + {{- include "kamaji.labels" . | nindent 4 }} + app.kubernetes.io/component: webhook + app.kubernetes.io/instance: webhook-service + name: {{ include "kamaji.webhookServiceName" . }} + namespace: {{ .Release.Namespace }} +spec: + ports: + - port: 443 + protocol: TCP + name: webhook-server + targetPort: webhook-server + selector: + {{- include "kamaji.selectorLabels" . | nindent 4 }} diff --git a/charts/clastix/kamaji/templates/servicemonitor.yaml b/charts/clastix/kamaji/templates/servicemonitor.yaml new file mode 100644 index 000000000..73f5a6fd3 --- /dev/null +++ b/charts/clastix/kamaji/templates/servicemonitor.yaml @@ -0,0 +1,21 @@ +{{- if and (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1") .Values.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + labels: + {{- include "kamaji.labels" . | nindent 4 }} + app.kubernetes.io/component: servicemonitor + name: {{ include "kamaji.fullname" . }} + namespace: {{ .Release.Namespace }} +spec: + endpoints: + - path: /metrics + port: metrics + scheme: http + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} + selector: + matchLabels: + app.kubernetes.io/name: {{ include "kamaji.name" . }} +{{- end }} diff --git a/charts/clastix/kamaji/templates/validatingwebhookconfiguration.yaml b/charts/clastix/kamaji/templates/validatingwebhookconfiguration.yaml new file mode 100644 index 000000000..06977892d --- /dev/null +++ b/charts/clastix/kamaji/templates/validatingwebhookconfiguration.yaml @@ -0,0 +1,70 @@ +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + annotations: + cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "kamaji.certificateName" . }} + labels: + {{- include "kamaji.labels" . | nindent 4 }} + app.kubernetes.io/instance: validating-webhook-configuration + name: kamaji-validating-webhook-configuration +webhooks: + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: {{ include "kamaji.webhookServiceName" . }} + namespace: {{ .Release.Namespace }} + path: /validate--v1-secret + failurePolicy: Ignore + name: vdatastoresecrets.kb.io + rules: + - apiGroups: + - "" + apiVersions: + - v1 + operations: + - DELETE + resources: + - secrets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: {{ include "kamaji.webhookServiceName" . }} + namespace: {{ .Release.Namespace }} + path: /validate-kamaji-clastix-io-v1alpha1-datastore + failurePolicy: Fail + name: vdatastore.kb.io + rules: + - apiGroups: + - kamaji.clastix.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + - DELETE + resources: + - datastores + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: {{ include "kamaji.webhookServiceName" . }} + namespace: {{ .Release.Namespace }} + path: /validate-kamaji-clastix-io-v1alpha1-tenantcontrolplane + failurePolicy: Fail + name: vtenantcontrolplane.kb.io + rules: + - apiGroups: + - kamaji.clastix.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - tenantcontrolplanes + sideEffects: None \ No newline at end of file diff --git a/charts/clastix/kamaji/values.yaml b/charts/clastix/kamaji/values.yaml index a80e3f4af..46a1876ed 100644 --- a/charts/clastix/kamaji/values.yaml +++ b/charts/clastix/kamaji/values.yaml @@ -15,8 +15,10 @@ image: # -- A list of extra arguments to add to the kamaji controller default ones extraArgs: [] -# -- Configuration file path alternative. (default "./kamaji.yaml") -configPath: "./kamaji.yaml" + +serviceMonitor: + # -- Toggle the ServiceMonitor true if you have Prometheus Operator installed and configured + enabled: false etcd: # -- Install an etcd with enabled multi-tenancy along with Kamaji @@ -31,7 +33,7 @@ etcd: # -- Install specific etcd image image: repository: quay.io/coreos/etcd - tag: "v3.5.4" + tag: "v3.5.6" pullPolicy: IfNotPresent # -- The livenessProbe for the etcd container @@ -127,10 +129,6 @@ securityContext: # runAsNonRoot: true # runAsUser: 1000 -service: - type: ClusterIP - port: 8443 - resources: limits: cpu: 200m diff --git a/charts/datadog/datadog/CHANGELOG.md b/charts/datadog/datadog/CHANGELOG.md index 3955a532e..81815b787 100644 --- a/charts/datadog/datadog/CHANGELOG.md +++ b/charts/datadog/datadog/CHANGELOG.md @@ -1,5 +1,9 @@ # Datadog changelog +## 3.10.5 + +* Only expose the shared volume for the auth-token in non autopilot environments. + ## 3.10.4 * Fix documentation for `agents.containers.traceAgent.env` and `agents.containers.securityAgent.env` diff --git a/charts/datadog/datadog/Chart.yaml b/charts/datadog/datadog/Chart.yaml index 79c696704..1e046a7c4 100644 --- a/charts/datadog/datadog/Chart.yaml +++ b/charts/datadog/datadog/Chart.yaml @@ -19,4 +19,4 @@ name: datadog sources: - https://app.datadoghq.com/account/settings#agent/kubernetes - https://github.com/DataDog/datadog-agent -version: 3.10.4 +version: 3.10.5 diff --git a/charts/datadog/datadog/README.md b/charts/datadog/datadog/README.md index 975e02260..a7a8c97e0 100644 --- a/charts/datadog/datadog/README.md +++ b/charts/datadog/datadog/README.md @@ -1,6 +1,6 @@ # Datadog -![Version: 3.10.4](https://img.shields.io/badge/Version-3.10.4-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square) +![Version: 3.10.5](https://img.shields.io/badge/Version-3.10.5-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square) [Datadog](https://www.datadoghq.com/) is a hosted infrastructure monitoring platform. This chart adds the Datadog Agent to all nodes in your cluster via a DaemonSet. It also optionally depends on the [kube-state-metrics chart](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics). For more information about monitoring Kubernetes with Datadog, please refer to the [Datadog documentation website](https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/). diff --git a/charts/datadog/datadog/templates/_container-agent.yaml b/charts/datadog/datadog/templates/_container-agent.yaml index cc92a791e..22340f446 100644 --- a/charts/datadog/datadog/templates/_container-agent.yaml +++ b/charts/datadog/datadog/templates/_container-agent.yaml @@ -163,8 +163,11 @@ {{- end }} - name: config mountPath: {{ template "datadog.confPath" . }} + {{- if (not .Values.providers.gke.autopilot) }} - name: auth-token mountPath: {{ template "datadog.confPath" . }}/auth + readOnly: false + {{- end }} {{- include "container-crisocket-volumemounts" . | nindent 4 }} {{- include "container-cloudinit-volumemounts" . | nindent 4 }} {{- if .Values.agents.useConfigMap }} diff --git a/charts/datadog/datadog/templates/_container-process-agent.yaml b/charts/datadog/datadog/templates/_container-process-agent.yaml index 800885cdd..0c30367fd 100644 --- a/charts/datadog/datadog/templates/_container-process-agent.yaml +++ b/charts/datadog/datadog/templates/_container-process-agent.yaml @@ -56,9 +56,11 @@ - name: config mountPath: {{ template "datadog.confPath" . }} {{- if eq .Values.targetSystem "linux" }} + {{- if (not .Values.providers.gke.autopilot) }} - name: auth-token - mountPath: /etc/datadog-agent/auth + mountPath: {{ template "datadog.confPath" . }}/auth readOnly: true + {{- end }} - name: logdatadog mountPath: /var/log/datadog - name: tmpdir diff --git a/charts/datadog/datadog/templates/_container-security-agent.yaml b/charts/datadog/datadog/templates/_container-security-agent.yaml index 2fc306d05..c538cec3f 100644 --- a/charts/datadog/datadog/templates/_container-security-agent.yaml +++ b/charts/datadog/datadog/templates/_container-security-agent.yaml @@ -52,9 +52,11 @@ volumeMounts: - name: config mountPath: {{ template "datadog.confPath" . }} + {{- if (not .Values.providers.gke.autopilot) }} - name: auth-token mountPath: {{ template "datadog.confPath" . }}/auth readOnly: true + {{- end }} {{- if eq .Values.targetSystem "linux" }} - name: logdatadog mountPath: /var/log/datadog diff --git a/charts/datadog/datadog/templates/_container-trace-agent.yaml b/charts/datadog/datadog/templates/_container-trace-agent.yaml index 9165e8af9..1a88d4f31 100644 --- a/charts/datadog/datadog/templates/_container-trace-agent.yaml +++ b/charts/datadog/datadog/templates/_container-trace-agent.yaml @@ -53,9 +53,11 @@ volumeMounts: - name: config mountPath: {{ template "datadog.confPath" . }} + {{- if (not .Values.providers.gke.autopilot) }} - name: auth-token mountPath: {{ template "datadog.confPath" . }}/auth readOnly: true + {{- end }} {{- if .Values.agents.useConfigMap }} - name: datadog-yaml mountPath: {{ template "datadog.confPath" . }}/datadog.yaml diff --git a/charts/datadog/datadog/templates/_containers-common-env.yaml b/charts/datadog/datadog/templates/_containers-common-env.yaml index d27f902fb..b0dc966de 100644 --- a/charts/datadog/datadog/templates/_containers-common-env.yaml +++ b/charts/datadog/datadog/templates/_containers-common-env.yaml @@ -9,8 +9,10 @@ secretKeyRef: name: {{ template "datadog.apiSecretName" . }} key: api-key +{{- if (not .Values.providers.gke.autopilot) }} - name: DD_AUTH_TOKEN_FILE_PATH value: {{ template "datadog.confPath" . }}/auth/token +{{- end }} {{ include "components-common-env" . }} {{- if .Values.datadog.kubelet.host }} - name: DD_KUBERNETES_KUBELET_HOST diff --git a/charts/datadog/datadog/templates/daemonset.yaml b/charts/datadog/datadog/templates/daemonset.yaml index 462e4a32f..219adf002 100644 --- a/charts/datadog/datadog/templates/daemonset.yaml +++ b/charts/datadog/datadog/templates/daemonset.yaml @@ -132,8 +132,10 @@ spec: {{ include "system-probe-init" . | nindent 6 }} {{- end }} volumes: + {{- if (not .Values.providers.gke.autopilot) }} - name: auth-token emptyDir: {} + {{- end }} - name: installinfo configMap: name: {{ include "agents-install-info-configmap-name" . }} diff --git a/charts/hashicorp/consul/Chart.yaml b/charts/hashicorp/consul/Chart.yaml index 505066e5f..d8552fc1c 100644 --- a/charts/hashicorp/consul/Chart.yaml +++ b/charts/hashicorp/consul/Chart.yaml @@ -1,11 +1,11 @@ annotations: artifacthub.io/images: | - name: consul - image: hashicorp/consul:1.14.2 + image: hashicorp/consul:1.14.4 - name: consul-k8s-control-plane - image: hashicorp/consul-k8s-control-plane:1.0.2 + image: hashicorp/consul-k8s-control-plane:1.0.3 - name: consul-dataplane - image: hashicorp/consul-dataplane:1.0.0 + image: hashicorp/consul-dataplane:1.0.1 - name: envoy image: envoyproxy/envoy:v1.23.1 artifacthub.io/license: MPL-2.0 @@ -25,7 +25,7 @@ annotations: catalog.cattle.io/kube-version: '>=1.21.0-0' catalog.cattle.io/release-name: consul apiVersion: v2 -appVersion: 1.14.2 +appVersion: 1.14.4 description: Official HashiCorp Consul Chart home: https://www.consul.io icon: https://raw.githubusercontent.com/hashicorp/consul-k8s/main/assets/icon.png @@ -34,4 +34,4 @@ name: consul sources: - https://github.com/hashicorp/consul - https://github.com/hashicorp/consul-k8s -version: 1.0.2 +version: 1.0.3 diff --git a/charts/hashicorp/consul/README.md b/charts/hashicorp/consul/README.md index 79b3fc4a6..e7d7fd928 100644 --- a/charts/hashicorp/consul/README.md +++ b/charts/hashicorp/consul/README.md @@ -42,7 +42,7 @@ by contacting us at [security@hashicorp.com](mailto:security@hashicorp.com). The following pre-requisites must be met before installing Consul on Kubernetes. - * **Kubernetes 1.22.x - 1.25.x** - This represents the earliest versions of Kubernetes tested. + * **Kubernetes 1.23.x - 1.26.x** - This represents the earliest versions of Kubernetes tested. It is possible that this chart works with earlier versions, but it is untested. * Helm install diff --git a/charts/hashicorp/consul/templates/api-gateway-controller-deployment.yaml b/charts/hashicorp/consul/templates/api-gateway-controller-deployment.yaml index c548b63e4..ec64bc363 100644 --- a/charts/hashicorp/consul/templates/api-gateway-controller-deployment.yaml +++ b/charts/hashicorp/consul/templates/api-gateway-controller-deployment.yaml @@ -15,6 +15,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: api-gateway-controller + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} spec: replicas: {{ .Values.apiGateway.controller.replicas }} selector: @@ -46,6 +49,9 @@ spec: chart: {{ template "consul.chart" . }} release: {{ .Release.Name }} component: api-gateway-controller + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} spec: serviceAccountName: {{ template "consul.fullname" . }}-api-gateway-controller containers: diff --git a/charts/hashicorp/consul/templates/client-daemonset.yaml b/charts/hashicorp/consul/templates/client-daemonset.yaml index 59252301f..91af3821f 100644 --- a/charts/hashicorp/consul/templates/client-daemonset.yaml +++ b/charts/hashicorp/consul/templates/client-daemonset.yaml @@ -24,6 +24,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: client + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} spec: {{- if .Values.client.updateStrategy }} updateStrategy: @@ -47,6 +50,9 @@ spec: {{- if .Values.client.extraLabels }} {{- toYaml .Values.client.extraLabels | nindent 8 }} {{- end }} + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: {{- if .Values.global.secretsBackend.vault.enabled }} "vault.hashicorp.com/agent-inject": "true" diff --git a/charts/hashicorp/consul/templates/cni-daemonset.yaml b/charts/hashicorp/consul/templates/cni-daemonset.yaml index e9a680733..ae04d9e65 100644 --- a/charts/hashicorp/consul/templates/cni-daemonset.yaml +++ b/charts/hashicorp/consul/templates/cni-daemonset.yaml @@ -11,6 +11,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: cni + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} spec: {{- if .Values.connectInject.cni.updateStrategy }} updateStrategy: @@ -29,6 +32,9 @@ spec: chart: {{ template "consul.chart" . }} release: {{ .Release.Name }} component: cni + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: consul.hashicorp.com/connect-inject: "false" spec: diff --git a/charts/hashicorp/consul/templates/connect-inject-deployment.yaml b/charts/hashicorp/consul/templates/connect-inject-deployment.yaml index e6b467587..2b52c1b81 100644 --- a/charts/hashicorp/consul/templates/connect-inject-deployment.yaml +++ b/charts/hashicorp/consul/templates/connect-inject-deployment.yaml @@ -23,6 +23,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: connect-injector + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} spec: replicas: {{ .Values.connectInject.replicas }} selector: @@ -41,6 +44,9 @@ spec: {{- if .Values.connectInject.extraLabels }} {{- toYaml .Values.connectInject.extraLabels | nindent 8 }} {{- end }} + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" {{- if .Values.connectInject.annotations }} diff --git a/charts/hashicorp/consul/templates/create-federation-secret-job.yaml b/charts/hashicorp/consul/templates/create-federation-secret-job.yaml index 40b81957d..4f83a1f82 100644 --- a/charts/hashicorp/consul/templates/create-federation-secret-job.yaml +++ b/charts/hashicorp/consul/templates/create-federation-secret-job.yaml @@ -15,6 +15,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: create-federation-secret + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} annotations: "helm.sh/hook": post-install,post-upgrade {{- /* Hook weight needs to be 1 so that the service account is provisioned first */}} @@ -29,6 +32,9 @@ spec: chart: {{ template "consul.chart" . }} release: {{ .Release.Name }} component: create-federation-secret + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" spec: diff --git a/charts/hashicorp/consul/templates/enterprise-license-job.yaml b/charts/hashicorp/consul/templates/enterprise-license-job.yaml index 02921db3b..012269010 100644 --- a/charts/hashicorp/consul/templates/enterprise-license-job.yaml +++ b/charts/hashicorp/consul/templates/enterprise-license-job.yaml @@ -15,6 +15,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: license + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} annotations: "helm.sh/hook": post-install,post-upgrade "helm.sh/hook-weight": "100" @@ -31,6 +34,9 @@ spec: chart: {{ template "consul.chart" . }} release: {{ .Release.Name }} component: license + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" spec: diff --git a/charts/hashicorp/consul/templates/gossip-encryption-autogenerate-job.yaml b/charts/hashicorp/consul/templates/gossip-encryption-autogenerate-job.yaml index e1a6e4982..9d296478a 100644 --- a/charts/hashicorp/consul/templates/gossip-encryption-autogenerate-job.yaml +++ b/charts/hashicorp/consul/templates/gossip-encryption-autogenerate-job.yaml @@ -14,6 +14,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: gossip-encryption-autogenerate + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} annotations: "helm.sh/hook": pre-install,pre-upgrade "helm.sh/hook-weight": "1" @@ -27,6 +30,9 @@ spec: chart: {{ template "consul.chart" . }} release: {{ .Release.Name }} component: gossip-encryption-autogenerate + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" spec: diff --git a/charts/hashicorp/consul/templates/ingress-gateways-deployment.yaml b/charts/hashicorp/consul/templates/ingress-gateways-deployment.yaml index 139055b81..4f7203185 100644 --- a/charts/hashicorp/consul/templates/ingress-gateways-deployment.yaml +++ b/charts/hashicorp/consul/templates/ingress-gateways-deployment.yaml @@ -46,6 +46,9 @@ metadata: release: {{ $root.Release.Name }} component: ingress-gateway ingress-gateway-name: {{ template "consul.fullname" $root }}-{{ .name }} + {{- if $root.Values.global.extraLabels }} + {{- toYaml $root.Values.global.extraLabels | nindent 4 }} + {{- end }} spec: replicas: {{ default $defaults.replicas .replicas }} selector: @@ -66,6 +69,9 @@ spec: component: ingress-gateway ingress-gateway-name: {{ template "consul.fullname" $root }}-{{ .name }} consul.hashicorp.com/connect-inject-managed-by: consul-k8s-endpoints-controller + {{- if $root.Values.global.extraLabels }} + {{- toYaml $root.Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" "consul.hashicorp.com/gateway-kind": "ingress-gateway" diff --git a/charts/hashicorp/consul/templates/mesh-gateway-deployment.yaml b/charts/hashicorp/consul/templates/mesh-gateway-deployment.yaml index 0ba66dbde..2b2bdc8c2 100644 --- a/charts/hashicorp/consul/templates/mesh-gateway-deployment.yaml +++ b/charts/hashicorp/consul/templates/mesh-gateway-deployment.yaml @@ -19,6 +19,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: mesh-gateway + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} spec: replicas: {{ .Values.meshGateway.replicas }} selector: @@ -35,6 +38,9 @@ spec: release: {{ .Release.Name }} component: mesh-gateway consul.hashicorp.com/connect-inject-managed-by: consul-k8s-endpoints-controller + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" "consul.hashicorp.com/gateway-kind": "mesh-gateway" diff --git a/charts/hashicorp/consul/templates/partition-init-job.yaml b/charts/hashicorp/consul/templates/partition-init-job.yaml index 082c48447..db73ef783 100644 --- a/charts/hashicorp/consul/templates/partition-init-job.yaml +++ b/charts/hashicorp/consul/templates/partition-init-job.yaml @@ -15,6 +15,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: partition-init + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "2" @@ -28,6 +31,9 @@ spec: chart: {{ template "consul.chart" . }} release: {{ .Release.Name }} component: partition-init + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" {{- if (and .Values.global.secretsBackend.vault.enabled (or .Values.global.tls.enabled .Values.global.acls.manageSystemACLs)) }} diff --git a/charts/hashicorp/consul/templates/server-acl-init-cleanup-job.yaml b/charts/hashicorp/consul/templates/server-acl-init-cleanup-job.yaml index 697427ab5..35b0877ab 100644 --- a/charts/hashicorp/consul/templates/server-acl-init-cleanup-job.yaml +++ b/charts/hashicorp/consul/templates/server-acl-init-cleanup-job.yaml @@ -23,6 +23,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: server-acl-init-cleanup + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} annotations: "helm.sh/hook": post-install,post-upgrade "helm.sh/hook-weight": "0" @@ -39,6 +42,9 @@ spec: chart: {{ template "consul.chart" . }} release: {{ .Release.Name }} component: server-acl-init-cleanup + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" spec: diff --git a/charts/hashicorp/consul/templates/server-acl-init-job.yaml b/charts/hashicorp/consul/templates/server-acl-init-job.yaml index 88a16b047..440ab8bee 100644 --- a/charts/hashicorp/consul/templates/server-acl-init-job.yaml +++ b/charts/hashicorp/consul/templates/server-acl-init-job.yaml @@ -29,6 +29,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: server-acl-init + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} spec: template: metadata: @@ -38,6 +41,9 @@ spec: chart: {{ template "consul.chart" . }} release: {{ .Release.Name }} component: server-acl-init + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" {{- if .Values.global.secretsBackend.vault.enabled }} diff --git a/charts/hashicorp/consul/templates/server-statefulset.yaml b/charts/hashicorp/consul/templates/server-statefulset.yaml index 23894c4a0..8b73306fd 100644 --- a/charts/hashicorp/consul/templates/server-statefulset.yaml +++ b/charts/hashicorp/consul/templates/server-statefulset.yaml @@ -31,6 +31,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: server + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} spec: serviceName: {{ template "consul.fullname" . }}-server podManagementPolicy: Parallel @@ -59,6 +62,9 @@ spec: {{- if .Values.server.extraLabels }} {{- toYaml .Values.server.extraLabels | nindent 8 }} {{- end }} + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: {{- if .Values.global.secretsBackend.vault.enabled }} "vault.hashicorp.com/agent-inject": "true" diff --git a/charts/hashicorp/consul/templates/sync-catalog-deployment.yaml b/charts/hashicorp/consul/templates/sync-catalog-deployment.yaml index 26de14306..f2815d962 100644 --- a/charts/hashicorp/consul/templates/sync-catalog-deployment.yaml +++ b/charts/hashicorp/consul/templates/sync-catalog-deployment.yaml @@ -14,6 +14,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: sync-catalog + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} spec: replicas: 1 selector: @@ -32,6 +35,9 @@ spec: {{- if .Values.syncCatalog.extraLabels }} {{- toYaml .Values.syncCatalog.extraLabels | nindent 8 }} {{- end }} + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" {{- if .Values.syncCatalog.annotations }} diff --git a/charts/hashicorp/consul/templates/terminating-gateways-deployment.yaml b/charts/hashicorp/consul/templates/terminating-gateways-deployment.yaml index 3efa78952..2f2cb9a92 100644 --- a/charts/hashicorp/consul/templates/terminating-gateways-deployment.yaml +++ b/charts/hashicorp/consul/templates/terminating-gateways-deployment.yaml @@ -48,6 +48,9 @@ metadata: release: {{ $root.Release.Name }} component: terminating-gateway terminating-gateway-name: {{ template "consul.fullname" $root }}-{{ .name }} + {{- if $root.Values.global.extraLabels }} + {{- toYaml $root.Values.global.extraLabels | nindent 4 }} + {{- end }} spec: replicas: {{ default $defaults.replicas .replicas }} selector: @@ -68,6 +71,9 @@ spec: component: terminating-gateway terminating-gateway-name: {{ template "consul.fullname" $root }}-{{ .name }} consul.hashicorp.com/connect-inject-managed-by: consul-k8s-endpoints-controller + {{- if $root.Values.global.extraLabels }} + {{- toYaml $root.Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" "consul.hashicorp.com/gateway-kind": "terminating-gateway" diff --git a/charts/hashicorp/consul/templates/tls-init-cleanup-job.yaml b/charts/hashicorp/consul/templates/tls-init-cleanup-job.yaml index 9a8898cc1..ba29bb84a 100644 --- a/charts/hashicorp/consul/templates/tls-init-cleanup-job.yaml +++ b/charts/hashicorp/consul/templates/tls-init-cleanup-job.yaml @@ -13,6 +13,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: tls-init-cleanup + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} annotations: "helm.sh/hook": pre-delete "helm.sh/hook-delete-policy": hook-succeeded @@ -27,6 +30,9 @@ spec: chart: {{ template "consul.chart" . }} release: {{ .Release.Name }} component: tls-init-cleanup + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" spec: diff --git a/charts/hashicorp/consul/templates/tls-init-job.yaml b/charts/hashicorp/consul/templates/tls-init-job.yaml index 47dd6462b..d002ae7a7 100644 --- a/charts/hashicorp/consul/templates/tls-init-job.yaml +++ b/charts/hashicorp/consul/templates/tls-init-job.yaml @@ -14,6 +14,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: tls-init + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} annotations: "helm.sh/hook": pre-install,pre-upgrade "helm.sh/hook-weight": "1" @@ -27,6 +30,9 @@ spec: chart: {{ template "consul.chart" . }} release: {{ .Release.Name }} component: tls-init + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" spec: diff --git a/charts/hashicorp/consul/templates/webhook-cert-manager-deployment.yaml b/charts/hashicorp/consul/templates/webhook-cert-manager-deployment.yaml index 557cc0219..a2913dd92 100644 --- a/charts/hashicorp/consul/templates/webhook-cert-manager-deployment.yaml +++ b/charts/hashicorp/consul/templates/webhook-cert-manager-deployment.yaml @@ -11,6 +11,9 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: webhook-cert-manager + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 4 }} + {{- end }} spec: replicas: 1 selector: @@ -28,6 +31,9 @@ spec: heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: webhook-cert-manager + {{- if .Values.global.extraLabels }} + {{- toYaml .Values.global.extraLabels | nindent 8 }} + {{- end }} annotations: "consul.hashicorp.com/connect-inject": "false" "consul.hashicorp.com/config-checksum": {{ include (print $.Template.BasePath "/webhook-cert-manager-configmap.yaml") . | sha256sum }} diff --git a/charts/hashicorp/consul/values.yaml b/charts/hashicorp/consul/values.yaml index 1d24ae005..6760d7afd 100644 --- a/charts/hashicorp/consul/values.yaml +++ b/charts/hashicorp/consul/values.yaml @@ -63,7 +63,7 @@ global: # image: "hashicorp/consul-enterprise:1.10.0-ent" # ``` # @default: hashicorp/consul: - image: "hashicorp/consul:1.14.2" + image: "hashicorp/consul:1.14.4" # Array of objects containing image pull secret names that will be applied to each service account. # This can be used to reference image pull secrets if using a custom consul or consul-k8s-control-plane Docker image. @@ -83,7 +83,7 @@ global: # image that is used for functionality such as catalog sync. # This can be overridden per component. # @default: hashicorp/consul-k8s-control-plane: - imageK8S: hashicorp/consul-k8s-control-plane:1.0.2 + imageK8S: hashicorp/consul-k8s-control-plane:1.0.3 # The name of the datacenter that the agents should # register as. This can't be changed once the Consul cluster is up and running @@ -261,7 +261,7 @@ global: secretName: null connectInject: - # Configuration to the Vault Secret that Kubernetes will use on + # Configuration to the Vault Secret that Kubernetes uses on # Kubernetes pod creation, deletion, and update, to get CA certificates # used issued from vault to send webhooks to the ConnectInject. caCert: @@ -270,7 +270,7 @@ global: # @type: string secretName: null - # Configuration to the Vault Secret that Kubernetes will use on + # Configuration to the Vault Secret that Kubernetes uses on # Kubernetes pod creation, deletion, and update, to get TLS certificates # used issued from vault to send webhooks to the ConnectInject. tlsCert: @@ -325,7 +325,7 @@ global: # If true, the Helm chart will enable TLS for Consul # servers and clients and all consul-k8s-control-plane components, as well as generate certificate # authority (optional) and server and client certificates. - # This setting is required for [Cluster Peering](/docs/connect/cluster-peering/k8s). + # This setting is required for [Cluster Peering](https://developer.hashicorp.com/consul/docs/connect/cluster-peering/k8s). enabled: false # If true, turns on the auto-encrypt feature on clients and servers. @@ -567,7 +567,7 @@ global: # The name (and tag) of the consul-dataplane Docker image used for the # connect-injected sidecar proxies and mesh, terminating, and ingress gateways. # @default: hashicorp/consul-dataplane: - imageConsulDataplane: "hashicorp/consul-dataplane:1.0.0" + imageConsulDataplane: "hashicorp/consul-dataplane:1.0.1" # Configuration for running this Helm chart on the Red Hat OpenShift platform. # This Helm chart currently supports OpenShift v4.x+. @@ -647,6 +647,19 @@ global: # @type: string secretKey: null + # Extra labels to attach to all pods, deployments, daemonsets, statefulsets, and jobs. This should be a YAML map. + # + # Example: + # + # ```yaml + # extraLabels: + # labelKey: label-value + # anotherLabelKey: another-label-value + # ``` + # + # @type: map + extraLabels: {} + # Server, when enabled, configures a server cluster to run. This should # be disabled if you plan on connecting to a Consul cluster external to # the Kube cluster. @@ -844,9 +857,9 @@ server: # This configures the PodDisruptionBudget (https://kubernetes.io/docs/tasks/run-application/configure-pdb/) # for the server cluster. disruptionBudget: - # This will enable/disable registering a PodDisruptionBudget for the server - # cluster. If this is enabled, it will only register the budget so long as - # the server cluster is enabled. + # Enables registering a PodDisruptionBudget for the server + # cluster. If enabled, it only registers the budget so long as + # the server cluster is enabled. To disable, set to `false`. enabled: true # The maximum number of unavailable pods. By default, this will be @@ -1936,7 +1949,7 @@ connectInject: # Configures consul-cni plugin for Consul Service mesh services cni: - # If true, then all traffic redirection setup will use the consul-cni plugin. + # If true, then all traffic redirection setup uses the consul-cni plugin. # Requires connectInject.enabled to also be true. # @type: boolean enabled: false @@ -2330,11 +2343,11 @@ connectInject: memory: "150Mi" cpu: "50m" -# [Mesh Gateways](/docs/connect/gateways/mesh-gateway) enable Consul Connect to work across Consul datacenters. +# [Mesh Gateways](https://developer.hashicorp.com/consul/docs/connect/gateways/mesh-gateway) enable Consul Connect to work across Consul datacenters. meshGateway: - # If [mesh gateways](/docs/connect/gateways/mesh-gateway) are enabled, a Deployment will be created that runs + # If [mesh gateways](https://developer.hashicorp.com/consul/docs/connect/gateways/mesh-gateway) are enabled, a Deployment will be created that runs # gateways and Consul Connect will be configured to use gateways. - # This setting is required for [Cluster Peering](/docs/connect/cluster-peering/k8s). + # This setting is required for [Cluster Peering](https://developer.hashicorp.com/consul/docs/connect/cluster-peering/k8s). # Requirements: consul 1.6.0+ if using `global.acls.manageSystemACLs``. enabled: false @@ -2883,9 +2896,9 @@ apiGateway: # @type: string nodeSelector: null - # This value defines the tolerations that will be assigned to a gateway pod. + # Toleration settings for gateway pods created with the managed gateway class. # This should be a multi-line string matching the - # Tolerations (https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) array in a Pod spec. + # [Tolerations](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) array in a Pod spec. # # @type: string tolerations: null diff --git a/charts/intel/intel-device-plugins-operator/Chart.yaml b/charts/intel/intel-device-plugins-operator/Chart.yaml index 6a03422e1..7bccd76b4 100644 --- a/charts/intel/intel-device-plugins-operator/Chart.yaml +++ b/charts/intel/intel-device-plugins-operator/Chart.yaml @@ -4,9 +4,9 @@ annotations: catalog.cattle.io/kube-version: '>=1.19-0' catalog.cattle.io/release-name: intel-device-plugins-operator apiVersion: v2 -appVersion: 0.25.1 +appVersion: 0.26.0 description: A Helm chart for Intel Device Plugins Operator for Kubernetes icon: https://avatars.githubusercontent.com/u/17888862?s=200&v=4 name: intel-device-plugins-operator type: application -version: 0.25.1 +version: 0.26.0 diff --git a/charts/intel/intel-device-plugins-operator/crds/deviceplugin.intel.com_qatdeviceplugins.yaml b/charts/intel/intel-device-plugins-operator/crds/deviceplugin.intel.com_qatdeviceplugins.yaml index 8bf3668e7..9eec3210f 100644 --- a/charts/intel/intel-device-plugins-operator/crds/deviceplugin.intel.com_qatdeviceplugins.yaml +++ b/charts/intel/intel-device-plugins-operator/crds/deviceplugin.intel.com_qatdeviceplugins.yaml @@ -102,6 +102,10 @@ spec: - balanced - packed type: string + provisioningConfig: + description: ProvisioningConfig is a ConfigMap used to pass the configuration + of QAT devices into qat initcontainer. + type: string type: object status: description: 'QatDevicePluginStatus defines the observed state of QatDevicePlugin. diff --git a/charts/jenkins/jenkins/Chart.yaml b/charts/jenkins/jenkins/Chart.yaml index aee1e7893..acbcdd430 100644 --- a/charts/jenkins/jenkins/Chart.yaml +++ b/charts/jenkins/jenkins/Chart.yaml @@ -41,4 +41,4 @@ sources: - https://github.com/jenkinsci/docker-inbound-agent - https://github.com/maorfr/kube-tasks - https://github.com/jenkinsci/configuration-as-code-plugin -version: 4.3.0 +version: 4.3.1 diff --git a/charts/jenkins/jenkins/README.md b/charts/jenkins/jenkins/README.md index 359eca82b..e2a4e06cd 100644 --- a/charts/jenkins/jenkins/README.md +++ b/charts/jenkins/jenkins/README.md @@ -209,6 +209,51 @@ controller: Further JCasC examples can be found [here](https://github.com/jenkinsci/configuration-as-code-plugin/tree/master/demos). +#### Breaking out large Config as Code scripts + +Jenkins Config as Code scripts can become quite large, and maintaining all of your scripts within one yaml file can be difficult. The Config as Code plugin itself suggests updating the `CASC_JENKINS_CONFIG` environment variable to be a comma seperated list of paths for the plugin to traverse, picking up the yaml files as needed. +However, under the Jenkins helm chart, this `CASC_JENKINS_CONFIG` value is maintained through the templates. A better solution is to split your `controller.JCasC.configScripts` into seperate values files, and provide each file during the helm install. + +For example, you can have a values file (e.g values_main.yaml) that defines the values described in the `VALUES_SUMMARY.md` for your Jenkins configuration: + +```yaml +jenkins: + controller: + jenkinsUrlProtocol: https + installPlugins: false + ... +``` + +In a second file (e.g values_jenkins_casc.yaml), you can define a section of your config scripts: + +```yaml +jenkins: + controller: + JCasC: + configScripts: + jenkinsCasc: | + jenkins: + disableRememberMe: false + mode: NORMAL + ... +``` + +And keep extending your config scripts by creating more files (so not all config scripts are located in one yaml file for better maintenance): + +values_jenkins_unclassified.yaml + +```yaml +jenkins: + controller: + JCasC: + configScripts: + unclassifiedCasc: | + unclassified: + ... +``` + +When installing, you provide all relevant yaml files (e.g `helm install -f values_main.yaml -f values_jenkins_casc.yaml -f values_jenkins_unclassified.yaml ...`). Instead of updating the `CASC_JENKINS_CONFIG` environment variable to include multiple paths, multiple CasC yaml files will be created in the same path `var/jenkins_home/casc_configs`. + #### Config as Code With or Without Auto-Reload Config as Code changes (to `controller.JCasC.configScripts`) can either force a new pod to be created and only be applied at next startup, or can be auto-reloaded on-the-fly. diff --git a/charts/kong/kong/CHANGELOG.md b/charts/kong/kong/CHANGELOG.md index 55e110fe1..670f0cb4f 100644 --- a/charts/kong/kong/CHANGELOG.md +++ b/charts/kong/kong/CHANGELOG.md @@ -1,7 +1,33 @@ # Changelog -## Unreleased +## 2.16.1 +### Fixed + +* serviceAccount projected volume is properly provisioned for GKE clusters >= 1.20. + [#735](https://github.com/Kong/charts/pull/735) + +## 2.16.0 + +### Improvements + +* Let users specify their own labels and annotations for generated PodSecurityPolicy. + [#721](https://github.com/Kong/charts/pull/721) +* Enable the admission webhook by default. This can reject configuration, but + is not expected to be a meaningfully breaking change. Existing configuration + is not affected, and any new changes that the webhook would reject would also + be rejected by Kong. + [#727](https://github.com/Kong/charts/pull/727) +* Replaced static secret with projected volume in deployment. + [#722](https://github.com/Kong/charts/pull/722) +* Reject invalid log config values. + [#733](https://github.com/Kong/charts/pull/733) +* Update custom resource definitions to latest v2.8.1 from + kong/kubernetes-ingress-controller + [#730](https://github.com/Kong/charts/pull/730) +* Respect setting `.Values.deployment.serviceAccount.automountServiceAccountToken` in + migrations Jobs. This was already the case for the Deployment. + [#729](https://github.com/Kong/charts/pull/729) ## 2.15.3 @@ -51,7 +77,7 @@ but doing so is not required. ### Improvements * Default Kong and KIC versions bumped to 3.1 and 2.8. -* UDP proxy (udpProxy) assumes the UDP protocol by default for stream entries (udpProxy.stream). +* UDP proxy (udpProxy) assumes the UDP protocol by default for stream entries (udpProxy.stream). This can be still overridden to TCP by specifying the protocol explicitly, but it is not recommended to do so. [#682](https://github.com/Kong/charts/pull/682) * Supported `autoscaling/v2` API diff --git a/charts/kong/kong/Chart.yaml b/charts/kong/kong/Chart.yaml index eadc1af65..fa40a6fde 100644 --- a/charts/kong/kong/Chart.yaml +++ b/charts/kong/kong/Chart.yaml @@ -20,4 +20,4 @@ maintainers: name: kong sources: - https://github.com/Kong/charts/tree/main/charts/kong -version: 2.15.3 +version: 2.16.1 diff --git a/charts/kong/kong/README.md b/charts/kong/kong/README.md index cfa2522b8..4322fb2e7 100644 --- a/charts/kong/kong/README.md +++ b/charts/kong/kong/README.md @@ -565,7 +565,7 @@ namespaces. Limiting access requires several changes to configuration: - Set `ingressController.watchNamespaces` to a list of namespaces you want to watch. The chart will automatically generate roles for each namespace and assign them to the controller's service account. -- Optionally set `ingressContrller.installCRDs=false` if your user role (the +- Optionally set `ingressController.installCRDs=false` if your user role (the role you use when running `helm install`, not the controller service account's role) does not have access to get CRDs. By default, the chart attempts to look up the controller CRDs for [a legacy behavior @@ -716,10 +716,10 @@ section of `values.yaml` file: | ingressClassAnnotations | The ingress-class value for controller | kong | | args | List of ingress-controller cli arguments | [] | | watchNamespaces | List of namespaces to watch. Watches all namespaces if empty | [] | -| admissionWebhook.enabled | Whether to enable the validating admission webhook | false | -| admissionWebhook.failurePolicy | How unrecognized errors from the admission endpoint are handled (Ignore or Fail) | Fail | +| admissionWebhook.enabled | Whether to enable the validating admission webhook | true | +| admissionWebhook.failurePolicy | How unrecognized errors from the admission endpoint are handled (Ignore or Fail) | Ignore | | admissionWebhook.port | The port the ingress controller will listen on for admission webhooks | 8080 | -| admissionWebhook.certificate.provided | Whether to generate the admission webhook certificate if not provided | false | +| admissionWebhook.certificate.provided | Use a provided certificate. When set to false, the chart will automatically generate a certificate. | false | | admissionWebhook.certificate.secretName | Name of the TLS secret for the provided webhook certificate | | | admissionWebhook.certificate.caBundle | PEM encoded CA bundle which will be used to validate the provided webhook certificate | | | deployment.userDefinedVolumes | Create volumes. Please go to Kubernetes doc for the spec of the volumes | | @@ -788,6 +788,8 @@ kong: | podDisruptionBudget.maxUnavailable | Represents the minimum number of Pods that can be unavailable (integer or percentage) | `50%` | | podDisruptionBudget.minAvailable | Represents the number of Pods that must be available (integer or percentage) | | | podSecurityPolicy.enabled | Enable podSecurityPolicy for Kong | `false` | +| podSecurityPolicy.labels | Labels to add to podSecurityPolicy for Kong | `{}` | +| podSecurityPolicy.annotations | Annotations to add to podSecurityPolicy for Kong | `{}` | | podSecurityPolicy.spec | Collection of [PodSecurityPolicy settings](https://kubernetes.io/docs/concepts/policy/pod-security-policy/#what-is-a-pod-security-policy) | | | priorityClassName | Set pod scheduling priority class for Kong pods | `""` | | secretVolumes | Mount given secrets as a volume in Kong container to override default certs and keys. | `[]` | diff --git a/charts/kong/kong/crds/custom-resource-definitions.yaml b/charts/kong/kong/crds/custom-resource-definitions.yaml index 09debc72a..869c82096 100644 --- a/charts/kong/kong/crds/custom-resource-definitions.yaml +++ b/charts/kong/kong/crds/custom-resource-definitions.yaml @@ -1,9 +1,9 @@ -# generated using: kubectl kustomize github.com/kong/kubernetes-ingress-controller/config/crd?ref=main +# generated using: kubectl kustomize github.com/kong/kubernetes-ingress-controller/config/crd?ref=v2.8.1 apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 + controller-gen.kubebuilder.io/version: v0.11.1 creationTimestamp: null name: ingressclassparameterses.configuration.konghq.com spec: @@ -19,7 +19,7 @@ spec: schema: openAPIV3Schema: description: IngressClassParameters is the Schema for the IngressClassParameters - API + API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -34,6 +34,7 @@ spec: metadata: type: object spec: + description: Spec is the IngressClassParameters specification. properties: enableLegacyRegexDetection: default: false @@ -44,7 +45,7 @@ spec: type: boolean serviceUpstream: default: false - description: Offload load-balancing to kube-proxy or sidecar + description: Offload load-balancing to kube-proxy or sidecar. type: boolean type: object type: object @@ -55,7 +56,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 + controller-gen.kubebuilder.io/version: v0.11.1 creationTimestamp: null name: kongclusterplugins.configuration.konghq.com spec: @@ -93,7 +94,7 @@ spec: name: v1 schema: openAPIV3Schema: - description: KongClusterPlugin is the Schema for the kongclusterplugins API + description: KongClusterPlugin is the Schema for the kongclusterplugins API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -101,24 +102,33 @@ spec: internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string config: - description: Config contains the plugin configuration. + description: Config contains the plugin configuration. It's a list of + keys and values required to configure the plugin. Please read the documentation + of the plugin being configured to set values in here. For any plugin + in Kong, anything that goes in the `config` JSON key in the Admin API + request, goes into this property. Only one of `config` or `configFrom` + may be used in a KongClusterPlugin, not both at once. type: object x-kubernetes-preserve-unknown-fields: true configFrom: description: ConfigFrom references a secret containing the plugin configuration. + This should be used when the plugin configuration contains sensitive + information, such as AWS credentials in the Lambda plugin or the client + secret in the OIDC plugin. Only one of `config` or `configFrom` may + be used in a KongClusterPlugin, not both at once. properties: secretKeyRef: - description: NamespacedSecretValueFromSource represents the source - of a secret value specifying the secret namespace + description: Specifies a name, a namespace, and a key of a secret + to refer to. properties: key: - description: the key containing the value + description: The key containing the value. type: string name: - description: the secret containing the key + description: The secret containing the key. type: string namespace: - description: The namespace containing the secret + description: The namespace containing the secret. type: string required: - key @@ -127,10 +137,10 @@ spec: type: object type: object consumerRef: - description: ConsumerRef is a reference to a particular consumer + description: ConsumerRef is a reference to a particular consumer. type: string disabled: - description: Disabled set if the plugin is disabled or not + description: Disabled set if the plugin is disabled or not. type: boolean kind: description: 'Kind is a string value representing the REST resource this @@ -140,7 +150,13 @@ spec: metadata: type: object ordering: - description: Ordering overrides the normal plugin execution order + description: 'Ordering overrides the normal plugin execution order. It''s + only available on Kong Enterprise. `` is a request processing + phase (for example, `access` or `body_filter`) and `` is the + name of the plugin that will run before or after the KongPlugin. For + example, a KongPlugin with `plugin: rate-limiting` and `before.access: + ["key-auth"]` will create a rate limiting plugin that limits requests + _before_ they are authenticated.' properties: after: additionalProperties: @@ -161,7 +177,7 @@ spec: type: object plugin: description: PluginName is the name of the plugin to which to apply the - config + config. type: string protocols: description: Protocols configures plugin to run on requests received on @@ -197,7 +213,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 + controller-gen.kubebuilder.io/version: v0.11.1 creationTimestamp: null name: kongconsumers.configuration.konghq.com spec: @@ -225,7 +241,7 @@ spec: name: v1 schema: openAPIV3Schema: - description: KongConsumer is the Schema for the kongconsumers API + description: KongConsumer is the Schema for the kongconsumers API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -239,8 +255,8 @@ spec: type: string type: array custom_id: - description: CustomID existing unique ID for the consumer - useful for - mapping Kong with users in your existing database + description: CustomID is a Kong cluster-unique existing ID for the consumer + - useful for mapping Kong with users in your existing database. type: string kind: description: 'Kind is a string value representing the REST resource this @@ -250,7 +266,7 @@ spec: metadata: type: object username: - description: Username unique username of the consumer. + description: Username is a Kong cluster-unique username of the consumer. type: string type: object served: true @@ -262,7 +278,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 + controller-gen.kubebuilder.io/version: v0.11.1 creationTimestamp: null name: kongingresses.configuration.konghq.com spec: @@ -281,7 +297,7 @@ spec: - name: v1 schema: openAPIV3Schema: - description: KongIngress is the Schema for the kongingresses API + description: KongIngress is the Schema for the kongingresses API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -298,19 +314,23 @@ spec: proxy: description: Proxy defines additional connection options for the routes to be configured in the Kong Gateway, e.g. `connection_timeout`, `retries`, - e.t.c. + etc. properties: connect_timeout: - description: The timeout in milliseconds for establishing a connection - to the upstream server. + description: "The timeout in milliseconds for\testablishing a connection + to the upstream server. Deprecated: use Service's \"konghq.com/connect-timeout\" + annotation instead." minimum: 0 type: integer path: - description: The path to be used in requests to the upstream server.(optional) + description: '(optional) The path to be used in requests to the upstream + server. Deprecated: use Service''s "konghq.com/path" annotation + instead.' pattern: ^/.*$ type: string protocol: - description: The protocol used to communicate with the upstream. + description: 'The protocol used to communicate with the upstream. + Deprecated: use Service''s "konghq.com/protocol" annotation instead.' enum: - http - https @@ -321,17 +341,20 @@ spec: - udp type: string read_timeout: - description: The timeout in milliseconds between two successive read - operations for transmitting a request to the upstream server. + description: 'The timeout in milliseconds between two successive read + operations for transmitting a request to the upstream server. Deprecated: + use Service''s "konghq.com/read-timeout" annotation instead.' minimum: 0 type: integer retries: - description: The number of retries to execute upon failure to proxy. + description: 'The number of retries to execute upon failure to proxy. + Deprecated: use Service''s "konghq.com/retries" annotation instead.' minimum: 0 type: integer write_timeout: - description: The timeout in milliseconds between two successive write - operations for transmitting a request to the upstream server. + description: 'The timeout in milliseconds between two successive write + operations for transmitting a request to the upstream server. Deprecated: + use Service''s "konghq.com/write-timeout" annotation instead.' minimum: 0 type: integer type: object @@ -345,35 +368,44 @@ spec: items: type: string type: array - description: Headers contains one or more lists of values indexed + description: 'Headers contains one or more lists of values indexed by header name that will cause this Route to match if present in the request. The Host header cannot be used with this attribute. + Deprecated: use Ingress'' "konghq.com/headers" annotation instead.' type: object https_redirect_status_code: - description: HTTPSRedirectStatusCode is the status code Kong responds - with when all properties of a Route match except the protocol. + description: 'HTTPSRedirectStatusCode is the status code Kong responds + with when all properties of a Route match except the protocol. Deprecated: + use Ingress'' "ingress.kubernetes.io/force-ssl-redirect" or "konghq.com/https-redirect-status-code" + annotations instead.' type: integer methods: - description: Methods is a list of HTTP methods that match this Route. + description: 'Methods is a list of HTTP methods that match this Route. + Deprecated: use Ingress'' "konghq.com/override-protocols" annotation + instead.' items: type: string type: array path_handling: - description: PathHandling controls how the Service path, Route path + description: 'PathHandling controls how the Service path, Route path and requested path are combined when sending a request to the upstream. + Deprecated: use Ingress'' "konghq.com/path-handling" annotation + instead.' enum: - v0 - v1 type: string preserve_host: - description: PreserveHost sets When matching a Route via one of the + description: 'PreserveHost sets When matching a Route via one of the hosts domain names, use the request Host header in the upstream request headers. If set to false, the upstream Host header will - be that of the Service’s host. + be that of the Service’s host. Deprecated: use Ingress'' "konghq.com/preserve-host" + annotation instead.' type: boolean protocols: - description: Protocols is an array of the protocols this Route should - allow. + description: 'Protocols is an array of the protocols this Route should + allow. Deprecated: use Ingress'' "konghq.com/protocols" annotation + instead.' items: enum: - http @@ -386,27 +418,32 @@ spec: type: string type: array regex_priority: - description: RegexPriority is a number used to choose which route + description: 'RegexPriority is a number used to choose which route resolves a given request when several routes match it using regexes - simultaneously. + simultaneously. Deprecated: use Ingress'' "konghq.com/regex-priority" + annotation instead.' type: integer request_buffering: - description: RequestBuffering sets whether to enable request body - buffering or not. + description: 'RequestBuffering sets whether to enable request body + buffering or not. Deprecated: use Ingress'' "konghq.com/request-buffering" + annotation instead.' type: boolean response_buffering: - description: ResponseBuffering sets whether to enable response body - buffering or not. + description: 'ResponseBuffering sets whether to enable response body + buffering or not. Deprecated: use Ingress'' "konghq.com/response-buffering" + annotation instead.' type: boolean snis: - description: SNIs is a list of SNIs that match this Route when using - stream routing. + description: 'SNIs is a list of SNIs that match this Route when using + stream routing. Deprecated: use Ingress'' "konghq.com/snis" annotation + instead.' items: type: string type: array strip_path: - description: StripPath sets When matching a Route via one of the paths - strip the matching prefix from the upstream request URL. + description: 'StripPath sets When matching a Route via one of the + paths strip the matching prefix from the upstream request URL. Deprecated: + use Ingress'' "konghq.com/strip-path" annotation instead.' type: boolean type: object upstream: @@ -589,7 +626,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 + controller-gen.kubebuilder.io/version: v0.11.1 creationTimestamp: null name: kongplugins.configuration.konghq.com spec: @@ -627,7 +664,7 @@ spec: name: v1 schema: openAPIV3Schema: - description: KongPlugin is the Schema for the kongplugins API + description: KongPlugin is the Schema for the kongplugins API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -635,21 +672,30 @@ spec: internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string config: - description: Config contains the plugin configuration. + description: Config contains the plugin configuration. It's a list of + keys and values required to configure the plugin. Please read the documentation + of the plugin being configured to set values in here. For any plugin + in Kong, anything that goes in the `config` JSON key in the Admin API + request, goes into this property. Only one of `config` or `configFrom` + may be used in a KongPlugin, not both at once. type: object x-kubernetes-preserve-unknown-fields: true configFrom: description: ConfigFrom references a secret containing the plugin configuration. + This should be used when the plugin configuration contains sensitive + information, such as AWS credentials in the Lambda plugin or the client + secret in the OIDC plugin. Only one of `config` or `configFrom` may + be used in a KongPlugin, not both at once. properties: secretKeyRef: - description: SecretValueFromSource represents the source of a secret - value + description: Specifies a name and a key of a secret to refer to. The + namespace is implicitly set to the one of referring object. properties: key: - description: the key containing the value + description: The key containing the value. type: string name: - description: the secret containing the key + description: The secret containing the key. type: string required: - key @@ -657,10 +703,10 @@ spec: type: object type: object consumerRef: - description: ConsumerRef is a reference to a particular consumer + description: ConsumerRef is a reference to a particular consumer. type: string disabled: - description: Disabled set if the plugin is disabled or not + description: Disabled set if the plugin is disabled or not. type: boolean kind: description: 'Kind is a string value representing the REST resource this @@ -670,7 +716,13 @@ spec: metadata: type: object ordering: - description: Ordering overrides the normal plugin execution order + description: 'Ordering overrides the normal plugin execution order. It''s + only available on Kong Enterprise. `` is a request processing + phase (for example, `access` or `body_filter`) and `` is the + name of the plugin that will run before or after the KongPlugin. For + example, a KongPlugin with `plugin: rate-limiting` and `before.access: + ["key-auth"]` will create a rate limiting plugin that limits requests + _before_ they are authenticated.' properties: after: additionalProperties: @@ -691,7 +743,7 @@ spec: type: object plugin: description: PluginName is the name of the plugin to which to apply the - config + config. type: string protocols: description: Protocols configures plugin to run on requests received on @@ -727,7 +779,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 + controller-gen.kubebuilder.io/version: v0.11.1 creationTimestamp: null name: tcpingresses.configuration.konghq.com spec: @@ -753,7 +805,7 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: TCPIngress is the Schema for the tcpingresses API + description: TCPIngress is the Schema for the tcpingresses API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -768,7 +820,7 @@ spec: metadata: type: object spec: - description: TCPIngressSpec defines the desired state of TCPIngress + description: Spec is the TCPIngress specification. properties: rules: description: A list of rules used to configure the Ingress. @@ -783,6 +835,7 @@ spec: properties: serviceName: description: Specifies the name of the referenced service. + minLength: 1 type: string servicePort: description: Specifies the port of the referenced service. @@ -796,9 +849,12 @@ spec: type: object host: description: Host is the fully qualified domain name of a network - host, as defined by RFC 3986. If a Host is specified, the - protocol must be TLS over TCP. A plain-text TCP request cannot - be routed based on Host. It can only be routed based on Port. + host, as defined by RFC 3986. If a Host is not specified, + then port-based TCP routing is performed. Kong doesn't care + about the content of the TCP stream in this case. If a Host + is specified, the protocol must be TLS over TCP. A plain-text + TCP request cannot be routed based on Host. It can only be + routed based on Port. type: string port: description: Port is the port on which to accept TCP or TLS @@ -811,6 +867,7 @@ spec: type: integer required: - backend + - port type: object type: array tls: @@ -838,7 +895,7 @@ spec: type: array type: object status: - description: TCPIngressStatus defines the observed state of TCPIngress + description: TCPIngressStatus defines the observed state of TCPIngress. properties: loadBalancer: description: LoadBalancer contains the current status of the load-balancer. @@ -909,7 +966,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 + controller-gen.kubebuilder.io/version: v0.11.1 creationTimestamp: null name: udpingresses.configuration.konghq.com spec: @@ -935,7 +992,7 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: UDPIngress is the Schema for the udpingresses API + description: UDPIngress is the Schema for the udpingresses API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -950,7 +1007,7 @@ spec: metadata: type: object spec: - description: UDPIngressSpec defines the desired state of UDPIngress + description: Spec is the UDPIngress specification. properties: rules: description: A list of rules used to configure the Ingress. @@ -965,6 +1022,7 @@ spec: properties: serviceName: description: Specifies the name of the referenced service. + minLength: 1 type: string servicePort: description: Specifies the port of the referenced service. @@ -980,6 +1038,9 @@ spec: description: Port indicates the port for the Kong proxy to accept incoming traffic on, which will then be routed to the service Backend. + format: int32 + maximum: 65535 + minimum: 1 type: integer required: - backend @@ -988,7 +1049,7 @@ spec: type: array type: object status: - description: UDPIngressStatus defines the observed state of UDPIngress + description: UDPIngressStatus defines the observed state of UDPIngress. properties: loadBalancer: description: LoadBalancer contains the current status of the load-balancer. diff --git a/charts/kong/kong/templates/_helpers.tpl b/charts/kong/kong/templates/_helpers.tpl index 14bc1a524..d15bb1d0a 100644 --- a/charts/kong/kong/templates/_helpers.tpl +++ b/charts/kong/kong/templates/_helpers.tpl @@ -927,6 +927,11 @@ the template that it itself is using form the above sections. {{- $userEnv := dict -}} {{- range $key, $val := .Values.env }} + {{- if (contains "_log" $key) -}} + {{- if (eq (typeOf $val) "bool") -}} + {{- fail (printf "env.%s must use string 'off' to disable. Without quotes, YAML will coerce the value to a boolean and Kong will reject it" $key) -}} + {{- end -}} + {{- end -}} {{- $upper := upper $key -}} {{- $var := printf "KONG_%s" $upper -}} {{- $_ := set $userEnv $var $val -}} diff --git a/charts/kong/kong/templates/deployment.yaml b/charts/kong/kong/templates/deployment.yaml index e162da18d..3fabb3d7c 100644 --- a/charts/kong/kong/templates/deployment.yaml +++ b/charts/kong/kong/templates/deployment.yaml @@ -298,6 +298,28 @@ spec: {{- include "kong.userDefinedVolumes" . | nindent 8 -}} {{- if (and (not .Values.deployment.serviceAccount.automountServiceAccountToken) (or .Values.deployment.serviceAccount.create .Values.deployment.serviceAccount.name)) }} - name: {{ template "kong.serviceAccountTokenName" . }} + {{- /* Due to GKE versions (e.g. v1.23.15-gke.1900) we need to handle pre-release part of the version as well. + See the related documentation of semver module that Helm depends on for semverCompare: + https://github.com/Masterminds/semver#working-with-prerelease-versions + Related Helm issue: https://github.com/helm/helm/issues/3810 */}} + {{- if semverCompare ">=1.20.0-0" .Capabilities.KubeVersion.Version }} + projected: + sources: + - serviceAccountToken: + expirationSeconds: 3607 + path: token + - configMap: + items: + - key: ca.crt + path: ca.crt + name: kube-root-ca.crt + - downwardAPI: + items: + - fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + path: namespace + {{- else }} secret: secretName: {{ template "kong.serviceAccountTokenName" . }} items: @@ -307,5 +329,6 @@ spec: path: ca.crt - key: namespace path: namespace + {{- end }} {{- end }} {{- end }} diff --git a/charts/kong/kong/templates/migrations-post-upgrade.yaml b/charts/kong/kong/templates/migrations-post-upgrade.yaml index 8dd2b9057..04fd569ae 100644 --- a/charts/kong/kong/templates/migrations-post-upgrade.yaml +++ b/charts/kong/kong/templates/migrations-post-upgrade.yaml @@ -33,10 +33,12 @@ spec: spec: {{- if or .Values.deployment.serviceAccount.create .Values.deployment.serviceAccount.name }} serviceAccountName: {{ template "kong.serviceAccountName" . }} + {{- end }} + {{- if (and (or .Values.deployment.serviceAccount.create .Values.deployment.serviceAccount.name) .Values.deployment.serviceAccount.automountServiceAccountToken) }} automountServiceAccountToken: true {{- else }} automountServiceAccountToken: false - {{- end }} + {{ end }} {{- if .Values.image.pullSecrets }} imagePullSecrets: {{- range .Values.image.pullSecrets }} diff --git a/charts/kong/kong/templates/migrations-pre-upgrade.yaml b/charts/kong/kong/templates/migrations-pre-upgrade.yaml index 485a9706a..f8fe4a1ff 100644 --- a/charts/kong/kong/templates/migrations-pre-upgrade.yaml +++ b/charts/kong/kong/templates/migrations-pre-upgrade.yaml @@ -33,10 +33,12 @@ spec: spec: {{- if or .Values.deployment.serviceAccount.create .Values.deployment.serviceAccount.name }} serviceAccountName: {{ template "kong.serviceAccountName" . }} + {{- end }} + {{- if (and (or .Values.deployment.serviceAccount.create .Values.deployment.serviceAccount.name) .Values.deployment.serviceAccount.automountServiceAccountToken) }} automountServiceAccountToken: true {{- else }} automountServiceAccountToken: false - {{- end }} + {{ end }} {{- if .Values.image.pullSecrets }} imagePullSecrets: {{- range .Values.image.pullSecrets }} diff --git a/charts/kong/kong/templates/migrations.yaml b/charts/kong/kong/templates/migrations.yaml index 2c93196fe..5b918abc8 100644 --- a/charts/kong/kong/templates/migrations.yaml +++ b/charts/kong/kong/templates/migrations.yaml @@ -41,10 +41,12 @@ spec: spec: {{- if or .Values.deployment.serviceAccount.create .Values.deployment.serviceAccount.name }} serviceAccountName: {{ template "kong.serviceAccountName" . }} + {{- end }} + {{- if (and (or .Values.deployment.serviceAccount.create .Values.deployment.serviceAccount.name) .Values.deployment.serviceAccount.automountServiceAccountToken) }} automountServiceAccountToken: true {{- else }} automountServiceAccountToken: false - {{- end }} + {{ end }} {{- if .Values.image.pullSecrets }} imagePullSecrets: {{- range .Values.image.pullSecrets }} diff --git a/charts/kong/kong/templates/psp.yaml b/charts/kong/kong/templates/psp.yaml index 66e78b980..eb5626ae3 100644 --- a/charts/kong/kong/templates/psp.yaml +++ b/charts/kong/kong/templates/psp.yaml @@ -5,6 +5,17 @@ metadata: name: {{ template "kong.serviceAccountName" . }}-psp labels: {{- include "kong.metaLabels" . | nindent 4 }} + {{- with .Values.podSecurityPolicy.labels }} + {{- range $key, $value := . }} + {{ $key }}: {{ $value }} + {{- end }} + {{- end }} + {{- with .Values.podSecurityPolicy.annotations }} + annotations: + {{- range $key, $value := . }} + {{ $key }}: {{ $value | quote }} + {{- end }} + {{- end }} spec: {{ .Values.podSecurityPolicy.spec | toYaml | indent 2 }} --- diff --git a/charts/kong/kong/templates/secret-sa-token.yaml b/charts/kong/kong/templates/secret-sa-token.yaml index be968f1ab..fe8a67d23 100644 --- a/charts/kong/kong/templates/secret-sa-token.yaml +++ b/charts/kong/kong/templates/secret-sa-token.yaml @@ -1,4 +1,8 @@ -{{- if or .Values.deployment.serviceAccount.create .Values.deployment.serviceAccount.name }} +{{- /* Due to GKE versions (e.g. v1.23.15-gke.1900) we need to handle pre-release part of the version as well. +See the related documentation of semver module that Helm depends on for semverCompare: +https://github.com/Masterminds/semver#working-with-prerelease-versions +Related Helm issue: https://github.com/helm/helm/issues/3810 */}} +{{- if and (or .Values.deployment.serviceAccount.create .Values.deployment.serviceAccount.name) (semverCompare "<1.20.0-0" .Capabilities.KubeVersion.Version) }} apiVersion: v1 kind: Secret metadata: diff --git a/charts/kong/kong/values.yaml b/charts/kong/kong/values.yaml index 522c671ef..954a61e0d 100644 --- a/charts/kong/kong/values.yaml +++ b/charts/kong/kong/values.yaml @@ -508,7 +508,7 @@ ingressController: # TZ: "Europe/Berlin" admissionWebhook: - enabled: false + enabled: true failurePolicy: Ignore port: 8080 certificate: @@ -801,6 +801,8 @@ podDisruptionBudget: podSecurityPolicy: enabled: false + labels: {} + annotations: {} spec: privileged: false fsGroup: @@ -817,6 +819,7 @@ podSecurityPolicy: - 'configMap' - 'secret' - 'emptyDir' + - 'projected' allowPrivilegeEscalation: false hostNetwork: false hostIPC: false diff --git a/charts/nats/nats/Chart.yaml b/charts/nats/nats/Chart.yaml index 2ef06d189..04757d42a 100644 --- a/charts/nats/nats/Chart.yaml +++ b/charts/nats/nats/Chart.yaml @@ -4,7 +4,7 @@ annotations: catalog.cattle.io/kube-version: '>=1.16-0' catalog.cattle.io/release-name: nats apiVersion: v2 -appVersion: 2.9.11-alpine +appVersion: 2.9.12-alpine description: A Helm chart for the NATS.io High Speed Cloud Native Distributed Communications Technology. home: http://github.com/nats-io/k8s @@ -24,4 +24,4 @@ maintainers: name: Caleb Lloyd url: https://github.com/caleblloyd name: nats -version: 0.19.7 +version: 0.19.8 diff --git a/charts/nats/nats/values.yaml b/charts/nats/nats/values.yaml index 9d400e05b..5254849c8 100644 --- a/charts/nats/nats/values.yaml +++ b/charts/nats/nats/values.yaml @@ -6,7 +6,7 @@ nats: image: repository: nats - tag: 2.9.11-alpine + tag: 2.9.12-alpine pullPolicy: IfNotPresent # registry: docker.io diff --git a/charts/redpanda/redpanda/Chart.yaml b/charts/redpanda/redpanda/Chart.yaml index fcc0f0eec..518c2aa1c 100644 --- a/charts/redpanda/redpanda/Chart.yaml +++ b/charts/redpanda/redpanda/Chart.yaml @@ -26,4 +26,4 @@ name: redpanda sources: - https://github.com/redpanda-data/helm-charts type: application -version: 2.6.4 +version: 2.8.0 diff --git a/charts/redpanda/redpanda/ci/04-one-node-cluster-no-tls-sasl-values.yaml b/charts/redpanda/redpanda/ci/04-one-node-cluster-no-tls-sasl-values.yaml index 44cb538aa..c59597561 100644 --- a/charts/redpanda/redpanda/ci/04-one-node-cluster-no-tls-sasl-values.yaml +++ b/charts/redpanda/redpanda/ci/04-one-node-cluster-no-tls-sasl-values.yaml @@ -19,9 +19,11 @@ tls: auth: sasl: enabled: true + secretRef: "redpanda-users" users: - name: admin password: hunter2 + storage: persistentVolume: size: 3Gi diff --git a/charts/redpanda/redpanda/ci/05-one-node-cluster-tls-sasl-values.yaml b/charts/redpanda/redpanda/ci/05-one-node-cluster-tls-sasl-values.yaml index 814cf130b..8e690ff77 100644 --- a/charts/redpanda/redpanda/ci/05-one-node-cluster-tls-sasl-values.yaml +++ b/charts/redpanda/redpanda/ci/05-one-node-cluster-tls-sasl-values.yaml @@ -19,9 +19,8 @@ tls: auth: sasl: enabled: true - users: - - name: admin - password: hunter2 + secretRef: "redpanda-users" + storage: persistentVolume: size: 3Gi diff --git a/charts/redpanda/redpanda/ci/07-multiple-listeners.yaml b/charts/redpanda/redpanda/ci/07-multiple-listeners.yaml new file mode 100644 index 000000000..221402570 --- /dev/null +++ b/charts/redpanda/redpanda/ci/07-multiple-listeners.yaml @@ -0,0 +1,60 @@ +tls: + certs: + cert2: + caEnabled: false +listeners: + kafka: + tls: + enabled: false + external: + ext2: + port: 19094 + advertisedPorts: + - 31292 + tls: + enabled: true + ext3: + port: 29094 + advertisedPorts: + - 31392 + tls: + enabled: true + cert: cert2 + requireClientAuth: true + schemaRegistry: + tls: + enabled: false + external: + ext2: + port: 18081 + advertisedPorts: + - 30181 + tls: + enabled: true + ext3: + port: 28081 + advertisedPorts: + - 30281 + tls: + enabled: true + cert: cert2 + requireClientAuth: true + http: + tls: + enabled: false + external: + ext2: + port: 18083 + advertisedPorts: + - 30183 + tls: + enabled: true + ext3: + port: 28083 + advertisedPorts: + - 30283 + tls: + enabled: true + cert: cert2 + requireClientAuth: true + diff --git a/charts/redpanda/redpanda/templates/_example-commands.tpl b/charts/redpanda/redpanda/templates/_example-commands.tpl index 5bc2574a6..b2d5fbd62 100644 --- a/charts/redpanda/redpanda/templates/_example-commands.tpl +++ b/charts/redpanda/redpanda/templates/_example-commands.tpl @@ -23,36 +23,63 @@ and tested in a test. {{/* tested in tests/test-kafka-sasl-status.yaml */}} {{- define "rpk-acl-user-create" -}} -{{ .rpk }} acl user create myuser --new-password changeme --mechanism {{ include "sasl-mechanism" . }} {{ include "rpk-common-flags" . }} +{{ .rpk }} acl user create myuser --new-password changeme --mechanism {{ include "sasl-mechanism" . }} {{ include "rpk-flags-no-sasl" . }} {{- end -}} -{{/* tested in tests/test-kafka-sasl-status.yaml */}} {{- define "rpk-acl-create" -}} -{{ .rpk }} acl create --allow-principal 'myuser' --allow-host '*' --operation all --topic 'test-topic' {{ include "rpk-topic-flags" . }} +{{ .rpk }} acl create --allow-principal 'myuser' --allow-host '*' --operation all --topic 'test-topic' {{ include "rpk-flags-no-admin-no-sasl" . }} {{ include "rpk-dummy-sasl" . }} {{- end -}} -{{/* tested in tests/test-kafka-sasl-status.yaml */}} {{- define "rpk-cluster-info" -}} -{{ .rpk }} cluster info {{ include "rpk-topic-flags" . }} +{{ .rpk }} cluster info {{ include "rpk-flags-no-admin-no-sasl" . }} {{ include "rpk-dummy-sasl" . }} {{- end -}} -{{/* tested in tests/test-kafka-sasl-status.yaml */}} {{- define "rpk-topic-create" -}} -{{- $sasl := mustDeepCopy . -}} -{{- $_ := set $sasl "auth" (dict "username" "myuser" "password" "changeme") -}} -{{ .rpk }} topic create test-topic {{ include "rpk-topic-flags" $sasl }} +{{- $flags := fromJson (include "rpk-flags" .) -}} +{{ .rpk }} topic create test-topic {{ include "rpk-flags-no-admin-no-sasl" . }} {{ include "rpk-dummy-sasl" . }} {{- end -}} -{{/* tested in tests/test-kafka-sasl-status.yaml */}} {{- define "rpk-topic-describe" -}} -{{- $sasl := mustDeepCopy . -}} -{{- $_ := set $sasl "auth" (dict "username" "myuser" "password" "changeme") -}} -{{ .rpk }} topic describe test-topic {{ include "rpk-topic-flags" $sasl }} +{{- $flags := fromJson (include "rpk-flags" .) -}} +{{ .rpk }} topic describe test-topic {{ include "rpk-flags-no-admin-no-sasl" . }} {{ include "rpk-dummy-sasl" . }} +{{- end -}} + +{{- define "rpk-topic-delete" -}} +{{- $flags := fromJson (include "rpk-flags" .) -}} +{{ .rpk }} topic delete test-topic {{ include "rpk-flags-no-admin-no-sasl" . }} {{ include "rpk-dummy-sasl" . }} +{{- end -}} + + +{{/* tested in tests/test-kafka-sasl-status.yaml */}} +{{- define "rpk-acl-user-create-no-dummy-sasl" -}} +{{ .rpk }} acl user create myuser --new-password changeme --mechanism {{ include "sasl-mechanism" . }} {{ include "rpk-flags-no-sasl" . }} {{- end -}} {{/* tested in tests/test-kafka-sasl-status.yaml */}} -{{- define "rpk-topic-delete" -}} -{{- $sasl := mustDeepCopy . -}} -{{- $_ := set $sasl "auth" (dict "username" "myuser" "password" "changeme") -}} -{{ .rpk }} topic delete test-topic {{ include "rpk-topic-flags" $sasl }} +{{- define "rpk-acl-create-no-dummy-sasl" -}} +{{ .rpk }} acl create --allow-principal 'myuser' --allow-host '*' --operation all --topic 'test-topic' {{ include "rpk-flags-no-admin" . }} {{- end -}} + +{{/* tested in tests/test-kafka-sasl-status.yaml */}} +{{- define "rpk-cluster-info-no-dummy-sasl" -}} +{{ .rpk }} cluster info {{ include "rpk-flags-no-admin" . }} +{{- end -}} + +{{/* tested in tests/test-kafka-sasl-status.yaml */}} +{{- define "rpk-topic-create-no-dummy-sasl" -}} +{{- $flags := fromJson (include "rpk-flags" .) -}} +{{ .rpk }} topic create test-topic {{ include "rpk-flags-no-admin" . }} +{{- end -}} + +{{/* tested in tests/test-kafka-sasl-status.yaml */}} +{{- define "rpk-topic-describe-no-dummy-sasl" -}} +{{- $flags := fromJson (include "rpk-flags" .) -}} +{{ .rpk }} topic describe test-topic {{ include "rpk-flags-no-admin" . }} +{{- end -}} + +{{/* tested in tests/test-kafka-sasl-status.yaml */}} +{{- define "rpk-topic-delete-no-dummy-sasl" -}} +{{- $flags := fromJson (include "rpk-flags" .) -}} +{{ .rpk }} topic delete test-topic {{ include "rpk-flags-no-admin" . }} +{{- end -}} + diff --git a/charts/redpanda/redpanda/templates/_helpers.tpl b/charts/redpanda/redpanda/templates/_helpers.tpl index 644580a5a..32e56e0bb 100644 --- a/charts/redpanda/redpanda/templates/_helpers.tpl +++ b/charts/redpanda/redpanda/templates/_helpers.tpl @@ -19,19 +19,19 @@ Expand the name of the chart. */}} {{- define "redpanda.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} +{{- end -}} {{/* Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). */}} {{- define "redpanda.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s" .Release.Name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s" .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} {{/* Create chart name and version as used by the chart label. @@ -300,10 +300,6 @@ Generate configuration needed for rpk {{- dig "sasl" "mechanism" "SCRAM-SHA-512" .Values.auth -}} {{- end -}} -{{- define "sasl-user-mechanism" -}} -{{- dig "mechanism" (include "sasl-mechanism" $) $.user -}} -{{- end -}} - {{- define "rpk-flags" -}} {{- $root := . -}} {{- $admin := list -}} @@ -325,11 +321,10 @@ Generate configuration needed for rpk {{- end -}} {{- $sasl := list -}} {{- if (include "sasl-enabled" . | fromJson).bool -}} - {{- $root := . | toJson | fromJson -}} {{- $sasl = concat $sasl (list - "--user" (dig "auth" "username" (first .Values.auth.sasl.users).name $root) - "--password" (dig "auth" "password" (first .Values.auth.sasl.users).password $root) - "--sasl-mechanism " (include "sasl-mechanism" .) + "--user" ( print "$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 1p )" | quote ) + "--password" ( print "$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 2p )" | quote ) + "--sasl-mechanism" ( printf "$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 3p | grep . || echo %s )" (include "sasl-mechanism" .) | quote ) ) -}} {{- end -}} @@ -351,9 +346,36 @@ Generate configuration needed for rpk {{ join " " (list $flags.brokers $flags.admin $flags.sasl $flags.kafka)}} {{- end -}} +{{- define "rpk-flags-no-admin" -}} +{{- $flags := fromJson (include "rpk-flags" .) -}} +{{ join " " (list $flags.brokers $flags.kafka $flags.sasl)}} +{{- end -}} + +{{- define "rpk-flags-no-sasl" -}} +{{- $flags := fromJson (include "rpk-flags" .) -}} +{{ join " " (list $flags.brokers $flags.admin $flags.kafka)}} +{{- end -}} + +{{- define "rpk-flags-no-admin-no-sasl" -}} +{{- $flags := fromJson (include "rpk-flags" .) -}} +{{ join " " (list $flags.brokers $flags.kafka)}} +{{- end -}} + +{{- define "rpk-dummy-sasl" -}} +{{- if (include "sasl-enabled" . | fromJson).bool -}} +{{ "--user --password --sasl-mechanism " -}} +{{- else -}} +{{ "" }} +{{- end -}} +{{- end -}} + {{- define "rpk-topic-flags" -}} {{- $flags := fromJson (include "rpk-flags" .) -}} -{{ join " " (list $flags.brokers $flags.sasl $flags.kafka)}} + {{- if (include "sasl-enabled" . | fromJson).bool -}} + {{- join " " (list $flags.brokers $flags.kafka $flags.sasl) -}} + {{- else -}} + {{- join " " (list $flags.brokers $flags.kafka) -}} + {{- end -}} {{- end -}} {{- define "storage-min-free-bytes" -}} @@ -465,17 +487,6 @@ advertised-host returns a json sring with the data neded for configuring the adv {{- toJson (dict "bool" (or (not (empty .Values.license_key)) (not (empty .Values.license_secret_ref)))) -}} {{- end -}} -{{/* -Set default path for tiered storage cache or use one provided -*/}} -{{- define "tieredStorage.cacheDirectory" -}} -{{- if empty .Values.storage.tieredConfig.cloud_storage_cache_directory }} - {{- printf "/var/lib/redpanda/data/cloud_storage_cache" }} -{{- else }} - {{- .Values.storage.tieredConfig.cloud_storage_cache_directory }} -{{- end }} -{{- end }} - {{/* "warnings" is an aggregate that returns a list of warnings to be shown in NOTES.txt */}} @@ -483,9 +494,9 @@ Set default path for tiered storage cache or use one provided {{- $result := list -}} {{- $warnings := list "redpanda-memory-warning" -}} {{- range $t := $warnings -}} - {{- $warning := printf "**Warning**: %s" (include $t $) -}} + {{- $warning := include $t $ -}} {{- if $warning -}} - {{- $result = append $result $warning -}} + {{- $result = append $result (printf "**Warning**: %s" $warning) -}} {{- end -}} {{- end -}} {{/* fromJson cannot decode list */}} diff --git a/charts/redpanda/redpanda/templates/_statefulset-helpers.tpl b/charts/redpanda/redpanda/templates/_statefulset-helpers.tpl new file mode 100644 index 000000000..c64846303 --- /dev/null +++ b/charts/redpanda/redpanda/templates/_statefulset-helpers.tpl @@ -0,0 +1,38 @@ +{{/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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 tolerations for statefulset, defaults to global tolerations if not defined in statefulset +*/}} +{{- define "statefulset-tolerations" -}} +{{- $tolerations := .Values.tolerations -}} +{{- if not ( empty .Values.statefulset.tolerations ) -}} +{{- $tolerations = .Values.statefulset.tolerations -}} +{{- end -}} +{{- toYaml $tolerations -}} +{{- end -}} + +{{/* +Set nodeSelector for statefulset, defaults to global nodeSelector if not defined in statefulset +*/}} +{{- define "statefulset-nodeSelectors" -}} +{{- $nodeSelectors := .Values.nodeSelector -}} +{{- if not ( empty .Values.statefulset.nodeSelector ) -}} +{{- $nodeSelectors = .Values.statefulset.nodeSelector -}} +{{- end -}} +{{- toYaml $nodeSelectors -}} +{{- end -}} diff --git a/charts/redpanda/redpanda/templates/_statefulset.tpl b/charts/redpanda/redpanda/templates/_statefulset.tpl new file mode 100644 index 000000000..ecaba2809 --- /dev/null +++ b/charts/redpanda/redpanda/templates/_statefulset.tpl @@ -0,0 +1,46 @@ +{{/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You 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. +*/}} + +{{- define "statefulset-pod-labels" -}} +{{- /* + StatefulSets cannot change their selector. Use the existing one even if it's broken. + New installs will get better selectors. +*/ -}} +{{- $sts := lookup "apps/v1" "StatefulSet" .Release.Namespace (include "redpanda.fullname" .) -}} +{{- $labels := dig "spec" "selector" "matchLabels" "" $sts -}} +{{- if not (empty $labels) -}} +{{ $labels | toYaml }} +{{- else -}} +app.kubernetes.io/name: {{ template "redpanda.name" . }} +app.kubernetes.io/instance: {{ .Release.Name | quote }} +app.kubernetes.io/component: {{ (include "redpanda.name" .) | trunc 51 }}-statefulset +{{- with .Values.commonLabels }} +{{ toYaml . }} +{{- end }} +{{- end -}} +{{- end -}} + +{{/* +Set default path for tiered storage cache or use one provided +*/}} +{{- define "tieredStorage.cacheDirectory" -}} +{{- if empty .Values.storage.tieredConfig.cloud_storage_cache_directory -}} + {{- printf "/var/lib/redpanda/data/cloud_storage_cache" -}} +{{- else -}} + {{- .Values.storage.tieredConfig.cloud_storage_cache_directory -}} +{{- end -}} +{{- end -}} \ No newline at end of file diff --git a/charts/redpanda/redpanda/templates/configmap.yaml b/charts/redpanda/redpanda/templates/configmap.yaml index 879994011..80597a113 100644 --- a/charts/redpanda/redpanda/templates/configmap.yaml +++ b/charts/redpanda/redpanda/templates/configmap.yaml @@ -1,4 +1,4 @@ -{{/* +{{- /* Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. @@ -95,59 +95,105 @@ data: {{- with dig "node" dict .Values.config }} {{- . | toYaml | nindent 6 }} {{- end }} +{{- /* LISTENERS */}} +{{- /* Admin API */}} +{{- $service := .Values.listeners.admin }} admin: name: admin address: 0.0.0.0 - port: {{ .Values.listeners.admin.port }} + port: {{ $service.port }} {{- if (include "admin-internal-tls-enabled" . | fromJson).bool }} admin_api_tls: - - name: admin - enabled: true - cert_file: /etc/tls/certs/{{ .Values.listeners.admin.tls.cert }}/tls.crt - key_file: /etc/tls/certs/{{ .Values.listeners.admin.tls.cert }}/tls.key - truststore_file: /etc/tls/certs/{{ .Values.listeners.admin.tls.cert }}/ca.crt - require_client_auth: {{ .Values.listeners.admin.tls.requireClientAuth }} + name: admin + enabled: true + cert_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.crt + key_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.key + require_client_auth: {{ $service.tls.requireClientAuth }} + {{- $cert := get .Values.tls.certs $service.tls.cert }} + {{- if empty $cert }} + {{- fail (printf "Certificate, '%s', used but not defined")}} + {{- end }} + {{- if $cert.caEnabled }} + truststore_file: /etc/tls/certs/{{ $service.tls.cert }}/ca.crt + {{- else }} + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- end }} {{- end }} +{{- /* Kafka API */}} +{{- $service = .Values.listeners.kafka }} kafka_api: - name: internal address: 0.0.0.0 - port: {{ .Values.listeners.kafka.port }} + port: {{ $service.port }} {{- range $name, $listener := .Values.listeners.kafka.external }} - name: {{ $name }} address: 0.0.0.0 port: {{ $listener.port }} {{- end }} kafka_api_tls: -{{- $service := .Values.listeners.kafka }} {{- if (include "kafka-internal-tls-enabled" . | fromJson).bool }} - name: internal enabled: true cert_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.crt key_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.key - truststore_file: /etc/tls/certs/{{ $service.tls.cert }}/ca.crt require_client_auth: {{ $service.tls.requireClientAuth }} + {{- $cert := get .Values.tls.certs $service.tls.cert }} + {{- if empty $cert }} + {{- fail (printf "Certificate, '%s', used but not defined")}} + {{- end }} + {{- if $cert.caEnabled }} + truststore_file: /etc/tls/certs/{{ $service.tls.cert }}/ca.crt + {{- else }} + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- end }} {{- end }} {{- range $name, $listener := $service.external }} {{- $k := dict "Values" $values "listener" $listener }} {{- if (include "kafka-external-tls-enabled" $k | fromJson).bool }} + {{- $mtls := dig "tls" "requireClientAuth" false $listener }} + {{- $mtls = dig "tls" "requireClientAuth" $mtls $k }} + {{- $certName := include "kafka-external-tls-cert" $k }} + {{- $certPath := printf "/etc/tls/certs/%s" $certName }} + {{- $cert := get $values.tls.certs $certName }} + {{- if empty $cert }} + {{- fail (printf "Certificate, '%s', used but not defined")}} + {{- end }} - name: {{ $name }} enabled: true - cert_file: /etc/tls/certs/{{ template "kafka-external-tls-cert" $k}}/tls.crt - key_file: /etc/tls/certs/{{ template "kafka-external-tls-cert" $k}}/tls.key - truststore_file: /etc/tls/certs/{{ template "kafka-external-tls-cert" $k}}/ca.crt - require_client_auth: {{ dig "tls" "requireClientAuth" false $listener }} + cert_file: {{ $certPath }}/tls.crt + key_file: {{ $certPath }}/tls.key + require_client_auth: {{ $mtls }} + {{- if $cert.caEnabled }} + truststore_file: {{ $certPath }}/ca.crt + {{- else }} + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- end }} {{- end }} {{- end }} +{{- /* RPC Server */}} +{{- $service = .Values.listeners.rpc }} rpc_server: address: 0.0.0.0 - port: {{ .Values.listeners.rpc.port }} + port: {{ $service.port }} {{- if (include "rpc-tls-enabled" . | fromJson).bool }} rpc_server_tls: enabled: true - require_client_auth: {{ .Values.listeners.rpc.tls.requireClientAuth }} - cert_file: /etc/tls/certs/{{ .Values.listeners.rpc.tls.cert }}/tls.crt - key_file: /etc/tls/certs/{{ .Values.listeners.rpc.tls.cert }}/tls.key - truststore_file: /etc/tls/certs/{{ .Values.listeners.rpc.tls.cert }}/ca.crt + cert_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.crt + key_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.key + require_client_auth: {{ $service.tls.requireClientAuth }} + {{- $cert := get .Values.tls.certs $service.tls.cert }} + {{- if empty $cert }} + {{- fail (printf "Certificate, '%s', used but not defined")}} + {{- end }} + {{- if $cert.caEnabled }} + truststore_file: /etc/tls/certs/{{ $service.tls.cert }}/ca.crt + {{- else }} + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- end }} {{- end }} seed_servers: {{- range untilStep 0 (.Values.statefulset.replicas|int) 1 }} @@ -162,70 +208,127 @@ data: {{- unset .Values.storage.tieredConfig "cloud_storage_credentials_source" | toYaml | nindent 6 }} {{- end }} {{- end }} +{{- /* Schema Registry API */}} {{- if .Values.listeners.schemaRegistry.enabled }} + {{- $service = .Values.listeners.schemaRegistry }} schema_registry: schema_registry_api: - name: internal address: 0.0.0.0 - port: {{ .Values.listeners.schemaRegistry.port }} -{{- range $name, $listener := .Values.listeners.schemaRegistry.external }} + port: {{ $service.port }} + {{- range $name, $listener := $service.external }} - name: {{ $name }} address: 0.0.0.0 - port: {{ $listener.port }} -{{- end }} + {{- /* + when upgrading from an older version that had a missing port, fail if we cannot guess a default + this should work in all cases as the older versions would have failed with multiple listeners anyway + */}} + {{- if and (empty $listener.port) (ne (len $service.external) 1) }} + {{- fail "missing required port for schemaRegistry listener $listener.name" }} + {{- end }} + port: {{ $listener.port | default 8084 }} + {{- end }} schema_registry_api_tls: {{- if (include "schemaRegistry-internal-tls-enabled" . | fromJson).bool }} - name: internal enabled: true - cert_file: /etc/tls/certs/{{ .Values.listeners.schemaRegistry.tls.cert }}/tls.crt - key_file: /etc/tls/certs/{{ .Values.listeners.schemaRegistry.tls.cert }}/tls.key - truststore_file: /etc/tls/certs/{{ .Values.listeners.schemaRegistry.tls.cert }}/ca.crt - require_client_auth: {{ .Values.listeners.schemaRegistry.tls.requireClientAuth }} + cert_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.crt + key_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.key + require_client_auth: {{ $service.tls.requireClientAuth }} + {{- $cert := get .Values.tls.certs $service.tls.cert }} + {{- if empty $cert }} + {{- fail (printf "Certificate, '%s', used but not defined")}} + {{- end }} + {{- if $cert.caEnabled }} + truststore_file: /etc/tls/certs/{{ $service.tls.cert }}/ca.crt + {{- else }} + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- end }} {{- end }} - {{- range $i, $listener := .Values.listeners.schemaRegistry.external }} + {{- range $name, $listener := $service.external }} {{- $k := dict "Values" $values "listener" $listener }} {{- if (include "schemaRegistry-external-tls-enabled" $k | fromJson).bool }} - - name: {{ $listener.name }} + {{- $mtls := dig "tls" "requireClientAuth" false $listener }} + {{- $mtls = dig "tls" "requireClientAuth" $mtls $k }} + {{- $certName := include "schemaRegistry-external-tls-cert" $k }} + {{- $certPath := printf "/etc/tls/certs/%s" $certName }} + {{- $cert := get $values.tls.certs $certName }} + {{- if empty $cert }} + {{- fail (printf "Certificate, '%s', used but not defined")}} + {{- end }} + - name: {{ $name }} enabled: true - cert_file: /etc/tls/certs/{{ template "schemaRegistry-external-tls-cert" $k }}/tls.crt - key_file: /etc/tls/certs/{{ template "schemaRegistry-external-tls-cert" $k }}/tls.key - truststore_file: /etc/tls/certs/{{ template "schemaRegistry-external-tls-cert" $k }}/ca.crt - require_client_auth: {{ dig "tls" "requireClientAuth" false $listener}} + cert_file: {{ $certPath }}/tls.crt + key_file: {{ $certPath }}/tls.key + require_client_auth: {{ $mtls }} + {{- if $cert.caEnabled }} + truststore_file: {{ $certPath }}/ca.crt + {{- else }} + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- end }} {{- end }} {{- end }} {{- end }} +{{- /* HTTP Proxy */}} {{- if .Values.listeners.http.enabled }} + {{- $service = .Values.listeners.http }} pandaproxy: pandaproxy_api: - name: internal address: 0.0.0.0 - port: {{ .Values.listeners.http.port }} - {{- range $name, $listener := .Values.listeners.http.external }} + port: {{ $service.port }} + {{- range $name, $listener := $service.external }} - name: {{ $name }} address: 0.0.0.0 port: {{ $listener.port }} {{- end }} pandaproxy_api_tls: {{- if (include "http-internal-tls-enabled" . | fromJson).bool }} - - name: internal - enabled: true - cert_file: /etc/tls/certs/{{ .Values.listeners.http.tls.cert }}/tls.crt - key_file: /etc/tls/certs/{{ .Values.listeners.http.tls.cert }}/tls.key - truststore_file: /etc/tls/certs/{{ .Values.listeners.http.tls.cert }}/ca.crt - require_client_auth: {{ .Values.listeners.http.tls.requireClientAuth }} + - name: internal + enabled: true + cert_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.crt + key_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.key + require_client_auth: {{ $service.tls.requireClientAuth }} + {{- $cert := get .Values.tls.certs $service.tls.cert }} + {{- if empty $cert }} + {{- fail (printf "Certificate, '%s', used but not defined")}} + {{- end }} + {{- if $cert.caEnabled }} + truststore_file: /etc/tls/certs/{{ $service.tls.cert }}/ca.crt + {{- else }} + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- end }} {{- end }} - {{- range $name, $listener := .Values.listeners.http.external }} + {{- range $name, $listener := $service.external }} {{- $k := dict "Values" $values "listener" $listener }} {{- if (include "http-external-tls-enabled" $k | fromJson).bool }} - - name: {{ $name }} - enabled: true - cert_file: /etc/tls/certs/{{ template "kafka-external-tls-cert" $k }}/tls.crt - key_file: /etc/tls/certs/{{ template "kafka-external-tls-cert" $k }}/tls.key - truststore_file: /etc/tls/certs/{{ template "kafka-external-tls-cert" $k}}/ca.crt - require_client_auth: {{ dig "tls" "requireClientAuth" false $listener }} + {{- $mtls := dig "tls" "requireClientAuth" false $listener }} + {{- $mtls = dig "tls" "requireClientAuth" $mtls $k }} + {{- $certName := include "http-external-tls-cert" $k }} + {{- $certPath := printf "/etc/tls/certs/%s" $certName }} + {{- $cert := get $values.tls.certs $certName }} + {{- if empty $cert }} + {{- fail (printf "Certificate, '%s', used but not defined")}} + {{- end }} + - name: {{ $name }} + enabled: true + cert_file: {{ $certPath }}/tls.crt + key_file: {{ $certPath }}/tls.key + require_client_auth: {{ $mtls }} + {{- if $cert.caEnabled }} + truststore_file: {{ $certPath }}/ca.crt + {{- else }} + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- end }} {{- end }} {{- end }} {{- end }} +{{- /* END LISTENERS */}} + rpk: enable_usage_stats: {{ .Values.logging.usageStats.enabled }} overprovisioned: {{ dig "cpu" "overprovisioned" false .Values.resources }} diff --git a/charts/redpanda/redpanda/templates/poddisruptionbudget.yaml b/charts/redpanda/redpanda/templates/poddisruptionbudget.yaml index e3efea930..615b44330 100644 --- a/charts/redpanda/redpanda/templates/poddisruptionbudget.yaml +++ b/charts/redpanda/redpanda/templates/poddisruptionbudget.yaml @@ -14,24 +14,30 @@ 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. */}} +{{- $budget := .Values.statefulset.budget.maxUnavailable -}} +{{- /* to maintain quorum, raft cannot lose more than half its members */ -}} +{{- $minReplicas := divf .Values.statefulset.replicas 2 | floor -}} +{{- /* the lowest we can go is 1 so allow that always */ -}} +{{- if and (gt $budget (float64 1)) (gt $budget $minReplicas) -}} + {{ fail "statefulset.budget.maxUnavailable is set too high to maintain quorum: $budget > $minReplicas" }} +{{- end -}} apiVersion: policy/v1 kind: PodDisruptionBudget metadata: name: {{ template "redpanda.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ .Release.Namespace }} labels: helm.sh/chart: {{ template "redpanda.chart" . }} app.kubernetes.io/name: {{ template "redpanda.name" . }} - app.kubernetes.io/instance: {{ .Release.Name | quote }} - app.kubernetes.io/managed-by: {{ .Release.Service | quote }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/component: {{ template "redpanda.name" . }} {{- with .Values.commonLabels }} {{- toYaml . | nindent 4 }} {{- end }} spec: + maxUnavailable: {{ $budget | int64 }} selector: - matchLabels: - app.kubernetes.io/name: {{ template "redpanda.name" . }} - app.kubernetes.io/instance: {{ .Release.Name | quote }} - maxUnavailable: {{ .Values.statefulset.budget.maxUnavailable | int64 }} + matchLabels: {{ (include "statefulset-pod-labels" .) | nindent 6 }} + redpanda.com/poddisruptionbudget: {{ template "redpanda.name" . }} diff --git a/charts/redpanda/redpanda/templates/post-install-upgrade-job.yaml b/charts/redpanda/redpanda/templates/post-install-upgrade-job.yaml index a659a8ba5..73e6d73d0 100644 --- a/charts/redpanda/redpanda/templates/post-install-upgrade-job.yaml +++ b/charts/redpanda/redpanda/templates/post-install-upgrade-job.yaml @@ -15,6 +15,8 @@ See the License for the specific language governing permissions and limitations under the License. */}} {{- if .Values.post_install_job.enabled }} +{{- $values := .Values }} +{{- $sasl := $values.auth.sasl }} --- apiVersion: batch/v1 kind: Job @@ -49,11 +51,17 @@ spec: labels: app.kubernetes.io/name: {{ template "redpanda.name" . }} app.kubernetes.io/instance: {{ .Release.Name | quote }} - app.kubernetes.io/component: {{ template "redpanda.name" . }} + app.kubernetes.io/component: {{ (include "redpanda.name" .) | trunc 50 }}-post-install {{- with .Values.commonLabels }} {{- toYaml . | nindent 8 }} {{- end }} spec: + {{- with .Values.nodeSelector }} + nodeSelector: {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: {{- toYaml . | nindent 8 }} + {{- end }} restartPolicy: Never securityContext: {{ include "pod-security-context" . | nindent 8 }} containers: @@ -67,42 +75,45 @@ spec: name: {{ .Values.license_secret_ref.secret_name }} key: {{ .Values.license_secret_ref.secret_key }} {{- end }} - command: - - bash - - -c + command: ["bash","-c"] args: - | set -e -{{- if .Values.auth.sasl.enabled }} - {{- $values := .Values }} - {{- range $user := .Values.auth.sasl.users }} - # To avoid `set -e` from exiting the command when a user exists; catch the stderr output and exit codes into `creation_result` - # and `creation_result_exit_code` for use later - creation_result=$(rpk acl user create {{ $user.name }} -p {{ $user.password | quote }} --mechanism {{ include "sasl-user-mechanism" (dict "user" $user "Values" $values) }} {{ template "rpk-common-flags" $ }} 2>&1) && creation_result_exit_code=$? || creation_result_exit_code=$? - - # On a non-success exit code - if [[ $creation_result_exit_code -ne 0 ]]; then - # Check if the stderr contains "User already exists" - if [[ $creation_result == *"User already exists"* ]]; then - printf "The %s user already exists, skipping creation.\n" {{ $user.name }} - else - # Another error occurred, so output the original message and exit code - echo "$creation_result" - exit $creation_result_exit_code + {{- if and $sasl.enabled (not (empty $sasl.secretRef )) }} + USERS_FILE=$(find /etc/secrets/users/* -print) + while read p; do + IFS=":" read -r USER_NAME PASSWORD MECHANISM <<< $p + # Do not process empty lines + if [ -z "$USER_NAME" ]; then + continue fi - # On a success, the user was created so output that - else - printf "Created user %s.\n" {{ $user.name }} - fi - {{- end }} -{{- end }} -{{- if (include "redpanda-atleast-22-2-0" . | fromJson).bool }} - {{- if not (empty .Values.license_secret_ref) }} - rpk cluster license set "$REDPANDA_LICENSE" {{ template "rpk-common-flags" $ }} - {{- else if not (empty .Values.license_key) }} - rpk cluster license set {{ .Values.license_key | quote }} {{ template "rpk-common-flags" $ }} - {{- end }} -{{- end }} + echo "Creating user ${USER_NAME}..." + MECHANISM=${MECHANISM:-{{- include "sasl-mechanism" . }}} + creation_result=$(rpk acl user create ${USER_NAME} --password=${PASSWORD} --mechanism ${MECHANISM} {{ template "rpk-flags-no-sasl" $ }} 2>&1) && creation_result_exit_code=$? || creation_result_exit_code=$? # On a non-success exit code + if [[ $creation_result_exit_code -ne 0 ]]; then + # Check if the stderr contains "User already exists" + if [[ $creation_result == *"User already exists"* ]]; then + # TODO: change user password instead in the future when api enables this. + echo "the user ${USER_NAME} already exists, skipping creation." + else + # Another error occurred, so output the original message and exit code + echo "error creating user ${USER_NAME}: ${creation_result}" + exit $creation_result_exit_code + fi + # On a success, the user was created so output that + else + echo "Created user ${USER_NAME}." + fi + done < $USERS_FILE + {{- end }} + + {{- if (include "redpanda-atleast-22-2-0" . | fromJson).bool }} + {{- if not (empty .Values.license_secret_ref) }} + rpk cluster license set "$REDPANDA_LICENSE" {{ template "rpk-flags-no-sasl" $ }} + {{- else if not (empty .Values.license_key) }} + rpk cluster license set {{ .Values.license_key | quote }} {{ template "rpk-flags-no-sasl" $ }} + {{- end }} + {{- end }} {{- with .Values.post_install_job.resources }} resources: {{- toYaml . | nindent 10 }} @@ -113,20 +124,25 @@ spec: mountPath: /tmp/base-config - name: config mountPath: /etc/redpanda -{{- if (include "tls-enabled" . | fromJson).bool }} - {{- range $name, $cert := .Values.tls.certs }} + {{- if (include "tls-enabled" . | fromJson).bool }} + {{- range $name, $cert := .Values.tls.certs }} - name: redpanda-{{ $name }}-cert mountPath: {{ printf "/etc/tls/certs/%s" $name }} - {{- end }} -{{- end }} + {{- end }} + {{- end }} + {{- if and $sasl.enabled (not (empty $sasl.secretRef )) }} + - name: {{ $sasl.secretRef }} + mountPath: "/etc/secrets/users" + readOnly: true + {{- end}} volumes: - name: {{ template "redpanda.fullname" . }} configMap: name: {{ template "redpanda.fullname" . }} - name: config emptyDir: {} -{{- if (include "tls-enabled" . | fromJson).bool }} - {{- range $name, $cert := .Values.tls.certs }} + {{- if (include "tls-enabled" . | fromJson).bool }} + {{- range $name, $cert := .Values.tls.certs }} - name: redpanda-{{ $name }}-cert secret: defaultMode: 420 @@ -135,11 +151,17 @@ spec: path: tls.key - key: tls.crt path: tls.crt - {{- if $cert.caEnabled }} + {{- if $cert.caEnabled }} - key: ca.crt path: ca.crt - {{- end }} + {{- end }} secretName: {{ template "redpanda.fullname" $ }}-{{ $name }}-cert - {{- end }} -{{- end -}} + {{- end }} + {{- end -}} + {{- if and $sasl.enabled (not (empty $sasl.secretRef )) }} + - name: {{ $sasl.secretRef }} + secret: + secretName: {{ $sasl.secretRef }} + optional: false + {{- end }} {{- end -}} diff --git a/charts/redpanda/redpanda/templates/post-upgrade.yaml b/charts/redpanda/redpanda/templates/post-upgrade.yaml index 471db47b0..e471ae524 100644 --- a/charts/redpanda/redpanda/templates/post-upgrade.yaml +++ b/charts/redpanda/redpanda/templates/post-upgrade.yaml @@ -1,6 +1,7 @@ {{- if .Values.post_upgrade_job.enabled }} {{- if (include "redpanda-atleast-22-1-1" . | fromJson).bool }} -{{- $rpkFlags := include "rpk-common-flags" . }} +{{- $rpkFlags := include "rpk-flags-no-sasl" . }} +{{- $sasl := .Values.auth.sasl }} apiVersion: batch/v1 kind: Job metadata: @@ -33,11 +34,17 @@ spec: labels: app.kubernetes.io/name: {{ template "redpanda.name" . }} app.kubernetes.io/instance: {{ .Release.Name | quote }} - app.kubernetes.io/component: {{ template "redpanda.name" . }} + app.kubernetes.io/component: {{ (include "redpanda.name" .) | trunc 50 }}-post-upgrade {{- with .Values.commonLabels }} {{- toYaml . | nindent 8 }} {{- end }} spec: + {{- with .Values.nodeSelector }} + nodeSelector: {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: {{- toYaml . | nindent 8 }} + {{- end }} restartPolicy: Never securityContext: {{ include "pod-security-context" . | nindent 8 }} containers: @@ -77,6 +84,11 @@ spec: mountPath: {{ printf "/etc/tls/certs/%s" $name }} {{- end }} {{- end }} + {{- if and $sasl.enabled (not (empty $sasl.secretRef )) }} + - name: {{ $sasl.secretRef }} + mountPath: "/etc/secrets/users" + readOnly: true + {{- end}} volumes: - name: {{ template "redpanda.fullname" . }} configMap: @@ -100,5 +112,11 @@ spec: secretName: {{ template "redpanda.fullname" $ }}-{{ $name }}-cert {{- end }} {{- end -}} + {{- if and $sasl.enabled (not (empty $sasl.secretRef )) }} + - name: {{ $sasl.secretRef }} + secret: + secretName: {{ $sasl.secretRef }} + optional: false + {{- end }} {{- end }} {{- end }} diff --git a/charts/redpanda/redpanda/templates/secret.yaml b/charts/redpanda/redpanda/templates/secrets.yaml similarity index 65% rename from charts/redpanda/redpanda/templates/secret.yaml rename to charts/redpanda/redpanda/templates/secrets.yaml index f65c2a5d8..d67296b2c 100644 --- a/charts/redpanda/redpanda/templates/secret.yaml +++ b/charts/redpanda/redpanda/templates/secrets.yaml @@ -1,9 +1,26 @@ +{{/* + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You 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. +*/}} {{- if gt ( .Values.statefulset.replicas | int64 ) 2 }} --- apiVersion: v1 kind: Secret metadata: name: {{ template "redpanda.fullname" . }}-sts-lifecycle + namespace: {{ .Release.Namespace | quote }} labels: helm.sh/chart: {{ template "redpanda.chart" . }} app.kubernetes.io/name: {{ template "redpanda.name" . }} @@ -75,3 +92,28 @@ stringData: sleep 0.5 done {{- end }} +{{- if and (not (empty .Values.auth.sasl.secretRef)) (and .Values.auth.sasl.enabled .Values.auth.sasl.users) }} +--- +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Values.auth.sasl.secretRef | quote }} + namespace: {{ .Release.Namespace | quote }} + labels: + helm.sh/chart: {{ template "redpanda.chart" . }} + app.kubernetes.io/name: {{ template "redpanda.name" . }} + app.kubernetes.io/instance: {{ .Release.Name | quote }} + app.kubernetes.io/managed-by: {{ .Release.Service | quote }} + app.kubernetes.io/component: {{ template "redpanda.name" . }} +type: Opaque +stringData: + users.txt: |- + {{- range $user := .Values.auth.sasl.users }} + {{- if not (empty $user.mechanism) }} + {{ printf "%s:%s:%s" $user.name $user.password $user.mechanism }} + {{- else }} + {{ printf "%s:%s" $user.name $user.password}} + {{- end }} + {{- end }} + # intentional empty line +{{- end }} \ No newline at end of file diff --git a/charts/redpanda/redpanda/templates/services.nodeport.yaml b/charts/redpanda/redpanda/templates/services.nodeport.yaml index ebc1b7a22..33f9f0d2b 100644 --- a/charts/redpanda/redpanda/templates/services.nodeport.yaml +++ b/charts/redpanda/redpanda/templates/services.nodeport.yaml @@ -68,7 +68,7 @@ spec: {{- if $enabled }} - name: schema-{{ $name }} protocol: TCP - port: {{ $values.listeners.schemaRegistry.port }} + port: {{ dig "port" $values.listeners.schemaRegistry.port $listener }} nodePort: {{ dig "nodePort" (first (dig "advertisedPorts" (list $values.listeners.schemaRegistry.port) $listener)) $listener }} {{- end }} {{- end }} diff --git a/charts/redpanda/redpanda/templates/statefulset.yaml b/charts/redpanda/redpanda/templates/statefulset.yaml index 0f59f1f4b..e50f2b36e 100644 --- a/charts/redpanda/redpanda/templates/statefulset.yaml +++ b/charts/redpanda/redpanda/templates/statefulset.yaml @@ -21,6 +21,8 @@ limitations under the License. {{- if $values.external.domain -}} {{- $externalAdvertiseAddress = printf "$(SERVICE_NAME).%s" $values.external.domain -}} {{- end -}} +{{- $uid := dig "podSecurityContext" "runAsUser" .Values.statefulset.securityContext.runAsUser .Values.statefulset -}} +{{- $gid := dig "podSecurityContext" "fsGroup" .Values.statefulset.securityContext.fsGroup .Values.statefulset -}} --- apiVersion: apps/v1 kind: StatefulSet @@ -37,9 +39,7 @@ metadata: {{- end }} spec: selector: - matchLabels: - app.kubernetes.io/name: {{ template "redpanda.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} + matchLabels: {{ (include "statefulset-pod-labels" .) | nindent 6 }} serviceName: {{ template "redpanda.fullname" . }} replicas: {{ .Values.statefulset.replicas | int64 }} updateStrategy: @@ -47,13 +47,8 @@ spec: podManagementPolicy: {{ .Values.statefulset.podManagementPolicy }} template: metadata: - labels: - app.kubernetes.io/name: {{ template "redpanda.name" . }} - app.kubernetes.io/instance: {{ .Release.Name | quote }} - app.kubernetes.io/component: {{ template "redpanda.name" . }} -{{- with .Values.commonLabels }} - {{- toYaml . | nindent 8 }} -{{- end }} + labels: {{ (include "statefulset-pod-labels" .) | nindent 8 }} + redpanda.com/poddisruptionbudget: {{ template "redpanda.name" . }} annotations: checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }} {{- with $.Values.statefulset.annotations }} @@ -65,8 +60,6 @@ spec: initContainers: - name: set-datadir-ownership image: busybox:latest - {{- $uid := dig "podSecurityContext" "runAsUser" .Values.statefulset.securityContext.runAsUser .Values.statefulset }} - {{- $gid := dig "podSecurityContext" "fsGroup" .Values.statefulset.securityContext.fsGroup .Values.statefulset }} command: ["/bin/sh", "-c", "chown {{ $uid }}:{{ $gid }} -R /var/lib/redpanda/data"] volumeMounts: - name: datadir @@ -74,14 +67,12 @@ spec: {{- if and (include "is-licensed" . | fromJson).bool .Values.storage.tieredConfig.cloud_storage_enabled }} - name: set-tiered-storage-cache-dir-ownership image: busybox:latest - {{- $uid := dig "podSecurityContext" "runAsUser" .Values.statefulset.securityContext.runAsUser .Values.statefulset }} - {{- $gid := dig "podSecurityContext" "fsGroup" .Values.statefulset.securityContext.fsGroup .Values.statefulset }} command: ["/bin/sh", "-c", 'chown {{ $uid }}:{{ $gid }} -R {{ template "tieredStorage.cacheDirectory" . }}'] volumeMounts: - name: tiered-storage-dir mountPath: {{ template "tieredStorage.cacheDirectory" . }} {{- end }} - - name: {{ template "redpanda.name" . }}-configurator + - name: {{ (include "redpanda.name" .) | trunc 51 }}-configurator image: {{ .Values.image.repository}}:{{ template "redpanda.tag" . }} command: ["/bin/bash", "-c"] env: @@ -331,7 +322,7 @@ spec: {{- if gt ( .Values.statefulset.replicas | int64 ) 2 }} - name: lifecycle-scripts secret: - secretName: {{ template "redpanda.fullname" . }}-sts-lifecycle + secretName: {{ (include "redpanda.fullname" . | trunc 50 ) }}-sts-lifecycle defaultMode: 0774 {{- end }} - name: datadir @@ -394,18 +385,14 @@ spec: requiredDuringSchedulingIgnoredDuringExecution: - topologyKey: {{ .Values.statefulset.podAntiAffinity.topologyKey }} labelSelector: - matchLabels: - app.kubernetes.io/name: {{ template "redpanda.name" . }} - app.kubernetes.io/instance: {{ .Release.Name | quote }} + matchLabels: {{ include "statefulset-pod-labels" . | nindent 18 }} {{- else if eq .Values.statefulset.podAntiAffinity.type "soft" }} preferredDuringSchedulingIgnoredDuringExecution: - weight: {{ .Values.statefulset.podAntiAffinity.weight | int64 }} podAffinityTerm: topologyKey: {{ .Values.statefulset.podAntiAffinity.topologyKey }} labelSelector: - matchLabels: - app.kubernetes.io/name: {{ template "redpanda.name" . }} - app.kubernetes.io/instance: {{ .Release.Name | quote }} + matchLabels: {{ include "statefulset-pod-labels" . | nindent 20 }} {{- end }} {{- else }} {{- toYaml .Values.statefulset.podAntiAffinity | nindent 10 }} @@ -415,23 +402,21 @@ spec: {{- if semverCompare ">=1.16-0" .Capabilities.KubeVersion.GitVersion }} topologySpreadConstraints: - labelSelector: - matchLabels: - app.kubernetes.io/name: {{ template "redpanda.name" . }} - app.kubernetes.io/instance: {{ .Release.Name | quote }} + matchLabels: {{ include "statefulset-pod-labels" . | nindent 12 }} {{- with .Values.statefulset.topologySpreadConstraints }} maxSkew: {{ .maxSkew }} topologyKey: {{ .topologyKey }} whenUnsatisfiable: {{ .whenUnsatisfiable }} {{- end }} {{- end }} -{{- with .Values.statefulset.nodeSelector }} - nodeSelector: {{- toYaml . | nindent 8 }} +{{- with ( include "statefulset-nodeSelectors" . ) }} + nodeSelector: {{- . | nindent 8 }} {{- end }} {{- if .Values.statefulset.priorityClassName }} priorityClassName: {{ .Values.statefulset.priorityClassName }} {{- end }} -{{- with .Values.statefulset.tolerations }} - tolerations: {{- toYaml . | nindent 8 }} +{{- with ( include "statefulset-tolerations" . ) }} + tolerations: {{- . | nindent 8 }} {{- end }} {{- if or .Values.storage.persistentVolume.enabled (and (include "is-licensed" . | fromJson).bool .Values.storage.tieredConfig.cloud_storage_enabled .Values.storage.tieredStoragePersistentVolume.enabled) }} volumeClaimTemplates: diff --git a/charts/redpanda/redpanda/templates/tests/test-kafka-internal-tls-status.yaml b/charts/redpanda/redpanda/templates/tests/test-kafka-internal-tls-status.yaml index 12e035d1d..5a587c1a5 100644 --- a/charts/redpanda/redpanda/templates/tests/test-kafka-internal-tls-status.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-kafka-internal-tls-status.yaml @@ -14,7 +14,7 @@ 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. */}} -{{- if and (include "tls-enabled" . | fromJson).bool (not (include "sasl-enabled" . | fromJson).bool) -}} +{{- if and (include "kafka-internal-tls-enabled" . | fromJson).bool (not (include "sasl-enabled" . | fromJson).bool) -}} apiVersion: v1 kind: Pod metadata: @@ -44,18 +44,32 @@ spec: - /bin/bash - -c - > + {{- $service := .Values.listeners.kafka -}} + {{- $cert := get .Values.tls.certs $service.tls.cert }} + {{- if (include "kafka-internal-tls-enabled" . | fromJson).bool }} rpk cluster info --brokers {{ include "redpanda.fullname" .}}-0.{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.kafka.port }} - --tls-enabled --tls-truststore /etc/tls/certs/{{ .Values.listeners.kafka.tls.cert }}/ca.crt + --tls-enabled + {{- if $cert.caEnabled }} + --tls-truststore /etc/tls/certs/{{ $service.tls.cert }}/ca.crt + {{- else }} + {{- /* This is a required field so we use the default in the redpanda debian container */}} + --tls-truststore /etc/ssl/certs/ca-certificates.crt + {{- end }} + {{- end }} + resources: +{{- toYaml .Values.statefulset.resources | nindent 12 }} volumeMounts: + - name: {{ template "redpanda.fullname" . }} + mountPath: /tmp/base-config - name: config mountPath: /etc/redpanda +{{- if (include "tls-enabled" . | fromJson).bool }} {{- range $name, $cert := .Values.tls.certs }} - name: redpanda-{{ $name }}-cert mountPath: {{ printf "/etc/tls/certs/%s" $name }} {{- end }} - resources: -{{- toYaml .Values.statefulset.resources | nindent 12 }} +{{- end }} volumes: - name: {{ template "redpanda.fullname" . }} configMap: diff --git a/charts/redpanda/redpanda/templates/tests/test-kafka-produce-consume.yaml b/charts/redpanda/redpanda/templates/tests/test-kafka-produce-consume.yaml index 1bb9d2e2e..cccfd0123 100644 --- a/charts/redpanda/redpanda/templates/tests/test-kafka-produce-consume.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-kafka-produce-consume.yaml @@ -14,6 +14,7 @@ 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. */}} +{{- $sasl := .Values.auth.sasl }} apiVersion: batch/v1 kind: Job metadata: @@ -57,9 +58,11 @@ spec: - -c - | set -e + {{- if and (not $sasl.enabled) (and $sasl.enabled (not (empty $sasl.secretRef ))) }} rpk topic create produce.consume.test.$POD_NAME {{ include "rpk-topic-flags" . }} echo "Pandas are awesome!" | rpk topic produce produce.consume.test.$POD_NAME {{ include "rpk-topic-flags" . }} rpk topic consume produce.consume.test.$POD_NAME -n 1 {{ include "rpk-topic-flags" . }} | grep "Pandas are awesome!" + {{- end }} volumeMounts: - name: config mountPath: /etc/redpanda @@ -69,6 +72,11 @@ spec: mountPath: {{ printf "/etc/tls/certs/%s" $name }} {{- end }} {{- end }} + {{- if and $sasl.enabled (not (empty $sasl.secretRef )) }} + - name: {{ $sasl.secretRef }} + mountPath: "/etc/secrets/users" + readOnly: true + {{- end}} resources: {{ toYaml .Values.statefulset.resources | nindent 12 }} volumes: - name: {{ template "redpanda.fullname" . }} @@ -76,6 +84,12 @@ spec: name: {{ template "redpanda.fullname" . }} - name: config emptyDir: {} + {{- if and $sasl.enabled (not (empty $sasl.secretRef )) }} + - name: {{ $sasl.secretRef }} + secret: + secretName: {{ $sasl.secretRef }} + optional: false + {{- end }} {{- if (include "tls-enabled" . | fromJson).bool }} {{- range $name, $cert := .Values.tls.certs }} - name: redpanda-{{ $name }}-cert diff --git a/charts/redpanda/redpanda/templates/tests/test-kafka-sasl-status.yaml b/charts/redpanda/redpanda/templates/tests/test-kafka-sasl-status.yaml index bb9a153bf..3248ee288 100644 --- a/charts/redpanda/redpanda/templates/tests/test-kafka-sasl-status.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-kafka-sasl-status.yaml @@ -18,6 +18,7 @@ limitations under the License. {{- $testTopicFlags := mustRegexReplaceAll "--user \\S+ " (include "rpk-topic-flags" . ) "--user myuser" }} {{- $testTopicFlags := mustRegexReplaceAll "--password \\S+ " $testTopicFlags "--password changeme" }} {{- $rpk := deepCopy . }} +{{- $sasl := .Values.auth.sasl }} {{- $_ := set $rpk "rpk" "rpk" }} apiVersion: v1 kind: Pod @@ -48,17 +49,20 @@ spec: - /bin/bash - -c - | + set -xe + {{- if and (not $sasl.enabled) (and $sasl.enabled (not (empty $sasl.secretRef ))) }} rpk acl user delete myuser {{ include "rpk-common-flags" . }} sleep 3 - set -e - {{ include "rpk-cluster-info" $rpk }} - {{ include "rpk-acl-user-create" $rpk }} - {{ include "rpk-acl-create" $rpk }} + + {{ include "rpk-cluster-info-no-dummy-sasl" $rpk }} + {{ include "rpk-acl-user-create-no-dummy-sasl" $rpk }} + {{ include "rpk-acl-create-no-dummy-sasl" $rpk }} sleep 3 - {{ include "rpk-topic-create" $rpk }} - {{ include "rpk-topic-describe" $rpk }} - {{ include "rpk-topic-delete" $rpk }} + {{ include "rpk-topic-create-no-dummy-sasl" $rpk }} + {{ include "rpk-topic-describe-no-dummy-sasl" $rpk }} + {{ include "rpk-topic-delete-no-dummy-sasl" $rpk }} rpk acl user delete myuser {{ include "rpk-common-flags" . }} + {{- end }} volumeMounts: - name: config mountPath: /etc/redpanda @@ -68,6 +72,11 @@ spec: mountPath: {{ printf "/etc/tls/certs/%s" $name }} {{- end }} {{- end }} + {{- if and $sasl.enabled (not (empty $sasl.secretRef )) }} + - name: {{ $sasl.secretRef }} + mountPath: "/etc/secrets/users" + readOnly: true + {{- end}} resources: {{- toYaml .Values.statefulset.resources | nindent 12 }} volumes: @@ -76,6 +85,12 @@ spec: name: {{ template "redpanda.fullname" . }} - name: config emptyDir: {} + {{- if and $sasl.enabled (not (empty $sasl.secretRef )) }} + - name: {{ $sasl.secretRef }} + secret: + secretName: {{ $sasl.secretRef }} + optional: false + {{- end }} {{- if (include "tls-enabled" . | fromJson).bool }} {{- range $name, $cert := .Values.tls.certs }} - name: redpanda-{{ $name }}-cert diff --git a/charts/redpanda/redpanda/templates/tests/test-pandaproxy-internal-tls-status.yaml b/charts/redpanda/redpanda/templates/tests/test-pandaproxy-internal-tls-status.yaml index 8be2630cd..bee1b24d6 100644 --- a/charts/redpanda/redpanda/templates/tests/test-pandaproxy-internal-tls-status.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-pandaproxy-internal-tls-status.yaml @@ -14,7 +14,9 @@ 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. */}} -{{- if and (include "tls-enabled" . | fromJson).bool (not (include "sasl-enabled" . | fromJson).bool) -}} +{{- if and (include "http-internal-tls-enabled" . | fromJson).bool (not (include "sasl-enabled" . | fromJson).bool) -}} +{{- $service := .Values.listeners.http -}} +{{- $cert := get .Values.tls.certs $service.tls.cert -}} apiVersion: v1 kind: Pod metadata: @@ -44,8 +46,10 @@ spec: - curl - -svm3 - --ssl-reqd + {{- if $cert.caEnabled }} - --cacert - - /etc/tls/certs/{{ .Values.listeners.admin.tls.cert }}/ca.crt + - /etc/tls/certs/{{ $service.tls.cert }}/ca.crt + {{- end }} - https://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.http.port }}/brokers volumeMounts: - name: config diff --git a/charts/redpanda/redpanda/templates/tests/test-schemaregistry-internal-tls-status.yaml b/charts/redpanda/redpanda/templates/tests/test-schemaregistry-internal-tls-status.yaml index c113834af..e94a431dc 100644 --- a/charts/redpanda/redpanda/templates/tests/test-schemaregistry-internal-tls-status.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-schemaregistry-internal-tls-status.yaml @@ -14,7 +14,9 @@ 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. */}} -{{- if and (include "tls-enabled" . | fromJson).bool (not (include "sasl-enabled" .|fromJson).bool) }} +{{- if and (include "schemaRegistry-internal-tls-enabled" . | fromJson).bool (not (include "sasl-enabled" .|fromJson).bool) }} +{{- $service := .Values.listeners.schemaRegistry -}} +{{- $cert := get .Values.tls.certs $service.tls.cert -}} apiVersion: v1 kind: Pod metadata: @@ -44,8 +46,10 @@ spec: - curl - -svm3 - --ssl-reqd + {{- if $cert.caEnabled }} - --cacert - - /etc/tls/certs/{{ .Values.listeners.schemaRegistry.tls.cert }}/ca.crt + - /etc/tls/certs/{{ $service.tls.cert }}/ca.crt + {{- end }} - https://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.schemaRegistry.port }}/subjects volumeMounts: - name: config diff --git a/charts/redpanda/redpanda/values.schema.json b/charts/redpanda/redpanda/values.schema.json index 0b7f13518..002e6ada5 100644 --- a/charts/redpanda/redpanda/values.schema.json +++ b/charts/redpanda/redpanda/values.schema.json @@ -5,6 +5,24 @@ "image" ], "properties": { + "nameOverride": { + "type": "string" + }, + "fullnameOverride": { + "type": "string" + }, + "clusterDomain": { + "type": "string" + }, + "commonLabels": { + "type": "object" + }, + "nodeSelector": { + "type": "object" + }, + "tolerations": { + "type": "array" + }, "image": { "description": "Values used to define the container image to be used for Redpanda", "type": "object", @@ -72,65 +90,34 @@ "sasl": { "type": "object", "required": [ - "enabled", - "users" + "enabled" ], - "if": { - "properties": { - "enabled": { - "enum": [ - true - ] - } - } - }, - "then": { - "properties": { - "enabled": { - "type": "boolean" - }, - "users": { - "type": "array", - "minItems": 1, - "items": { - "properties": { - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "mechanism": { - "type": "string", - "pattern": "^(SCRAM-SHA-512|SCRAM-SHA-256)$" - } + "properties": { + "enabled": { + "type": "boolean" + }, + "mechanism": { + "type": "string" + }, + "secretRef": { + "type": "string" + }, + "users": { + "type": "array", + "minItems": 0, + "items": { + "properties": { + "name": { + "type": "string" }, - "oneOf": [ - { - "required": [ - "name", - "password" - ] - }, - { - "required": [ - "name", - "secretName" - ] - } - ] + "password": { + "type": "string" + }, + "mechanism": { + "type": "string", + "pattern": "^(SCRAM-SHA-512|SCRAM-SHA-256)$" + } } - }, - "mechanism": { - "type": "string", - "pattern": "^(SCRAM-SHA-512|SCRAM-SHA-256)$" - } - } - }, - "else": { - "properties": { - "enabled": { - "type": "boolean" } } } diff --git a/charts/redpanda/redpanda/values.yaml b/charts/redpanda/redpanda/values.yaml index c084a56f0..3d01f539e 100644 --- a/charts/redpanda/redpanda/values.yaml +++ b/charts/redpanda/redpanda/values.yaml @@ -33,6 +33,13 @@ clusterDomain: cluster.local # Additional labels added to all Kubernetes objects commonLabels: {} +# Node selection constraints for scheduling Pods, can override this for statefulsets. +# https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector +nodeSelector: {} +# Taints to be tolerated by Pods, can override this for statefulsets. +# https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ +tolerations: [] + # Redpanda parameters # image: @@ -58,27 +65,30 @@ rackAwareness: # this if you have your own custom Node annotation to use instead. nodeAnnotation: topology.kubernetes.io/zone -# # Authentication auth: - # # SASL configuration sasl: + # When enabling SASL, you are required to have a secret available and referenced in secretRef enabled: false - # user list - # TODO create user at startup - users: - - name: admin - # Password for the user. This will be used to generate a secret - # password: password - # If password isn't given, then the secretName must point to an already existing secret - # secretName: adminPassword - # if the mecanism is unspecified, it defaults to .Values.auth.sasl.mechanism - # mechanism: SCRAM-SHA-512 # if unspecified, mechanism defaults to SCRAM-SHA-512 - # mechanism: SCRAM-SHA-512 + mechanism: SCRAM-SHA-512 + # A secret is expected to exist to contain a file with users in the following format: + # :: + # You can create these users in the following way: + # create a file with one entry per line in the following format: + # :: + # Ensure there is an empty line at the end of the file. + # kubectl -n redpanda create secret generic my-users --from-file=users.txt + # Then secretRef is required, regardless if created a users list (below) or not + secretRef: "redpanda-users" + # optional list of users + # If not an empty list, these users will be created in a secret whose name is defined in "secretRef" + users: + - name: admin + password: change-me + mechanism: SCRAM-SHA-512 -# # TLS configuration tls: # Enable global TLS, which turns on TLS by default for all listeners @@ -484,12 +494,14 @@ statefulset: # Does not apply for other anti-affinity types. weight: 100 # Node selection constraints for scheduling Pods of this StatefulSet. + # these override the global nodeSelector value # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector nodeSelector: {} # PriorityClassName given to Pods of this StatefulSet # https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass priorityClassName: "" # Taints to be tolerated by Pods of this StatefulSet. + # these override the global tolerations value # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ tolerations: [] # https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ @@ -636,6 +648,7 @@ listeners: external: default: # enabled: true + port: 8084 advertisedPorts: - 30081 diff --git a/charts/speedscale/speedscale-operator/Chart.yaml b/charts/speedscale/speedscale-operator/Chart.yaml index 85f1edda8..bcf211a86 100644 --- a/charts/speedscale/speedscale-operator/Chart.yaml +++ b/charts/speedscale/speedscale-operator/Chart.yaml @@ -4,7 +4,7 @@ annotations: catalog.cattle.io/kube-version: '>= 1.17.0-0' catalog.cattle.io/release-name: speedscale-operator apiVersion: v1 -appVersion: 1.2.282 +appVersion: 1.2.296 description: Stress test your APIs with real world scenarios. Collect and replay traffic without scripting. home: https://speedscale.com @@ -24,4 +24,4 @@ maintainers: - email: support@speedscale.com name: Speedscale Support name: speedscale-operator -version: 1.2.19 +version: 1.2.20 diff --git a/charts/speedscale/speedscale-operator/README.md b/charts/speedscale/speedscale-operator/README.md index 1bf25f87a..a051f2333 100644 --- a/charts/speedscale/speedscale-operator/README.md +++ b/charts/speedscale/speedscale-operator/README.md @@ -101,10 +101,10 @@ _See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documen A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an incompatible breaking change needing manual actions. -### Upgrade to 1.2.19 +### Upgrade to 1.2.20 ```bash -kubectl apply --server-side -f https://raw.githubusercontent.com/speedscale/operator-helm/main/1.2.19/templates/crds/trafficreplays.yaml +kubectl apply --server-side -f https://raw.githubusercontent.com/speedscale/operator-helm/main/1.2.20/templates/crds/trafficreplays.yaml ``` ### Upgrade to 1.1.0 diff --git a/charts/speedscale/speedscale-operator/app-readme.md b/charts/speedscale/speedscale-operator/app-readme.md index 1bf25f87a..a051f2333 100644 --- a/charts/speedscale/speedscale-operator/app-readme.md +++ b/charts/speedscale/speedscale-operator/app-readme.md @@ -101,10 +101,10 @@ _See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documen A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an incompatible breaking change needing manual actions. -### Upgrade to 1.2.19 +### Upgrade to 1.2.20 ```bash -kubectl apply --server-side -f https://raw.githubusercontent.com/speedscale/operator-helm/main/1.2.19/templates/crds/trafficreplays.yaml +kubectl apply --server-side -f https://raw.githubusercontent.com/speedscale/operator-helm/main/1.2.20/templates/crds/trafficreplays.yaml ``` ### Upgrade to 1.1.0 diff --git a/charts/speedscale/speedscale-operator/values.yaml b/charts/speedscale/speedscale-operator/values.yaml index 49cbfd22d..9d491195d 100644 --- a/charts/speedscale/speedscale-operator/values.yaml +++ b/charts/speedscale/speedscale-operator/values.yaml @@ -20,7 +20,7 @@ clusterName: "my-cluster" # Speedscale components image settings. image: registry: gcr.io/speedscale - tag: v1.2.282 + tag: v1.2.296 pullPolicy: Always # Log level for Speedscale components. diff --git a/charts/yugabyte/yugabyte/Chart.yaml b/charts/yugabyte/yugabyte/Chart.yaml index a3099ceb4..52b49a383 100644 --- a/charts/yugabyte/yugabyte/Chart.yaml +++ b/charts/yugabyte/yugabyte/Chart.yaml @@ -4,17 +4,17 @@ annotations: catalog.cattle.io/kube-version: '>=1.18-0' catalog.cattle.io/release-name: yugabyte apiVersion: v1 -appVersion: 2.14.6.0-b30 +appVersion: 2.16.1.0-b50 description: YugabyteDB is the high-performance distributed SQL database for building global, internet-scale apps. home: https://www.yugabyte.com icon: https://avatars0.githubusercontent.com/u/17074854?s=200&v=4 maintainers: -- email: ram@yugabyte.com - name: Ram Sri -- email: arnav@yugabyte.com - name: Arnav Agarwal +- email: sanketh@yugabyte.com + name: Sanketh Indarapu +- email: gjalla@yugabyte.com + name: Govardhan Reddy Jalla name: yugabyte sources: - https://github.com/yugabyte/yugabyte-db -version: 2.14.6 +version: 2.16.1 diff --git a/charts/yugabyte/yugabyte/app-readme.md b/charts/yugabyte/yugabyte/app-readme.md index 151383309..415d3a539 100644 --- a/charts/yugabyte/yugabyte/app-readme.md +++ b/charts/yugabyte/yugabyte/app-readme.md @@ -1 +1 @@ -This chart bootstraps an RF3 Yugabyte DB version 2.14.6.0-b30 cluster using the Helm Package Manager. +This chart bootstraps an RF3 YugabyteDB version 2.16.1.0-b50 cluster using the Helm Package Manager. diff --git a/charts/yugabyte/yugabyte/generate_kubeconfig.py b/charts/yugabyte/yugabyte/generate_kubeconfig.py index b974c0f2d..3e2e1d5d7 100644 --- a/charts/yugabyte/yugabyte/generate_kubeconfig.py +++ b/charts/yugabyte/yugabyte/generate_kubeconfig.py @@ -11,84 +11,177 @@ from sys import exit import json import base64 import tempfile +import time +import os.path -def run_command(command_args, namespace=None, as_json=True): - command = ['kubectl'] +def run_command(command_args, namespace=None, as_json=True, log_command=True): + command = ["kubectl"] if namespace: - command.extend(['--namespace', namespace]) + command.extend(["--namespace", namespace]) command.extend(command_args) if as_json: - command.extend(['-o', 'json']) - return json.loads(check_output(command)) + command.extend(["-o", "json"]) + if log_command: + print("Running command: {}".format(" ".join(command))) + output = check_output(command) + if as_json: + return json.loads(output) else: - return check_output(command).decode('utf8') + return output.decode("utf8") -parser = argparse.ArgumentParser(description='Generate KubeConfig with Token') -parser.add_argument('-s', '--service_account', help='Service Account name', required=True) -parser.add_argument('-n', '--namespace', help='Kubernetes namespace', default='kube-system') -parser.add_argument('-c', '--context', help='kubectl context') +def create_sa_token_secret(directory, sa_name, namespace): + """Creates a service account token secret for sa_name in + namespace. Returns the name of the secret created. + + Ref: + https://k8s.io/docs/concepts/configuration/secret/#service-account-token-secrets + + """ + token_secret = { + "apiVersion": "v1", + "data": { + "do-not-delete-used-for-yugabyte-anywhere": "MQ==", + }, + "kind": "Secret", + "metadata": { + "annotations": { + "kubernetes.io/service-account.name": sa_name, + }, + "name": sa_name, + }, + "type": "kubernetes.io/service-account-token", + } + token_secret_file_name = os.path.join(directory, "token_secret.yaml") + with open(token_secret_file_name, "w") as token_secret_file: + json.dump(token_secret, token_secret_file) + run_command(["apply", "-f", token_secret_file_name], namespace) + return sa_name + + +def get_secret_data(secret, namespace): + """Returns the secret in JSON format if it has ca.crt and token in + it, else returns None. It retries 3 times with 1 second timeout + for the secret to be populated with this data. + + """ + secret_data = None + num_retries = 5 + timeout = 2 + while True: + secret_json = run_command(["get", "secret", secret], namespace) + if "ca.crt" in secret_json["data"] and "token" in secret_json["data"]: + secret_data = secret_json + break + + num_retries -= 1 + if num_retries == 0: + break + print( + "Secret '{}' is not populated. Sleep {}s, ({} retries left)".format( + secret, timeout, num_retries + ) + ) + time.sleep(timeout) + return secret_data + + +parser = argparse.ArgumentParser(description="Generate KubeConfig with Token") +parser.add_argument("-s", "--service_account", help="Service Account name", required=True) +parser.add_argument("-n", "--namespace", help="Kubernetes namespace", default="kube-system") +parser.add_argument("-c", "--context", help="kubectl context") +parser.add_argument("-o", "--output_file", help="output file path") args = vars(parser.parse_args()) # if the context is not provided we use the current-context -context = args['context'] +context = args["context"] if context is None: - context = run_command(['config', 'current-context'], - args['namespace'], as_json=False) + context = run_command(["config", "current-context"], args["namespace"], as_json=False) -cluster_attrs = run_command(['config', 'get-contexts', context.strip(), - '--no-headers'], args['namespace'], as_json=False) +cluster_attrs = run_command( + ["config", "get-contexts", context.strip(), "--no-headers"], args["namespace"], as_json=False +) cluster_name = cluster_attrs.strip().split()[2] -endpoint = run_command(['config', 'view', '-o', - 'jsonpath="{.clusters[?(@.name =="' + - cluster_name + '")].cluster.server}"'], - args['namespace'], as_json=False) -service_account_info = run_command(['get', 'sa', args['service_account']], - args['namespace']) +endpoint = run_command( + [ + "config", + "view", + "-o", + 'jsonpath="{.clusters[?(@.name =="' + cluster_name + '")].cluster.server}"', + ], + args["namespace"], + as_json=False, +) +service_account_info = run_command(["get", "sa", args["service_account"]], args["namespace"]) + +tmpdir = tempfile.TemporaryDirectory() + +# Get the token and ca.crt from service account secret. +sa_secrets = list() +# Kubernetes 1.22 onwards doesn't create a token secret, so we create +# it ourselves. +if "secrets" not in service_account_info: + token_secret = create_sa_token_secret(tmpdir.name, args["service_account"], args["namespace"]) + sa_secrets.append(token_secret) +else: + # some ServiceAccounts have multiple secrets, and not all them have a + # ca.crt and a token. + sa_secrets = [secret["name"] for secret in service_account_info["secrets"]] -# some ServiceAccounts have multiple secrets, and not all them have a -# ca.crt and a token. -sa_secrets = [secret['name'] for secret in service_account_info['secrets']] secret_data = None for secret in sa_secrets: - secret_json = run_command(['get', 'secret', secret], args['namespace']) - if 'ca.crt' not in secret_json['data'] and 'token' not in secret_json['data']: - continue - secret_data = secret_json + secret_data = get_secret_data(secret, args["namespace"]) + if secret_data is not None: + break if secret_data is None: - exit("No usable secret found for '{}'.".format(args['service_account'])) + exit("No usable secret found for '{}'.".format(args["service_account"])) -context_name = '{}-{}'.format(args['service_account'], cluster_name) -kube_config = '/tmp/{}.conf'.format(args['service_account']) +context_name = "{}-{}".format(args["service_account"], cluster_name) +kube_config = args["output_file"] +if not kube_config: + kube_config = "/tmp/{}.conf".format(args["service_account"]) -with tempfile.NamedTemporaryFile() as ca_crt_file: - ca_crt = base64.b64decode(secret_data['data']['ca.crt']) - ca_crt_file.write(ca_crt) - ca_crt_file.flush() - # create kubeconfig entry - set_cluster_cmd = ['config', 'set-cluster', cluster_name, - '--kubeconfig={}'.format(kube_config), - '--server={}'.format(endpoint.strip('"')), - '--embed-certs=true', - '--certificate-authority={}'.format(ca_crt_file.name)] - run_command(set_cluster_cmd, as_json=False) -user_token = base64.b64decode(secret_data['data']['token']).decode('utf-8') -set_credentials_cmd = ['config', 'set-credentials', context_name, - '--token={}'.format(user_token), - '--kubeconfig={}'.format(kube_config)] -run_command(set_credentials_cmd, as_json=False) +ca_crt_file_name = os.path.join(tmpdir.name, "ca.crt") +ca_crt_file = open(ca_crt_file_name, "wb") +ca_crt_file.write(base64.b64decode(secret_data["data"]["ca.crt"])) +ca_crt_file.close() -set_context_cmd = ['config', 'set-context', context_name, - '--cluster={}'.format(cluster_name), - '--user={}'.format(context_name), - '--kubeconfig={}'.format(kube_config)] +# create kubeconfig entry +set_cluster_cmd = [ + "config", + "set-cluster", + cluster_name, + "--kubeconfig={}".format(kube_config), + "--server={}".format(endpoint.strip('"')), + "--embed-certs=true", + "--certificate-authority={}".format(ca_crt_file_name), +] +run_command(set_cluster_cmd, as_json=False) + +user_token = base64.b64decode(secret_data["data"]["token"]).decode("utf-8") +set_credentials_cmd = [ + "config", + "set-credentials", + context_name, + "--token={}".format(user_token), + "--kubeconfig={}".format(kube_config), +] +run_command(set_credentials_cmd, as_json=False, log_command=False) + +set_context_cmd = [ + "config", + "set-context", + context_name, + "--cluster={}".format(cluster_name), + "--user={}".format(context_name), + "--kubeconfig={}".format(kube_config), +] run_command(set_context_cmd, as_json=False) -use_context_cmd = ['config', 'use-context', context_name, - '--kubeconfig={}'.format(kube_config)] +use_context_cmd = ["config", "use-context", context_name, "--kubeconfig={}".format(kube_config)] run_command(use_context_cmd, as_json=False) print("Generated the kubeconfig file: {}".format(kube_config)) diff --git a/charts/yugabyte/yugabyte/questions.yaml b/charts/yugabyte/yugabyte/questions.yaml index c88fd43c0..6befa49e1 100644 --- a/charts/yugabyte/yugabyte/questions.yaml +++ b/charts/yugabyte/yugabyte/questions.yaml @@ -16,7 +16,7 @@ questions: label: YugabyteDB image repository description: "YugabyteDB image repository" - variable: Image.tag - default: "2.14.1.0-b36" + default: "2.5.1.0-b153" required: true type: string label: YugabyteDB image tag diff --git a/charts/yugabyte/yugabyte/templates/_helpers.tpl b/charts/yugabyte/yugabyte/templates/_helpers.tpl index 460d711fe..72275d3d9 100644 --- a/charts/yugabyte/yugabyte/templates/_helpers.tpl +++ b/charts/yugabyte/yugabyte/templates/_helpers.tpl @@ -26,7 +26,7 @@ Generate common labels. {{- define "yugabyte.labels" }} heritage: {{ .Values.helm2Legacy | ternary "Tiller" (.Release.Service | quote) }} release: {{ .Release.Name | quote }} -chart: {{ .Values.oldNamingStyle | ternary .Chart.Name (include "yugabyte.chart" .) | quote }} +chart: {{ .Chart.Name | quote }} component: {{ .Values.Component | quote }} {{- if .Values.commonLabels}} {{ toYaml .Values.commonLabels }} @@ -122,10 +122,18 @@ Generate server FQDN. {{- define "yugabyte.server_fqdn" -}} {{- if (and .Values.istioCompatibility.enabled .Values.multicluster.createServicePerPod) -}} {{- printf "$(HOSTNAME).$(NAMESPACE).svc.%s" .Values.domainName -}} + {{- else if (and .Values.oldNamingStyle .Values.multicluster.createServiceExports) -}} + {{ $membershipName := required "A valid membership name is required! Please set multicluster.kubernetesClusterId" .Values.multicluster.kubernetesClusterId }} + {{- printf "$(HOSTNAME).%s.%s.$(NAMESPACE).svc.clusterset.local" $membershipName .Service.name -}} {{- else if .Values.oldNamingStyle -}} - {{- printf "$(HOSTNAME).%s.$(NAMESPACE).svc.%s" .Service.name .Values.domainName -}} + {{- printf "$(HOSTNAME).%s.$(NAMESPACE).svc.%s" .Service.name .Values.domainName -}} {{- else -}} - {{- printf "$(HOSTNAME).%s-%s.$(NAMESPACE).svc.%s" (include "yugabyte.fullname" .) .Service.name .Values.domainName -}} + {{- if .Values.multicluster.createServiceExports -}} + {{ $membershipName := required "A valid membership name is required! Please set multicluster.kubernetesClusterId" .Values.multicluster.kubernetesClusterId }} + {{- printf "$(HOSTNAME).%s.%s-%s.$(NAMESPACE).svc.clusterset.local" $membershipName (include "yugabyte.fullname" .) .Service.name -}} + {{- else -}} + {{- printf "$(HOSTNAME).%s-%s.$(NAMESPACE).svc.%s" (include "yugabyte.fullname" .) .Service.name .Values.domainName -}} + {{- end -}} {{- end -}} {{- end -}} @@ -140,7 +148,7 @@ Generate server broadcast address. Generate server RPC bind address. */}} {{- define "yugabyte.rpc_bind_address" -}} - {{- if .Values.istioCompatibility.enabled -}} + {{- if or .Values.istioCompatibility.enabled .Values.multicluster.createServiceExports -}} 0.0.0.0:{{ index .Service.ports "tcp-rpc-port" -}} {{- else -}} {{- include "yugabyte.server_fqdn" . -}} @@ -158,7 +166,7 @@ Generate server web interface. Generate server CQL proxy bind address. */}} {{- define "yugabyte.cql_proxy_bind_address" -}} - {{- if .Values.istioCompatibility.enabled -}} + {{- if or .Values.istioCompatibility.enabled .Values.multicluster.createServiceExports -}} 0.0.0.0:{{ index .Service.ports "tcp-yql-port" -}} {{- else -}} {{- include "yugabyte.server_fqdn" . -}} @@ -203,10 +211,10 @@ Compute the maximum number of unavailable pods based on the number of master rep Set consistent issuer name. */}} {{- define "yugabyte.tls_cm_issuer" -}} - {{- if .Values.tls.certManager.useClusterIssuer -}} - {{ .Values.tls.certManager.clusterIssuer }} - {{- else -}} + {{- if .Values.tls.certManager.bootstrapSelfsigned -}} {{ .Values.oldNamingStyle | ternary "yugabyte-selfsigned" (printf "%s-selfsigned" (include "yugabyte.fullname" .)) }} + {{- else -}} + {{ .Values.tls.certManager.useClusterIssuer | ternary .Values.tls.certManager.clusterIssuer .Values.tls.certManager.issuer}} {{- end -}} {{- end -}} diff --git a/charts/yugabyte/yugabyte/templates/certificates.yaml b/charts/yugabyte/yugabyte/templates/certificates.yaml index f8dd4acb5..5c7814de4 100644 --- a/charts/yugabyte/yugabyte/templates/certificates.yaml +++ b/charts/yugabyte/yugabyte/templates/certificates.yaml @@ -1,7 +1,7 @@ {{- $root := . -}} --- {{- if $root.Values.tls.certManager.enabled }} -{{- if not $root.Values.tls.certManager.useClusterIssuer }} +{{- if $root.Values.tls.certManager.bootstrapSelfsigned }} --- apiVersion: cert-manager.io/v1 kind: Issuer @@ -37,13 +37,38 @@ spec: ca: secretName: {{ $root.Values.oldNamingStyle | ternary "yugabyte-ca" (printf "%s-ca" (include "yugabyte.fullname" $root)) }} --- +{{- else }} +{{/* when bootstrapSelfsigned = false, ie. when using an external CA. +Create a Secret with just the rootCA.cert value and mount into master/tserver pods. +This will be used as a fall back in case the Secret generated by cert-manager does not +have a root ca.crt. This can happen for certain certificate issuers like LetsEncrypt. +*/}} +--- +apiVersion: v1 +kind: Secret +metadata: + name: {{ printf "%s-root-ca" (include "yugabyte.fullname" $root) }} + namespace: "{{ $root.Release.Namespace }}" + labels: + {{- include "yugabyte.labels" $root | indent 4 }} +type: Opaque +data: + ca.crt: {{ $root.Values.tls.rootCA.cert }} +--- {{- end }} +{{/* +The below Certificate resource will trigger cert-manager to issue crt/key into Secrets. +These secrets are mounted into master/tserver pods. +*/}} {{- range .Values.Services }} {{- $service := . -}} {{- $appLabelArgs := dict "label" .label "root" $root -}} {{- $serviceValues := (dict "Service" $service "Values" $root.Values "Chart" $root.Chart "Release" $root.Release) -}} +{{- $replicas := (eq .name "yb-masters") | ternary $root.Values.replicas.master $root.Values.replicas.tserver -}} + +{{- if (gt (int $replicas) 0) }} --- apiVersion: cert-manager.io/v1 kind: Certificate @@ -65,18 +90,17 @@ spec: secretName: {{ $root.Values.oldNamingStyle | ternary (printf "%s-yugabyte-tls-cert" $service.label) (printf "%s-%s-tls-cert" (include "yugabyte.fullname" $root) $service.label) }} duration: {{ $root.Values.tls.certManager.certificates.duration | quote }} renewBefore: {{ $root.Values.tls.certManager.certificates.renewBefore | quote }} - commonName: yugabyte-{{ .name }} isCA: false privateKey: algorithm: {{ $root.Values.tls.certManager.certificates.algorithm | quote }} encoding: PKCS8 size: {{ $root.Values.tls.certManager.certificates.keySize }} + rotationPolicy: Always usages: - server auth - client auth # At least one of a DNS Name, URI, or IP address is required. dnsNames: - {{- $replicas := (eq .name "yb-masters") | ternary $root.Values.replicas.master $root.Values.replicas.tserver -}} {{- range $index := until ( int ( $replicas ) ) }} {{- $nodeOldStyle := printf "%s-%d.%s.%s.svc.%s" $service.label $index $service.name $root.Release.Namespace $root.Values.domainName }} {{- $nodeNewStyle := printf "%s-%s-%d.%s-%s.%s.svc.%s" (include "yugabyte.fullname" $root) $service.label $index (include "yugabyte.fullname" $root) $service.name $root.Release.Namespace $root.Values.domainName }} @@ -87,6 +111,7 @@ spec: ipAddresses: [] --- {{- end }} +{{- end }} --- apiVersion: cert-manager.io/v1 @@ -114,6 +139,7 @@ spec: algorithm: {{ $root.Values.tls.certManager.certificates.algorithm | quote }} encoding: PKCS8 size: {{ $root.Values.tls.certManager.certificates.keySize }} + rotationPolicy: Always usages: - client auth dnsNames: [] diff --git a/charts/yugabyte/yugabyte/templates/multi-cluster-services/gke/service-export.yaml b/charts/yugabyte/yugabyte/templates/multi-cluster-services/gke/service-export.yaml new file mode 100644 index 000000000..270cb9ab2 --- /dev/null +++ b/charts/yugabyte/yugabyte/templates/multi-cluster-services/gke/service-export.yaml @@ -0,0 +1,20 @@ +{{- /* + Ref - https://cloud.google.com/kubernetes-engine/docs/how-to/multi-cluster-services#registering_a_service_for_export +*/}} +{{- if .Values.multicluster.createServiceExports }} +kind: ServiceExport +apiVersion: net.gke.io/v1 +metadata: + name: {{ .Values.oldNamingStyle | ternary "yb-masters" (printf "%s-%s" (include "yugabyte.fullname" .) "yb-masters") | quote }} + namespace: "{{ .Release.Namespace }}" + labels: + {{- include "yugabyte.labels" . | indent 4 }} +--- +kind: ServiceExport +apiVersion: net.gke.io/v1 +metadata: + name: {{ .Values.oldNamingStyle | ternary "yb-tservers" (printf "%s-%s" (include "yugabyte.fullname" .) "yb-tservers") | quote }} + namespace: "{{ .Release.Namespace }}" + labels: + {{- include "yugabyte.labels" . | indent 4 }} +{{ end -}} \ No newline at end of file diff --git a/charts/yugabyte/yugabyte/templates/multicluster-multiple-services.yaml b/charts/yugabyte/yugabyte/templates/multicluster-multiple-services.yaml index a26b39018..681231e29 100644 --- a/charts/yugabyte/yugabyte/templates/multicluster-multiple-services.yaml +++ b/charts/yugabyte/yugabyte/templates/multicluster-multiple-services.yaml @@ -11,6 +11,7 @@ metadata: labels: {{- include "yugabyte.applabel" ($appLabelArgs) | indent 4 }} {{- include "yugabyte.labels" $ | indent 4 }} + service-type: "non-endpoint" spec: ports: {{- range $label, $port := $server.ports }} diff --git a/charts/yugabyte/yugabyte/templates/service.yaml b/charts/yugabyte/yugabyte/templates/service.yaml index 697e4776d..8983707f6 100644 --- a/charts/yugabyte/yugabyte/templates/service.yaml +++ b/charts/yugabyte/yugabyte/templates/service.yaml @@ -46,10 +46,27 @@ data: {{- range $index := until ( int ( $replicas ) ) }} {{- $nodeOldStyle := printf "%s-%d.%s.%s.svc.%s" $service.label $index $service.name $root.Release.Namespace $root.Values.domainName }} {{- $nodeNewStyle := printf "%s-%s-%d.%s-%s.%s.svc.%s" (include "yugabyte.fullname" $root) $service.label $index (include "yugabyte.fullname" $root) $service.name $root.Release.Namespace $root.Values.domainName }} + +{{- if $root.Values.multicluster.createServiceExports -}} + {{- $nodeOldStyle = printf "%s-%d.%s.%s.%s.svc.clusterset.local" $service.label $index $root.Values.multicluster.kubernetesClusterId $service.name $root.Release.Namespace }} + {{- $nodeNewStyle = printf "%s-%s-%d.%s.%s-%s.%s.svc.clusterset.local" (include "yugabyte.fullname" $root) $service.label $index $root.Values.multicluster.kubernetesClusterId (include "yugabyte.fullname" $root) $service.name $root.Release.Namespace }} +{{- end -}} + +{{- if (and $root.Values.istioCompatibility.enabled $root.Values.multicluster.createServicePerPod) -}} + {{- $nodeOldStyle = printf "%s-%d.%s.svc.%s" $service.label $index $root.Release.Namespace $root.Values.domainName }} + {{- $nodeNewStyle = printf "%s-%s-%d.%s.svc.%s" (include "yugabyte.fullname" $root) $service.label $index $root.Release.Namespace $root.Values.domainName }} +{{- end -}} + {{- $node := $root.Values.oldNamingStyle | ternary $nodeOldStyle $nodeNewStyle }} {{- if $root.Values.tls.rootCA.key }} {{- $dns1 := printf "*.*.%s" $root.Release.Namespace }} {{- $dns2 := printf "%s.svc.%s" $dns1 $root.Values.domainName }} +{{- if $root.Values.multicluster.createServiceExports -}} + {{- $dns1 = printf "*.*.*.%s.svc.clusterset.local" $root.Release.Namespace }} +{{- end -}} +{{- if (and $root.Values.istioCompatibility.enabled $root.Values.multicluster.createServicePerPod) -}} + {{- $dns1 = printf "*.%s.svc.%s" $root.Release.Namespace $root.Values.domainName }} +{{- end -}} {{- $rootCA := buildCustomCert $root.Values.tls.rootCA.cert $root.Values.tls.rootCA.key -}} {{- $server := genSignedCert $node ( default nil ) (list $dns1 $dns2 ) 3650 $rootCA }} node.{{$node}}.crt: {{ $server.Cert | b64enc }} @@ -94,6 +111,7 @@ metadata: labels: {{- include "yugabyte.applabel" ($appLabelArgs) | indent 4 }} {{- include "yugabyte.labels" $root | indent 4 }} + service-type: "endpoint" spec: {{ if eq $root.Release.Service "Tiller" }} clusterIP: @@ -197,6 +215,9 @@ spec: labels: {{- include "yugabyte.applabel" ($appLabelArgs) | indent 8 }} {{- include "yugabyte.labels" $root | indent 8 }} + {{- if $root.Values.istioCompatibility.enabled }} + sidecar.istio.io/inject: "true" + {{- end }} {{- if eq .name "yb-masters" }} {{- with $root.Values.master.podLabels }}{{ toYaml . | nindent 8 }}{{ end }} {{- else }} @@ -214,7 +235,6 @@ spec: nodeSelector: {{ toYaml $root.Values.nodeSelector | indent 8 }} {{- end }} - terminationGracePeriodSeconds: 300 {{- if eq .name "yb-masters" }} # yb-masters {{- if $root.Values.master.tolerations }} tolerations: @@ -226,6 +246,7 @@ spec: {{- with $root.Values.tserver.tolerations }}{{ toYaml . | nindent 8 }}{{ end }} {{- end }} {{- end }} + terminationGracePeriodSeconds: 300 affinity: # Set the anti-affinity selector scope to YB masters. {{ if $root.Values.AZ }} @@ -358,10 +379,13 @@ spec: {{- $rpcPreflight := include "yugabyte.preflight_check" (set $serviceValues "Preflight" $rpcDict) -}} {{- if $rpcPreflight -}}{{ $rpcPreflight | nindent 12 }}{{ end -}} {{- $broadcastAddr := include "yugabyte.server_broadcast_address" $serviceValues -}} - {{- $broadcastPort := index $service.ports "tcp-rpc-port" -}} - {{- $broadcastDict := dict "Addr" $broadcastAddr "Port" $broadcastPort -}} - {{- $broadcastPreflight := include "yugabyte.preflight_check" (set $serviceValues "Preflight" $broadcastDict) -}} - {{- if $broadcastPreflight -}}{{ $broadcastPreflight | nindent 12 }}{{ end -}} + {{/* skip bind check for Istio multi-cluster, we cannot/don't bind to service IP */}} + {{- if (not (and $root.Values.istioCompatibility.enabled $root.Values.multicluster.createServicePerPod)) }} + {{- $broadcastPort := index $service.ports "tcp-rpc-port" -}} + {{- $broadcastDict := dict "Addr" $broadcastAddr "Port" $broadcastPort -}} + {{- $broadcastPreflight := include "yugabyte.preflight_check" (set $serviceValues "Preflight" $broadcastDict) -}} + {{- if $broadcastPreflight -}}{{ $broadcastPreflight | nindent 12 }}{{ end -}} + {{- end }} {{- $webserverAddr := include "yugabyte.webserver_interface" $serviceValues -}} {{- $webserverPort := index $service.ports "http-ui" -}} {{- $webserverDict := dict "Addr" $webserverAddr "Port" $webserverPort -}} @@ -372,6 +396,25 @@ spec: else k8s_parent="" fi && \ + {{- if and $root.Values.tls.enabled $root.Values.tls.certManager.enabled }} + echo "Creating ephemeral /opt/certs/yugabyte/ as symlink to persisted /mnt/disk0/certs/" && \ + mkdir -p /mnt/disk0/certs && \ + mkdir -p /opt/certs && \ + ln -s /mnt/disk0/certs /opt/certs/yugabyte && \ + if [[ ! -f /opt/certs/yugabyte/ca.crt ]]; then + echo "Fresh install of /opt/certs/yugabyte/ca.crt" + cp /home/yugabyte/cert-manager/ca.crt /opt/certs/yugabyte/ca.crt; + fi && \ + cmp -s /home/yugabyte/cert-manager/ca.crt /opt/certs/yugabyte/ca.crt;sameRootCA=$? && \ + if [[ $sameRootCA -eq 0 ]]; then + echo "Refreshing tls certs at /opt/certs/yugabyte/"; + cp /home/yugabyte/cert-manager/tls.crt /opt/certs/yugabyte/node.{{$rpcAddr}}.crt; + cp /home/yugabyte/cert-manager/tls.key /opt/certs/yugabyte/node.{{$rpcAddr}}.key; + chmod 600 /opt/certs/yugabyte/* + else + echo "WARNING: Not refreshing certificates as the root ca.crt has changed" + fi && \ + {{- end }} {{- if eq .name "yb-masters" }} exec ${k8s_parent} /home/yugabyte/bin/yb-master \ {{- if not $root.Values.storage.ephemeral }} @@ -487,7 +530,7 @@ spec: {{- end }} {{- if $root.Values.tls.enabled }} - name: {{ $root.Values.oldNamingStyle | ternary (printf "%s-yugabyte-tls-cert" .label) (printf "%s-%s-tls-cert" (include "yugabyte.fullname" $root) .label) }} - mountPath: /opt/certs/yugabyte + mountPath: {{ $root.Values.tls.certManager.enabled | ternary "/home/yugabyte/cert-manager" "/opt/certs/yugabyte" }} readOnly: true - name: {{ $root.Values.oldNamingStyle | ternary "yugabyte-tls-client-cert" (printf "%s-client-tls" (include "yugabyte.fullname" $root)) }} mountPath: /root/.yugabytedb/ @@ -537,25 +580,24 @@ spec: {{- end }} {{- end }} {{- if $root.Values.tls.enabled }} + {{- if $root.Values.tls.certManager.enabled }} + {{- /* certManager enabled */}} + - name: {{ $root.Values.oldNamingStyle | ternary (printf "%s-yugabyte-tls-cert" .label) (printf "%s-%s-tls-cert" (include "yugabyte.fullname" $root) .label) }} + projected: + sources: + {{- if not $root.Values.tls.certManager.bootstrapSelfsigned }} + - secret: + name: {{ printf "%s-root-ca" (include "yugabyte.fullname" $root) }} + {{- end }} + - secret: + name: {{ $root.Values.oldNamingStyle | ternary (printf "%s-yugabyte-tls-cert" .label) (printf "%s-%s-tls-cert" (include "yugabyte.fullname" $root) .label) }} + {{- else }} + {{/* certManager disabled */}} - name: {{ $root.Values.oldNamingStyle | ternary (printf "%s-yugabyte-tls-cert" .label) (printf "%s-%s-tls-cert" (include "yugabyte.fullname" $root) .label) }} secret: secretName: {{ $root.Values.oldNamingStyle | ternary (printf "%s-yugabyte-tls-cert" .label) (printf "%s-%s-tls-cert" (include "yugabyte.fullname" $root) .label) }} - {{- if $root.Values.tls.certManager.enabled }} - items: - {{- $replicas := (eq .name "yb-masters") | ternary $root.Values.replicas.master $root.Values.replicas.tserver -}} - {{- range $index := until ( int ( $replicas ) ) }} - {{- $nodeOldStyle := printf "%s-%d.%s.%s.svc.%s" $service.label $index $service.name $root.Release.Namespace $root.Values.domainName }} - {{- $nodeNewStyle := printf "%s-%s-%d.%s-%s.%s.svc.%s" (include "yugabyte.fullname" $root) $service.label $index (include "yugabyte.fullname" $root) $service.name $root.Release.Namespace $root.Values.domainName }} - {{- $node := $root.Values.oldNamingStyle | ternary $nodeOldStyle $nodeNewStyle }} - - key: tls.crt - path: node.{{$node}}.crt - - key: tls.key - path: node.{{$node}}.key - {{- end }} - - key: ca.crt - path: ca.crt - {{- end }} defaultMode: 256 + {{- end }} - name: {{ $root.Values.oldNamingStyle | ternary "yugabyte-tls-client-cert" (printf "%s-client-tls" (include "yugabyte.fullname" $root)) }} secret: secretName: {{ $root.Values.oldNamingStyle | ternary "yugabyte-tls-client-cert" (printf "%s-client-tls" (include "yugabyte.fullname" $root)) }} diff --git a/charts/yugabyte/yugabyte/values.yaml b/charts/yugabyte/yugabyte/values.yaml index 1d14fe435..19b8ccf83 100644 --- a/charts/yugabyte/yugabyte/values.yaml +++ b/charts/yugabyte/yugabyte/values.yaml @@ -4,7 +4,7 @@ Component: "yugabytedb" Image: repository: "yugabytedb/yugabyte" - tag: 2.14.6.0-b30 + tag: 2.16.1.0-b50 pullPolicy: IfNotPresent storage: @@ -52,10 +52,14 @@ tls: # Set enabled to true to use cert-manager instead of providing your own rootCA certManager: enabled: false - # Will create own ca certificate and issuer when set to false + # Will create own ca certificate and issuer when set to true + bootstrapSelfsigned: true + # Use ClusterIssuer when set to true, otherwise use Issuer useClusterIssuer: false - # ignored when useClusterIssuer is false + # Name of ClusterIssuer to use when useClusterIssuer is true clusterIssuer: cluster-ca + # Name of Issuer to use when useClusterIssuer is false + issuer: yugabyte-ca certificates: # The lifetime before cert-manager will issue a new certificate. # The re-issued certificates will not be automatically reloaded by the service. @@ -67,10 +71,14 @@ tls: # Or 256, 384 or 521 for ECDSA keySize: 521 - # Will be ignored when certManager.enabled=true + ## When certManager.enabled=false, rootCA.cert and rootCA.key are used to generate TLS certs. + ## When certManager.enabled=true and boostrapSelfsigned=true, rootCA is ignored. + ## When certManager.enabled=true and bootstrapSelfsigned=false, only rootCA.cert is used + ## to verify TLS certs generated and signed by the external provider. rootCA: cert: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM2VENDQWRHZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFXTVJRd0VnWURWUVFERXd0WmRXZGgKWW5sMFpTQkVRakFlRncweE9UQXlNRGd3TURRd01qSmFGdzB5T1RBeU1EVXdNRFF3TWpKYU1CWXhGREFTQmdOVgpCQU1UQzFsMVoyRmllWFJsSUVSQ01JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCnVOMWF1aWc4b2pVMHM0OXF3QXhrT2FCaHkwcTlyaVg2akVyZWJyTHJOWDJOeHdWQmNVcWJkUlhVc3VZNS96RUQKUC9CZTNkcTFuMm9EQ2ZGVEwweGkyNFdNZExRcnJBMndCdzFtNHM1WmQzcEJ1U04yWHJkVVhkeUx6dUxlczJNbgovckJxcWRscXp6LzAyTk9TOE9SVFZCUVRTQTBSOFNMQ1RjSGxMQmRkMmdxZ1ZmemVXRlVObXhWQ2EwcHA5UENuCmpUamJJRzhJWkh5dnBkTyt3aURQM1Y1a1ZEaTkvbEtUaGUzcTFOeDg5VUNFcnRJa1pjSkYvWEs3aE90MU1sOXMKWDYzb2lVMTE1Q2svbGFGRjR6dWgrZk9VenpOVXRXeTc2RE92cm5pVGlaU0tQZDBBODNNa2l2N2VHaDVkV3owWgpsKzJ2a3dkZHJaRzVlaHhvbGhGS3pRSURBUUFCbzBJd1FEQU9CZ05WSFE4QkFmOEVCQU1DQXFRd0hRWURWUjBsCkJCWXdGQVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUZCd01DTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RFFZSktvWkkKaHZjTkFRRUxCUUFEZ2dFQkFEQjVRbmlYd1ptdk52eG5VbS9sTTVFbms3VmhTUzRUZldIMHY4Q0srZWZMSVBTbwpVTkdLNXU5UzNEUWlvaU9SN1Vmc2YrRnk1QXljMmNUY1M2UXBxTCt0V1QrU1VITXNJNk9oQ05pQ1gvQjNKWERPCkd2R0RIQzBVOHo3aWJTcW5zQ2Rid05kajAyM0lwMHVqNE9DVHJ3azZjd0RBeXlwVWkwN2tkd28xYWJIWExqTnAKamVQMkwrY0hkc2dKM1N4WWpkK1kvei9IdmFrZG1RZDJTL1l2V0R3aU1SRDkrYmZXWkJVRHo3Y0QyQkxEVmU0aAp1bkFaK3NyelR2Sjd5dkVodzlHSDFyajd4Qm9VNjB5SUUrYSszK2xWSEs4WnBSV0NXMnh2eWNrYXJSKytPS2NKClFsL04wWExqNWJRUDVoUzdhOTdhQktTamNqY3E5VzNGcnhJa2tKST0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" key: "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdU4xYXVpZzhvalUwczQ5cXdBeGtPYUJoeTBxOXJpWDZqRXJlYnJMck5YMk54d1ZCCmNVcWJkUlhVc3VZNS96RURQL0JlM2RxMW4yb0RDZkZUTDB4aTI0V01kTFFyckEyd0J3MW00czVaZDNwQnVTTjIKWHJkVVhkeUx6dUxlczJNbi9yQnFxZGxxenovMDJOT1M4T1JUVkJRVFNBMFI4U0xDVGNIbExCZGQyZ3FnVmZ6ZQpXRlVObXhWQ2EwcHA5UENualRqYklHOElaSHl2cGRPK3dpRFAzVjVrVkRpOS9sS1RoZTNxMU54ODlVQ0VydElrClpjSkYvWEs3aE90MU1sOXNYNjNvaVUxMTVDay9sYUZGNHp1aCtmT1V6ek5VdFd5NzZET3ZybmlUaVpTS1BkMEEKODNNa2l2N2VHaDVkV3owWmwrMnZrd2RkclpHNWVoeG9saEZLelFJREFRQUJBb0lCQUJsdW1tU3gxR1djWER1Mwpwei8wZEhWWkV4c2NsU3U0SGRmZkZPcTF3cFlCUjlmeGFTZGsxQzR2YXF1UjhMaWl6WWVtVWViRGgraitkSnlSCmpwZ2JNaDV4S1BtRkw5empwU3ZUTkN4UHB3OUF5bm5sM3dyNHZhcU1CTS9aZGpuSGttRC9kQzBadEEvL0JIZ3YKNHk4d3VpWCsvUWdVaER0Z1JNcmR1ZUZ1OVlKaFo5UE9jYXkzSkkzMFhEYjdJSS9vNFNhYnhTcFI3bTg5WjY0NwpUb3hsOEhTSzl0SUQxbkl1bHVpTmx1dHI1RzdDdE93WTBSc2N5dmZ2elg4a1d2akpLZVJVbmhMSCtXVFZOaExICjdZc0tMNmlLa1NkckMzeWVPWnV4R0pEbVdrZVgxTzNPRUVGYkc4TjVEaGNqL0lXbDh1dGt3LzYwTEthNHBCS2cKTXhtNEx3RUNnWUVBNnlPRkhNY2pncHYxLzlHZC8yb3c2YmZKcTFjM1dqQkV2cnM2ZXNyMzgrU3UvdVFneXJNcAo5V01oZElpb2dYZjVlNjV5ZlIzYVBXcjJJdWMxZ0RUNlYycDZFR2h0NysyQkF1YkIzczloZisycVNRY1lkS3pmCnJOTDdKalE4ZEVGZWdYd041cHhKOTRTTVFZNEI4Qm9hOHNJWTd3TzU4dHpVMjZoclVnanFXQ1VDZ1lFQXlVUUIKNzViWlh6MGJ5cEc5NjNwYVp0bGlJY0cvUk1XMnVPOE9rVFNYSGdDSjBob25uRm5IMGZOc1pGTHdFWEtnTTRORworU3ZNbWtUekE5eVVSMHpIMFJ4UW44L1YzVWZLT2k5RktFeWx6NzNiRkV6ZW1QSEppQm12NWQ4ZTlOenZmU0E0CkdpRTYrYnFyV3VVWWRoRWlYTnY1SFNPZ3I4bUx1TzJDbGlmNTg0a0NnWUFlZzlDTmlJWmlOODAzOHNNWFYzZWIKalI5ZDNnYXY3SjJ2UnVyeTdvNDVGNDlpUXNiQ3AzZWxnY1RnczY5eWhkaFpwYXp6OGNEVndhREpyTW16cHF4cQpWY1liaFFIblppSWM5MGRubS9BaVF2eWJWNUZqNnQ5b05VVWtreGpaV1haalJXOGtZMW55QmtDUmJWVnhER0k4CjZOV0ZoeTFGaUVVVGNJcms3WVZFQlFLQmdRREpHTVIrYWRFamtlRlUwNjVadkZUYmN0VFVPY3dzb1Foalc2akkKZVMyTThxakNYeE80NnhQMnVTeFNTWFJKV3FpckQ3NDRkUVRvRjRCaEdXS21veGI3M3pqSGxWaHcwcXhDMnJ4VQorZENxODE0VXVJR3BlOTBMdWU3QTFlRU9kRHB1WVdUczVzc1FmdTE3MG5CUWQrcEhzaHNFZkhhdmJjZkhyTGpQCjQzMmhVUUtCZ1FDZ3hMZG5Pd2JMaHZLVkhhdTdPVXQxbGpUT240SnB5bHpnb3hFRXpzaDhDK0ZKUUQ1bkFxZXEKZUpWSkNCd2VkallBSDR6MUV3cHJjWnJIN3IyUTBqT2ZFallwU1dkZGxXaWh4OTNYODZ0aG83UzJuUlYrN1hNcQpPVW9ZcVZ1WGlGMWdMM1NGeHZqMHhxV3l0d0NPTW5DZGFCb0M0Tkw3enJtL0lZOEUwSkw2MkE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=" + ## When tls.certManager.enabled=false ## nodeCert and clientCert will be used only when rootCA.key is empty. ## Will be ignored and genSignedCert will be used to generate ## node and client certs if rootCA.key is provided. @@ -139,7 +147,8 @@ Services: http-yedis-met: "11000" http-ysql-met: "13000" -## Should be set to true only if Istio is being used. +## Should be set to true only if Istio is being used. This also adds +## the Istio sidecar injection labels to the pods. ## TODO: remove this once ## https://github.com/yugabyte/yugabyte-db/issues/5641 is fixed. ## @@ -156,6 +165,18 @@ multicluster: ## failover. Useful when using new naming style. createCommonTserverService: false + ## Enable it to deploy YugabyteDB in a multi-cluster services enabled + ## Kubernetes cluster (KEP-1645). This will create ServiceExport. + ## GKE Ref - https://cloud.google.com/kubernetes-engine/docs/how-to/multi-cluster-services#registering_a_service_for_export + ## You can use this gist for the reference to deploy the Yugabyte DB in a multi-cluster scenario. + ## Gist - https://gist.github.com/baba230896/78cc9bb6f4ba0b3d0e611cd49ed201bf + createServiceExports: false + + ## Mandatory variable when createServiceExports is set to true. + ## Use: In case of GKE, you need to pass GKE Hub Membership Name. + ## GKE Ref - https://cloud.google.com/kubernetes-engine/docs/how-to/multi-cluster-services#enabling + kubernetesClusterId: "" + serviceMonitor: ## If true, two ServiceMonitor CRs are created. One for yb-master ## and one for yb-tserver diff --git a/charts/yugabyte/yugaware/Chart.yaml b/charts/yugabyte/yugaware/Chart.yaml index 860771f80..41f39b7b8 100644 --- a/charts/yugabyte/yugaware/Chart.yaml +++ b/charts/yugabyte/yugaware/Chart.yaml @@ -4,8 +4,11 @@ annotations: catalog.cattle.io/kube-version: '>=1.18-0' catalog.cattle.io/release-name: yugaware apiVersion: v1 -appVersion: 2.14.6.0-b30 -description: YugaWare is YugaByte Database's Orchestration and Management console. +appVersion: 2.16.1.0-b50 +description: YugabyteDB Anywhere provides deployment, orchestration, and monitoring + for managing YugabyteDB clusters. YugabyteDB Anywhere can create a YugabyteDB cluster + with multiple pods provided by Kubernetes or OpenShift and logically grouped together + to form one logical distributed database. home: https://www.yugabyte.com icon: https://avatars0.githubusercontent.com/u/17074854?s=200&v=4 maintainers: @@ -14,4 +17,4 @@ maintainers: - email: arnav@yugabyte.com name: Arnav Agarwal name: yugaware -version: 2.14.6 +version: 2.16.1 diff --git a/charts/yugabyte/yugaware/README.md b/charts/yugabyte/yugaware/README.md index fa27ce3e0..0d190c0be 100644 --- a/charts/yugabyte/yugaware/README.md +++ b/charts/yugabyte/yugaware/README.md @@ -1,5 +1,7 @@ YugabyteDB Anywhere gives you the simplicity and support to deliver a private database-as-a-service (DBaaS) at scale. Use YugabyteDB Anywhere to deploy YugabyteDB across any cloud anywhere in the world with a few clicks, simplify day 2 operations through automation, and get the services needed to realize business outcomes with the database. -YugabyteDB Anywhere can be deployed using this helm chart. Detailed documentation is available at +YugabyteDB Anywhere can be deployed using this Helm chart. Detailed documentation is available at: +- [Install YugabyteDB Anywhere software - Kubernetes](https://docs.yugabyte.com/preview/yugabyte-platform/install-yugabyte-platform/install-software/kubernetes/) +- [Install YugabyteDB Anywhere software - OpenShift (Helm based)](https://docs.yugabyte.com/preview/yugabyte-platform/install-yugabyte-platform/install-software/openshift/#helm-based-installation) [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/yugabyte)](https://artifacthub.io/packages/search?repo=yugabyte) diff --git a/charts/yugabyte/yugaware/questions.yaml b/charts/yugabyte/yugaware/questions.yaml index 0f2a48dd3..904b9cf75 100644 --- a/charts/yugabyte/yugaware/questions.yaml +++ b/charts/yugabyte/yugaware/questions.yaml @@ -15,7 +15,7 @@ questions: label: Yugabyte Platform image repository description: "Yugabyte Platform image repository" - variable: image.tag - default: "2.14.1.0-b36" + default: "2.5.1.0-b153" required: false type: string label: Yugabyte Platform image tag diff --git a/charts/yugabyte/yugaware/templates/configs.yaml b/charts/yugabyte/yugaware/templates/configs.yaml index 6b3270bff..64702e65c 100644 --- a/charts/yugabyte/yugaware/templates/configs.yaml +++ b/charts/yugabyte/yugaware/templates/configs.yaml @@ -180,7 +180,7 @@ data: {{- end }} proxy_http_version 1.1; proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; @@ -211,11 +211,18 @@ metadata: data: pg-upgrade-11-to-14.sh: | #!/bin/bash + set -x -o errexit - if [ ! "$(ls -A /var/lib/postgresql/14/data)" ] && [ "$(ls -A /var/lib/postgresql/11/data)" ]; + cd /pg_upgrade_logs/ + if [ ! "$(ls -A ${PGDATANEW})" ] && [ "$(ls -A ${PGDATAOLD})" ]; then - docker-upgrade pg_upgrade >> /pg_upgrade_logs/pg_upgrade_11_to_14.log; - echo "host all all all scram-sha-256" >> /var/lib/postgresql/14/data/pg_hba.conf; + echo "Upgrading PG data from ${PGDATAOLD} to ${PGDATANEW}" + # if fsGroup is set, we need to remove the sticky bit, and group + # write permission from the directories + chmod -R g-w-s "${PGDATAOLD}" + chmod g-w-s "${PGDATAOLD}" + docker-upgrade pg_upgrade | tee -a /pg_upgrade_logs/pg_upgrade_11_to_14.log; + echo "host all all all scram-sha-256" >> "${PGDATANEW}/pg_hba.conf"; fi --- apiVersion: v1 @@ -245,6 +252,8 @@ data: uwsgi_temp_path /tmp/uwsgi_temp; scgi_temp_path /tmp/scgi_temp; + proxy_read_timeout {{ .Values.nginx.proxyReadTimeoutSec }}; + include /etc/nginx/mime.types; default_type application/octet-stream; diff --git a/charts/yugabyte/yugaware/templates/statefulset.yaml b/charts/yugabyte/yugaware/templates/statefulset.yaml index 8997fba53..4a45694d9 100644 --- a/charts/yugabyte/yugaware/templates/statefulset.yaml +++ b/charts/yugabyte/yugaware/templates/statefulset.yaml @@ -25,6 +25,9 @@ spec: {{- end }} labels: app: {{ .Release.Name }}-yugaware +{{- if .Values.yugaware.pod.labels }} +{{ toYaml .Values.yugaware.pod.labels | indent 8 }} +{{- end }} spec: serviceAccountName: {{ .Release.Name }} imagePullSecrets: @@ -36,6 +39,30 @@ spec: fsGroupChangePolicy: {{ .Values.securityContext.fsGroupChangePolicy }} {{- end }} {{- end }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 8}} + {{- end }} + {{- if .Values.tolerations }} + tolerations: + {{- with .Values.tolerations }}{{ toYaml . | nindent 8 }}{{ end }} + {{- end }} + {{- if .Values.zoneAffinity }} + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: failure-domain.beta.kubernetes.io/zone + operator: In + values: +{{ toYaml .Values.zoneAffinity | indent 18 }} + - matchExpressions: + - key: topology.kubernetes.io/zone + operator: In + values: +{{ toYaml .Values.zoneAffinity | indent 18 }} + {{- end }} volumes: - name: yugaware-storage persistentVolumeClaim: @@ -136,13 +163,26 @@ spec: - 'bash' - '-c' - /bin/bash /pg_upgrade_11_to_14/pg-upgrade-11-to-14.sh; + env: + - name: PGDATANEW + value: /var/lib/postgresql/14/pgdata + - name: PGDATAOLD + value: /var/lib/postgresql/11/pgdata + # https://github.com/tianon/docker-postgres-upgrade/issues/10#issuecomment-523020113 + - name: PGUSER + valueFrom: + secretKeyRef: + name: {{ .Release.Name }}-yugaware-global-config + key: postgres_user + - name: POSTGRES_INITDB_ARGS + value: "-U $PGUSER" volumeMounts: - name: yugaware-storage - mountPath: /var/lib/postgresql/11/data - subPath: postgres_data/pgdata + mountPath: /var/lib/postgresql/11/ + subPath: postgres_data - name: yugaware-storage - mountPath: /var/lib/postgresql/14/data - subPath: postgres_data_14/pgdata + mountPath: /var/lib/postgresql/14/ + subPath: postgres_data_14 - name: pg-upgrade-11-to-14 mountPath: /pg_upgrade_11_to_14 - name: yugaware-storage @@ -153,6 +193,7 @@ spec: - name: postgres image: {{ include "full_image" (dict "containerName" "postgres" "root" .) }} imagePullPolicy: {{ .Values.image.pullPolicy }} + args: ["-c", "huge_pages=off"] env: - name: POSTGRES_USER valueFrom: @@ -230,6 +271,9 @@ spec: - --web.enable-admin-api - --web.enable-lifecycle - --storage.tsdb.retention.time={{ .Values.prometheus.retentionTime }} + - --query.max-concurrency={{ .Values.prometheus.queryConcurrency }} + - --query.max-samples={{ .Values.prometheus.queryMaxSamples }} + - --query.timeout={{ .Values.prometheus.queryTimeout }} ports: - containerPort: 9090 - name: yugaware @@ -288,6 +332,9 @@ spec: - name: yugaware-storage mountPath: /opt/yugabyte/releases/ subPath: releases + - name: yugaware-storage + mountPath: /opt/yugabyte/ybc/releases/ + subPath: ybc_releases # old path for backward compatibility - name: yugaware-storage mountPath: /opt/releases/ diff --git a/charts/yugabyte/yugaware/values.yaml b/charts/yugabyte/yugaware/values.yaml index ca110f661..d14a04898 100644 --- a/charts/yugabyte/yugaware/values.yaml +++ b/charts/yugabyte/yugaware/values.yaml @@ -8,7 +8,7 @@ image: # including the yugaware image repository: quay.io/yugabyte/yugaware - tag: 2.14.6.0-b30 + tag: 2.16.1.0-b50 pullPolicy: IfNotPresent pullSecret: yugabyte-k8s-pull-secret ## Docker config JSON File name @@ -32,12 +32,12 @@ image: prometheus: registry: "" - tag: v2.37.0 + tag: v2.41.0 name: prom/prometheus nginx: registry: "" - tag: 1.23.1 + tag: 1.23.3 name: nginxinc/nginx-unprivileged yugaware: @@ -58,6 +58,7 @@ yugaware: type: "LoadBalancer" pod: annotations: {} + labels: {} health: username: "" password: "" @@ -69,7 +70,7 @@ yugaware: enableProxyMetricsAuth: true ## List of additional alowed CORS origins in case of complex rev-proxy additionAllowedCorsOrigins: [] - proxyEndpointTimeoutMs: 1 minute + proxyEndpointTimeoutMs: 3 minute ## Enables features specific for cloud deployments cloud: enabled: false @@ -150,6 +151,8 @@ nginx: cpu: 0.25 memory: 300Mi + proxyReadTimeoutSec: 600 + rbac: ## Set this to false if you don't have enough permissions to create ## ClusterRole and Binding, for example an OpenShift cluster. When @@ -165,11 +168,41 @@ ocpCompatibility: # Extra containers to add to the pod. sidecars: [] +## Following two controls for placement of pod - nodeSelector and AZ affinity. +## Note: Remember to also provide a yugaware.StorageClass that has a olumeBindingMode of +## WaitForFirstConsumer so that the PVC is created in the right topology visible to this pod. +## See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector +## eg. +## nodeSelector: +## topology.kubernetes.io/region: us-west1 +nodeSelector: {} + +## Affinity to a particular zone for the pod. +## See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity +## eg. +## nodeAffinity: +## requiredDuringSchedulingIgnoredDuringExecution: +## nodeSelectorTerms: +## - matchExpressions: +## - key: failure-domain.beta.kubernetes.io/zone +## operator: In +## values: +## - us-west1-a +## - us-west1-b +zoneAffinity: {} + +## The tolerations that the pod should have. +## See https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ +tolerations: [] + ## Don't want prometheus to scrape nodes and evaluate alert rules in some cases (for example - cloud). prometheus: scrapeNodes: true evaluateAlertRules: true retentionTime: 15d + queryConcurrency: 20 + queryMaxSamples: 5000000 + queryTimeout: 30s resources: requests: diff --git a/index.yaml b/index.yaml index f1057d89c..f9c2dc5df 100644 --- a/index.yaml +++ b/index.yaml @@ -646,6 +646,42 @@ entries: - assets/ambassador/ambassador-6.7.1100.tgz version: 6.7.1100 argo-cd: + - annotations: + artifacthub.io/changes: | + - kind: added + description: Configurable dnsPolicy / hostNetwork + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Argo CD + catalog.cattle.io/kube-version: '>=1.22.0-0' + catalog.cattle.io/release-name: argo-cd + apiVersion: v2 + appVersion: v2.5.10 + created: "2023-02-07T14:30:14.734475182Z" + dependencies: + - condition: redis-ha.enabled + name: redis-ha + repository: file://./charts/redis-ha + version: 4.22.4 + description: A Helm chart for Argo CD, a declarative, GitOps continuous delivery + tool for Kubernetes. + digest: bfae976974c29068c9e3ba5ddb172b73048b9dc56029825b4322551d58b5068b + home: https://github.com/argoproj/argo-helm + icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png + keywords: + - argoproj + - argocd + - gitops + kubeVersion: '>=1.22.0-0' + maintainers: + - name: argoproj + url: https://argoproj.github.io/ + name: argo-cd + sources: + - https://github.com/argoproj/argo-helm/tree/main/charts/argo-cd + - https://github.com/argoproj/argo-cd + urls: + - assets/argo/argo-cd-5.19.15.tgz + version: 5.19.15 - annotations: artifacthub.io/changes: | - kind: fixed @@ -4917,6 +4953,47 @@ entries: - assets/confluent/confluent-for-kubernetes-0.174.2101.tgz version: 0.174.2101 consul: + - annotations: + artifacthub.io/images: | + - name: consul + image: hashicorp/consul:1.14.4 + - name: consul-k8s-control-plane + image: hashicorp/consul-k8s-control-plane:1.0.3 + - name: consul-dataplane + image: hashicorp/consul-dataplane:1.0.1 + - name: envoy + image: envoyproxy/envoy:v1.23.1 + artifacthub.io/license: MPL-2.0 + artifacthub.io/links: | + - name: Documentation + url: https://www.consul.io/docs/k8s + - name: hashicorp/consul + url: https://github.com/hashicorp/consul + - name: hashicorp/consul-k8s + url: https://github.com/hashicorp/consul-k8s + artifacthub.io/prerelease: "false" + artifacthub.io/signKey: | + fingerprint: C874011F0AB405110D02105534365D9472D7468F + url: https://keybase.io/hashicorp/pgp_keys.asc + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Hashicorp Consul + catalog.cattle.io/kube-version: '>=1.21.0-0' + catalog.cattle.io/release-name: consul + apiVersion: v2 + appVersion: 1.14.4 + created: "2023-02-07T14:30:17.119540709Z" + description: Official HashiCorp Consul Chart + digest: fc8636902942f5b5704fca6b68581f6ad2ff4fc614e037b4c15ce961dfdee5ea + home: https://www.consul.io + icon: https://raw.githubusercontent.com/hashicorp/consul-k8s/main/assets/icon.png + kubeVersion: '>=1.21.0-0' + name: consul + sources: + - https://github.com/hashicorp/consul + - https://github.com/hashicorp/consul-k8s + urls: + - assets/hashicorp/consul-1.0.3.tgz + version: 1.0.3 - annotations: artifacthub.io/images: | - name: consul @@ -5692,6 +5769,43 @@ entries: - assets/weka/csi-wekafsplugin-0.6.400.tgz version: 0.6.400 datadog: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Datadog + catalog.cattle.io/kube-version: '>=1.10-0' + catalog.cattle.io/release-name: datadog + apiVersion: v1 + appVersion: "7" + created: "2023-02-07T14:30:16.168918395Z" + dependencies: + - condition: clusterAgent.metricsProvider.useDatadogMetrics + name: datadog-crds + repository: https://helm.datadoghq.com + tags: + - install-crds + version: 0.4.7 + - condition: datadog.kubeStateMetricsEnabled + name: kube-state-metrics + repository: https://prometheus-community.github.io/helm-charts + version: 2.13.2 + description: Datadog Agent + digest: ff1fc4f072678cf29c393aaf3e89851fc8f3f29fdaf47844890ab2159c804dd8 + home: https://www.datadoghq.com + icon: https://datadog-live.imgix.net/img/dd_logo_70x75.png + keywords: + - monitoring + - alerting + - metric + maintainers: + - email: support@datadoghq.com + name: Datadog + name: datadog + sources: + - https://app.datadoghq.com/account/settings#agent/kubernetes + - https://github.com/DataDog/datadog-agent + urls: + - assets/datadog/datadog-3.10.5.tgz + version: 3.10.5 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Datadog @@ -9870,6 +9984,22 @@ entries: - assets/instana/instana-agent-1.0.2900.tgz version: 1.0.2900 intel-device-plugins-operator: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Intel Device Plugins Operator + catalog.cattle.io/kube-version: '>=1.19-0' + catalog.cattle.io/release-name: intel-device-plugins-operator + apiVersion: v2 + appVersion: 0.26.0 + created: "2023-02-07T14:30:17.16684447Z" + description: A Helm chart for Intel Device Plugins Operator for Kubernetes + digest: d214fbee747147c6414b903d5cbc6a1dcaf1c004cce4a6717b8b014e5ba8b42a + icon: https://avatars.githubusercontent.com/u/17888862?s=200&v=4 + name: intel-device-plugins-operator + type: application + urls: + - assets/intel/intel-device-plugins-operator-0.26.0.tgz + version: 0.26.0 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Intel Device Plugins Operator @@ -10040,6 +10170,54 @@ entries: - assets/jaeger/jaeger-operator-2.36.0.tgz version: 2.36.0 jenkins: + - annotations: + artifacthub.io/images: | + - name: jenkins + image: jenkins/jenkins:2.375.2-jdk11 + - name: k8s-sidecar + image: kiwigrid/k8s-sidecar:1.15.0 + - name: inbound-agent + image: jenkins/inbound-agent:4.11.2-4 + - name: backup + image: maorfr/kube-tasks:0.2.0 + artifacthub.io/links: | + - name: Chart Source + url: https://github.com/jenkinsci/helm-charts/tree/main/charts/jenkins + - name: Jenkins + url: https://www.jenkins.io/ + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Jenkins + catalog.cattle.io/kube-version: '>=1.14-0' + catalog.cattle.io/release-name: jenkins + apiVersion: v2 + appVersion: 2.375.2 + created: "2023-02-07T14:30:17.233687215Z" + description: Jenkins - Build great things at any scale! The leading open source + automation server, Jenkins provides hundreds of plugins to support building, + deploying and automating any project. + digest: d7e976f71cfd28fe81059391d20dfb0183edcf20e67fd53425915c869dab5f2f + home: https://jenkins.io/ + icon: https://get.jenkins.io/art/jenkins-logo/logo.svg + maintainers: + - email: maor.friedman@redhat.com + name: maorfr + - email: mail@torstenwalter.de + name: torstenwalter + - email: garridomota@gmail.com + name: mogaal + - email: wmcdona89@gmail.com + name: wmcdona89 + - email: timjacomb1@gmail.com + name: timja + name: jenkins + sources: + - https://github.com/jenkinsci/jenkins + - https://github.com/jenkinsci/docker-inbound-agent + - https://github.com/maorfr/kube-tasks + - https://github.com/jenkinsci/configuration-as-code-plugin + urls: + - assets/jenkins/jenkins-4.3.1.tgz + version: 4.3.1 - annotations: artifacthub.io/images: | - name: jenkins @@ -12366,6 +12544,37 @@ entries: - assets/bitnami/kafka-19.0.1.tgz version: 19.0.1 kamaji: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Kamaji - Managed Kubernetes Service + catalog.cattle.io/kube-version: '>=1.21.0-0' + catalog.cattle.io/release-name: kamaji + apiVersion: v2 + appVersion: v0.2.0 + created: "2023-02-07T14:30:16.048952595Z" + description: Kamaji is a tool aimed to build and operate a Managed Kubernetes + Service with a fraction of the operational burden. With Kamaji, you can deploy + and operate hundreds of Kubernetes clusters as a hyper-scaler. + digest: f9c72e2af76a60fbe32d8e7354f860fdb4bbaaf70c32d30f8607f4d746f04b5d + home: https://github.com/clastix/kamaji + icon: https://github.com/clastix/kamaji/raw/master/assets/kamaji-logo.png + kubeVersion: '>=1.21.0-0' + maintainers: + - email: dario@tranchitella.eu + name: Dario Tranchitella + - email: me@maxgio.it + name: Massimiliano Giovagnoli + - email: me@bsctl.io + name: Adriano Pezzuto + - email: iam@mendrugory.com + name: Gonzalo Gabriel JimĂ©nez Fuentes + name: kamaji + sources: + - https://github.com/clastix/kamaji + type: application + urls: + - assets/clastix/kamaji-0.11.0.tgz + version: 0.11.0 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Kamaji - Managed Kubernetes Service @@ -12472,6 +12681,33 @@ entries: - assets/elastic/kibana-7.17.3.tgz version: 7.17.3 kong: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Kong Gateway + catalog.cattle.io/release-name: kong + apiVersion: v2 + appVersion: "3.1" + created: "2023-02-07T14:30:17.900099701Z" + dependencies: + - condition: postgresql.enabled + name: postgresql + repository: file://./charts/postgresql + version: 11.9.13 + description: The Cloud-Native Ingress and API-management + digest: b8ce65ab479149876440f2c344af63c783f0d5e0b6b3268375065690ec96a555 + home: https://konghq.com/ + icon: https://s3.amazonaws.com/downloads.kong/universe/assets/icon-kong-inc-large.png + maintainers: + - email: harry@konghq.com + name: hbagdi + - email: traines@konghq.com + name: rainest + name: kong + sources: + - https://github.com/Kong/charts/tree/main/charts/kong + urls: + - assets/kong/kong-2.16.1.tgz + version: 2.16.1 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Kong Gateway @@ -13252,6 +13488,45 @@ entries: - assets/elastic/logstash-7.17.3.tgz version: 7.17.3 mariadb: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: MariaDB + catalog.cattle.io/kube-version: '>=1.19-0' + catalog.cattle.io/release-name: mariadb + category: Database + licenses: Apache-2.0 + apiVersion: v2 + appVersion: 10.6.12 + created: "2023-02-07T14:30:15.497208751Z" + dependencies: + - name: common + repository: file://./charts/common + tags: + - bitnami-common + version: 2.x.x + description: MariaDB is an open source, community-developed SQL database server + that is widely in use around the world due to its enterprise features, flexibility, + and collaboration with leading tech firms. + digest: 5c383c8eff41e68eb04ae9e664ef7e5289bc6d24e4bf39724ee55bf404a8f460 + home: https://github.com/bitnami/charts/tree/main/bitnami/mariadb + icon: https://mariadb.com/wp-content/uploads/2019/11/mariadb-logo-vert_black-transparent.png + keywords: + - mariadb + - mysql + - database + - sql + - prometheus + maintainers: + - name: Bitnami + url: https://github.com/bitnami/charts + name: mariadb + sources: + - https://github.com/bitnami/containers/tree/main/bitnami/mariadb + - https://github.com/prometheus/mysqld_exporter + - https://mariadb.org + urls: + - assets/bitnami/mariadb-11.4.6.tgz + version: 11.4.6 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: MariaDB @@ -13940,6 +14215,37 @@ entries: - assets/bitnami/mysql-9.4.1.tgz version: 9.4.1 nats: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: NATS Server + catalog.cattle.io/kube-version: '>=1.16-0' + catalog.cattle.io/release-name: nats + apiVersion: v2 + appVersion: 2.9.12-alpine + created: "2023-02-07T14:30:18.034057576Z" + description: A Helm chart for the NATS.io High Speed Cloud Native Distributed + Communications Technology. + digest: d25a1ec48b16b914b8aad2418d2ce751284ff592da085e12ae2d731f5b14cf8e + home: http://github.com/nats-io/k8s + icon: https://nats.io/img/nats-icon-color.png + keywords: + - nats + - messaging + - cncf + maintainers: + - email: wally@nats.io + name: Waldemar Quevedo + url: https://github.com/wallyqs + - email: colin@nats.io + name: Colin Sullivan + url: https://github.com/ColinSullivan1 + - email: caleb@nats.io + name: Caleb Lloyd + url: https://github.com/caleblloyd + name: nats + urls: + - assets/nats/nats-0.19.8.tgz + version: 0.19.8 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: NATS Server @@ -17005,6 +17311,41 @@ entries: - assets/quobyte/quobyte-cluster-0.1.5.tgz version: 0.1.5 redis: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Redis + catalog.cattle.io/kube-version: '>=1.19-0' + catalog.cattle.io/release-name: redis + category: Database + licenses: Apache-2.0 + apiVersion: v2 + appVersion: 7.0.8 + created: "2023-02-07T14:30:15.69225429Z" + dependencies: + - name: common + repository: file://./charts/common + tags: + - bitnami-common + version: 2.x.x + description: Redis(R) is an open source, advanced key-value store. It is often + referred to as a data structure server since keys can contain strings, hashes, + lists, sets and sorted sets. + digest: 3fae9d96870c720dd46e1d15cfe6d9ab619216fddd5c124926128efdd561299d + home: https://github.com/bitnami/charts/tree/main/bitnami/redis + icon: https://redis.com/wp-content/uploads/2021/08/redis-logo.png + keywords: + - redis + - keyvalue + - database + maintainers: + - name: Bitnami + url: https://github.com/bitnami/charts + name: redis + sources: + - https://github.com/bitnami/containers/tree/main/bitnami/redis + urls: + - assets/bitnami/redis-17.7.2.tgz + version: 17.7.2 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Redis @@ -17518,6 +17859,39 @@ entries: - assets/bitnami/redis-17.3.7.tgz version: 17.3.7 redpanda: + - annotations: + artifacthub.io/images: | + - name: redpanda + image: vectorized/redpanda:v22.3.10 + - name: busybox + image: busybox:latest + artifacthub.io/license: Apache-2.0 + artifacthub.io/links: | + - name: Documentation + url: https://docs.redpanda.com + - name: "Helm (>= 3.6.0)" + url: https://helm.sh/docs/intro/install/ + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Redpanda + catalog.cattle.io/kube-version: '>=1.21-0' + catalog.cattle.io/release-name: redpanda + apiVersion: v2 + appVersion: v22.3.10 + created: "2023-02-07T14:30:18.326360003Z" + description: Redpanda is the real-time engine for modern apps. + digest: db673d40ee6b45e2d9d10183bd5963240cb3436923431303cd15e92162e0d954 + icon: https://images.ctfassets.net/paqvtpyf8rwu/3cYHw5UzhXCbKuR24GDFGO/73fb682e6157d11c10d5b2b5da1d5af0/skate-stand-panda.svg + kubeVersion: '>=1.21-0' + maintainers: + - name: redpanda-data + url: https://github.com/orgs/redpanda-data/people + name: redpanda + sources: + - https://github.com/redpanda-data/helm-charts + type: application + urls: + - assets/redpanda/redpanda-2.8.0.tgz + version: 2.8.0 - annotations: artifacthub.io/images: | - name: redpanda @@ -19071,6 +19445,37 @@ entries: - assets/bitnami/spark-6.3.8.tgz version: 6.3.8 speedscale-operator: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Speedscale Operator + catalog.cattle.io/kube-version: '>= 1.17.0-0' + catalog.cattle.io/release-name: speedscale-operator + apiVersion: v1 + appVersion: 1.2.296 + created: "2023-02-07T14:30:18.388938945Z" + description: Stress test your APIs with real world scenarios. Collect and replay + traffic without scripting. + digest: 60996dd4a5eab0583cab5e3b5bf069dc2141679b931e7fb0eae914a1477ae06a + home: https://speedscale.com + icon: https://raw.githubusercontent.com/speedscale/assets/main/logo/gold_logo_only.png + keywords: + - speedscale + - test + - testing + - regression + - reliability + - load + - replay + - network + - traffic + kubeVersion: '>= 1.17.0-0' + maintainers: + - email: support@speedscale.com + name: Speedscale Support + name: speedscale-operator + urls: + - assets/speedscale/speedscale-operator-1.2.20.tgz + version: 1.2.20 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Speedscale Operator @@ -20088,6 +20493,45 @@ entries: - assets/intel/tcs-issuer-0.1.0.tgz version: 0.1.0 tomcat: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Apache Tomcat + catalog.cattle.io/kube-version: '>=1.19-0' + catalog.cattle.io/release-name: tomcat + category: ApplicationServer + licenses: Apache-2.0 + apiVersion: v2 + appVersion: 10.1.5 + created: "2023-02-07T14:30:15.740987249Z" + dependencies: + - name: common + repository: file://./charts/common + tags: + - bitnami-common + version: 2.x.x + description: Apache Tomcat is an open-source web server designed to host and run + Java-based web applications. It is a lightweight server with a good performance + for applications running in production environments. + digest: 39ea08e1a44097a1c89031102500bc8cb73633a9ef5f0f940562696b67a5b73e + home: https://github.com/bitnami/charts/tree/main/bitnami/tomcat + icon: https://svn.apache.org/repos/asf/comdev/project-logos/originals/tomcat.svg + keywords: + - tomcat + - java + - http + - web + - application server + - jsp + maintainers: + - name: Bitnami + url: https://github.com/bitnami/charts + name: tomcat + sources: + - https://github.com/bitnami/containers/tree/main/bitnami/tomcat + - http://tomcat.apache.org + urls: + - assets/bitnami/tomcat-10.5.14.tgz + version: 10.5.14 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Apache Tomcat @@ -21488,6 +21932,54 @@ entries: - assets/hashicorp/vault-0.22.0.tgz version: 0.22.0 wordpress: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: WordPress + catalog.cattle.io/kube-version: '>=1.19-0' + catalog.cattle.io/release-name: wordpress + category: CMS + licenses: Apache-2.0 + apiVersion: v2 + appVersion: 6.1.1 + created: "2023-02-07T14:30:15.947490978Z" + dependencies: + - condition: memcached.enabled + name: memcached + repository: file://./charts/memcached + version: 6.x.x + - condition: mariadb.enabled + name: mariadb + repository: file://./charts/mariadb + version: 11.x.x + - name: common + repository: file://./charts/common + tags: + - bitnami-common + version: 2.x.x + description: WordPress is the world's most popular blogging and content management + platform. Powerful yet simple, everyone from students to global corporations + use it to build beautiful, functional websites. + digest: d127942c6b2661b3dda91181f563df2ce1872386109dfae18ddb8119a1d94b4b + home: https://github.com/bitnami/charts/tree/main/bitnami/wordpress + icon: https://s.w.org/style/images/about/WordPress-logotype-simplified.png + keywords: + - application + - blog + - cms + - http + - php + - web + - wordpress + maintainers: + - name: Bitnami + url: https://github.com/bitnami/charts + name: wordpress + sources: + - https://github.com/bitnami/containers/tree/main/bitnami/wordpress + - https://wordpress.org/ + urls: + - assets/bitnami/wordpress-15.2.38.tgz + version: 15.2.38 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: WordPress @@ -22390,6 +22882,30 @@ entries: - assets/bitnami/wordpress-15.2.6.tgz version: 15.2.6 yugabyte: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: YugabyteDB + catalog.cattle.io/kube-version: '>=1.18-0' + catalog.cattle.io/release-name: yugabyte + apiVersion: v1 + appVersion: 2.16.1.0-b50 + created: "2023-02-07T14:30:18.885083981Z" + description: YugabyteDB is the high-performance distributed SQL database for building + global, internet-scale apps. + digest: 7b2f2e5b908f29f75245044bf5dbcba846452231f027cbc056c89df5b4c04697 + home: https://www.yugabyte.com + icon: https://avatars0.githubusercontent.com/u/17074854?s=200&v=4 + maintainers: + - email: sanketh@yugabyte.com + name: Sanketh Indarapu + - email: gjalla@yugabyte.com + name: Govardhan Reddy Jalla + name: yugabyte + sources: + - https://github.com/yugabyte/yugabyte-db + urls: + - assets/yugabyte/yugabyte-2.16.1.tgz + version: 2.16.1 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: YugabyteDB @@ -22511,6 +23027,30 @@ entries: - assets/yugabyte/yugabyte-2.14.3.tgz version: 2.14.3 yugaware: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: YugabyteDB Anywhere + catalog.cattle.io/kube-version: '>=1.18-0' + catalog.cattle.io/release-name: yugaware + apiVersion: v1 + appVersion: 2.16.1.0-b50 + created: "2023-02-07T14:30:18.892900574Z" + description: YugabyteDB Anywhere provides deployment, orchestration, and monitoring + for managing YugabyteDB clusters. YugabyteDB Anywhere can create a YugabyteDB + cluster with multiple pods provided by Kubernetes or OpenShift and logically + grouped together to form one logical distributed database. + digest: 70b1756dfcce48912b71ba43d57286f9005b62c5e7a7652991fb471b0fefb819 + home: https://www.yugabyte.com + icon: https://avatars0.githubusercontent.com/u/17074854?s=200&v=4 + maintainers: + - email: ram@yugabyte.com + name: Ram Sri + - email: arnav@yugabyte.com + name: Arnav Agarwal + name: yugaware + urls: + - assets/yugabyte/yugaware-2.16.1.tgz + version: 2.16.1 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: YugabyteDB Anywhere

^fJqd< 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 e#LMZ&!`IulchamM2oMkeF!HSe3SDc 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