From 2e656aab02e660b11c42b9ddf1d5bef2848cf959 Mon Sep 17 00:00:00 2001 From: Ronan-WeScale Date: Thu, 24 Aug 2023 12:37:34 +0200 Subject: [PATCH 1/2] Remove - default podSecurityContext --- deploy/k8s/chart/Chart.yaml | 2 +- deploy/k8s/chart/README.md | 5 +---- deploy/k8s/chart/values.yaml | 6 +----- docs/cortex-tenant-0.3.1.tgz | Bin 0 -> 5663 bytes docs/index.yaml | 20 +++++++++++++++----- 5 files changed, 18 insertions(+), 15 deletions(-) create mode 100644 docs/cortex-tenant-0.3.1.tgz diff --git a/deploy/k8s/chart/Chart.yaml b/deploy/k8s/chart/Chart.yaml index 4b88968..5bd1f58 100644 --- a/deploy/k8s/chart/Chart.yaml +++ b/deploy/k8s/chart/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 description: A Helm Chart for cortex-tenant name: cortex-tenant -version: 0.3.0 # This is the chart version +version: 0.3.1 # This is the chart version appVersion: 1.11.0 # version number of the application being deployed. type: application diff --git a/deploy/k8s/chart/README.md b/deploy/k8s/chart/README.md index f587819..e999013 100644 --- a/deploy/k8s/chart/README.md +++ b/deploy/k8s/chart/README.md @@ -45,10 +45,7 @@ A Helm Chart for cortex-tenant | podAnnotations | object | `{}` | | | podDisruptionBudget.enabled | bool | `true` | | | podDisruptionBudget.minAvailable | int | `1` | | -| podSecurityContext.fsGroup | int | `1000` | | -| podSecurityContext.runAsGroup | int | `1000` | | -| podSecurityContext.runAsNonRoot | bool | `true` | | -| podSecurityContext.runAsUser | int | `1000` | | +| podSecurityContext | object | `{}` | | | resources.limits.memory | string | `"256Mi"` | | | resources.requests.cpu | string | `"100m"` | | | resources.requests.memory | string | `"128Mi"` | | diff --git a/deploy/k8s/chart/values.yaml b/deploy/k8s/chart/values.yaml index 197eca4..d86e4d4 100644 --- a/deploy/k8s/chart/values.yaml +++ b/deploy/k8s/chart/values.yaml @@ -114,11 +114,7 @@ podDisruptionBudget: podAnnotations: {} # Annotations for pods -podSecurityContext: # [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context) - runAsNonRoot: true - runAsGroup: 1000 - runAsUser: 1000 - fsGroup: 1000 +podSecurityContext: {} # [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context) securityContext: {} # [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context) diff --git a/docs/cortex-tenant-0.3.1.tgz b/docs/cortex-tenant-0.3.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..62cef34db2014d8907117adb3240348dc3b5fd23 GIT binary patch literal 5663 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 F000i{76 Date: Thu, 24 Aug 2023 12:48:12 +0200 Subject: [PATCH 2/2] update - api version --- deploy/k8s/chart/Chart.yaml | 2 +- deploy/k8s/chart/README.md | 2 +- deploy/k8s/chart/templates/autoscaling.yaml | 2 +- deploy/k8s/chart/templates/pdb.yaml | 2 +- docs/cortex-tenant-0.3.2.tgz | Bin 0 -> 5654 bytes docs/index.yaml | 22 ++++++++++++++------ 6 files changed, 20 insertions(+), 10 deletions(-) create mode 100644 docs/cortex-tenant-0.3.2.tgz diff --git a/deploy/k8s/chart/Chart.yaml b/deploy/k8s/chart/Chart.yaml index 5bd1f58..42ad8b5 100644 --- a/deploy/k8s/chart/Chart.yaml +++ b/deploy/k8s/chart/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 description: A Helm Chart for cortex-tenant name: cortex-tenant -version: 0.3.1 # This is the chart version +version: 0.3.2 # This is the chart version appVersion: 1.11.0 # version number of the application being deployed. type: application diff --git a/deploy/k8s/chart/README.md b/deploy/k8s/chart/README.md index e999013..ee59a92 100644 --- a/deploy/k8s/chart/README.md +++ b/deploy/k8s/chart/README.md @@ -1,6 +1,6 @@ # cortex-tenant -![Version: 0.3.0](https://img.shields.io/badge/Version-0.3.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.11.0](https://img.shields.io/badge/AppVersion-1.11.0-informational?style=flat-square) +![Version: 0.3.2](https://img.shields.io/badge/Version-0.3.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.11.0](https://img.shields.io/badge/AppVersion-1.11.0-informational?style=flat-square) A Helm Chart for cortex-tenant diff --git a/deploy/k8s/chart/templates/autoscaling.yaml b/deploy/k8s/chart/templates/autoscaling.yaml index 679a273..c48de75 100644 --- a/deploy/k8s/chart/templates/autoscaling.yaml +++ b/deploy/k8s/chart/templates/autoscaling.yaml @@ -1,5 +1,5 @@ {{- if .Values.autoscaling.enabled -}} -apiVersion: autoscaling/v2beta2 +apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: {{ include "cortex-tenant.fullname" . }} diff --git a/deploy/k8s/chart/templates/pdb.yaml b/deploy/k8s/chart/templates/pdb.yaml index 45b6cd4..87f8321 100644 --- a/deploy/k8s/chart/templates/pdb.yaml +++ b/deploy/k8s/chart/templates/pdb.yaml @@ -1,5 +1,5 @@ {{- if .Values.podDisruptionBudget.enabled -}} -apiVersion: policy/v1beta1 +apiVersion: policy/v1 kind: PodDisruptionBudget metadata: name: {{ include "cortex-tenant.fullname" . }} diff --git a/docs/cortex-tenant-0.3.2.tgz b/docs/cortex-tenant-0.3.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..1d84567d497899776f72d581b93f5f7ffc8f4237 GIT binary patch literal 5654 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