From 77e50cdc6382bb6e8910213cd232a9ae76cbf1ca Mon Sep 17 00:00:00 2001 From: ypoplavs Date: Wed, 15 Jan 2025 12:37:10 +0200 Subject: [PATCH] update imagePullSecrets --- charts/global/Chart.yaml | 2 +- charts/global/templates/_images.tpl | 8 +- charts/testkube-api/Chart.yaml | 2 +- .../_job-container-template.yaml.tpl | 14 +- .../templates/_job-scraper-template.yaml.tpl | 14 +- .../templates/_job-template.yaml.tpl | 14 +- .../templates/_slave-pod-template.yaml.tpl | 14 +- charts/testkube-logs/Chart.yaml | 2 +- charts/testkube-operator/Chart.yaml | 2 +- charts/testkube/Chart.yaml | 4 +- charts/testkube/charts/nats/Chart.yaml | 2 +- .../nats-box/deployment/pod-template.yaml | 6 +- .../nats/files/stateful-set/pod-template.yaml | 8 +- charts/testkube/values-demo.yaml | 366 ------------------ charts/testkube/values-develop.yaml | 315 --------------- charts/testkube/values-stage.yaml | 309 --------------- 16 files changed, 60 insertions(+), 1022 deletions(-) delete mode 100644 charts/testkube/values-demo.yaml delete mode 100644 charts/testkube/values-develop.yaml delete mode 100644 charts/testkube/values-stage.yaml diff --git a/charts/global/Chart.yaml b/charts/global/Chart.yaml index 34674c376..9843eaea0 100644 --- a/charts/global/Chart.yaml +++ b/charts/global/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -version: 0.1.2 +version: 0.1.3 name: global description: A Library Helm Chart for definitions that can be shared by Helm templates in other charts. home: https://github.com/kubeshop/helm-charts/tree/main/charts/global diff --git a/charts/global/templates/_images.tpl b/charts/global/templates/_images.tpl index 5eeb36087..6fdb9d513 100644 --- a/charts/global/templates/_images.tpl +++ b/charts/global/templates/_images.tpl @@ -31,13 +31,17 @@ Return the proper Docker Image Registry Secret Names evaluating values as templa {{- if $global.imagePullSecrets }} imagePullSecrets: {{- range $global.imagePullSecrets }} - - name: {{ . }} +{{- if typeIsLike "map[string]interface {}" . }} +- name: {{ .name | quote }} +{{- else }} +- name: {{ . | quote }} +{{- end }} {{- end }} {{- else -}} {{- if $path }} imagePullSecrets: {{- range $path }} - - name: {{ . }} +- name: {{ . }} {{- end }} {{- end }} {{- end }} diff --git a/charts/testkube-api/Chart.yaml b/charts/testkube-api/Chart.yaml index 21916d61d..18033e161 100644 --- a/charts/testkube-api/Chart.yaml +++ b/charts/testkube-api/Chart.yaml @@ -6,5 +6,5 @@ version: 2.1.85 appVersion: 2.1.85 dependencies: - name: global - version: 0.1.2 + version: 0.1.3 repository: "file://../global" diff --git a/charts/testkube-api/templates/_job-container-template.yaml.tpl b/charts/testkube-api/templates/_job-container-template.yaml.tpl index 542351c45..3e36c495b 100644 --- a/charts/testkube-api/templates/_job-container-template.yaml.tpl +++ b/charts/testkube-api/templates/_job-container-template.yaml.tpl @@ -286,12 +286,16 @@ spec: {{`{{- if .ServiceAccountName }}`}} serviceAccountName: {{`{{ .ServiceAccountName }}`}} {{`{{- end }}`}} - {{ with .Values.global.imagePullSecrets }} + {{- with (default .Values.imagePullSecrets .Values.global.imagePullSecrets) }} imagePullSecrets: - {{- range . }} - - name: {{ . | quote }} - {{- end }} - {{- end }} + {{- range . }} + {{- if typeIsLike "map[string]interface {}" . }} + - name: {{ .name | quote }} + {{- else }} + - name: {{ . | quote }} + {{- end }} + {{- end }} + {{- end }} backoffLimit: 0 ttlSecondsAfterFinished: {{`{{ .DelaySeconds }}`}} {{- end }} diff --git a/charts/testkube-api/templates/_job-scraper-template.yaml.tpl b/charts/testkube-api/templates/_job-scraper-template.yaml.tpl index 0c6802a84..b814689e5 100644 --- a/charts/testkube-api/templates/_job-scraper-template.yaml.tpl +++ b/charts/testkube-api/templates/_job-scraper-template.yaml.tpl @@ -131,12 +131,16 @@ spec: {{`{{- if .ServiceAccountName }}`}} serviceAccountName: {{`{{ .ServiceAccountName }}`}} {{`{{- end }}`}} - {{ with .Values.global.imagePullSecrets }} + {{- with (default .Values.imagePullSecrets .Values.global.imagePullSecrets) }} imagePullSecrets: - {{- range . }} - - name: {{ . | quote }} - {{- end }} - {{- end }} + {{- range . }} + {{- if typeIsLike "map[string]interface {}" . }} + - name: {{ .name | quote }} + {{- else }} + - name: {{ . | quote }} + {{- end }} + {{- end }} + {{- end }} backoffLimit: 0 ttlSecondsAfterFinished: {{`{{ .DelaySeconds }}`}} {{- end }} diff --git a/charts/testkube-api/templates/_job-template.yaml.tpl b/charts/testkube-api/templates/_job-template.yaml.tpl index f01e1c1d2..e9ab11cc4 100644 --- a/charts/testkube-api/templates/_job-template.yaml.tpl +++ b/charts/testkube-api/templates/_job-template.yaml.tpl @@ -235,12 +235,16 @@ spec: {{`{{- if .ServiceAccountName }}`}} serviceAccountName: {{`{{ .ServiceAccountName }}`}} {{`{{- end }}`}} - {{ with .Values.global.imagePullSecrets }} + {{- with (default .Values.imagePullSecrets .Values.global.imagePullSecrets) }} imagePullSecrets: - {{- range . }} - - name: {{ . | quote }} - {{- end }} - {{- end }} + {{- range . }} + {{- if typeIsLike "map[string]interface {}" . }} + - name: {{ .name | quote }} + {{- else }} + - name: {{ . | quote }} + {{- end }} + {{- end }} + {{- end }} backoffLimit: 0 ttlSecondsAfterFinished: 180 {{- end }} diff --git a/charts/testkube-api/templates/_slave-pod-template.yaml.tpl b/charts/testkube-api/templates/_slave-pod-template.yaml.tpl index b94dd4818..0bd878ffc 100644 --- a/charts/testkube-api/templates/_slave-pod-template.yaml.tpl +++ b/charts/testkube-api/templates/_slave-pod-template.yaml.tpl @@ -244,10 +244,14 @@ spec: {{`{{- if .ServiceAccountName }}`}} serviceAccountName: {{`{{ .ServiceAccountName }}`}} {{`{{- end }}`}} - {{ with .Values.global.imagePullSecrets }} + {{- with (default .Values.imagePullSecrets .Values.global.imagePullSecrets) }} imagePullSecrets: - {{- range . }} - - name: {{ . | quote }} - {{- end }} - {{- end }} + {{- range . }} + {{- if typeIsLike "map[string]interface {}" . }} + - name: {{ .name | quote }} + {{- else }} + - name: {{ . | quote }} + {{- end }} + {{- end }} + {{- end }} {{- end }} diff --git a/charts/testkube-logs/Chart.yaml b/charts/testkube-logs/Chart.yaml index cbe6d1e44..074e582e3 100644 --- a/charts/testkube-logs/Chart.yaml +++ b/charts/testkube-logs/Chart.yaml @@ -24,6 +24,6 @@ version: 0.2.0 appVersion: "1.0.0" dependencies: - name: global - version: 0.1.2 + version: 0.1.3 #repository: https://kubeshop.github.io/helm-charts repository: "file://../global" diff --git a/charts/testkube-operator/Chart.yaml b/charts/testkube-operator/Chart.yaml index f29a192e7..07e5b9811 100644 --- a/charts/testkube-operator/Chart.yaml +++ b/charts/testkube-operator/Chart.yaml @@ -6,6 +6,6 @@ version: 2.1.80 appVersion: 2.1.80 dependencies: - name: global - version: 0.1.2 + version: 0.1.3 #repository: https://kubeshop.github.io/helm-charts repository: "file://../global" diff --git a/charts/testkube/Chart.yaml b/charts/testkube/Chart.yaml index a2aaef264..38b03377b 100644 --- a/charts/testkube/Chart.yaml +++ b/charts/testkube/Chart.yaml @@ -15,7 +15,7 @@ dependencies: repository: https://charts.bitnami.com/bitnami - name: nats condition: testkube-api.nats.enabled - version: 1.2.6-2 + version: 1.2.6-3 repository: "file://./charts/nats" - name: testkube-api version: 2.1.85 @@ -26,5 +26,5 @@ dependencies: repository: "file://../testkube-logs" condition: global.features.logsV2 - name: global - version: 0.1.2 + version: 0.1.3 repository: "file://../global" diff --git a/charts/testkube/charts/nats/Chart.yaml b/charts/testkube/charts/nats/Chart.yaml index 8a10ffc6d..7113dc2d4 100644 --- a/charts/testkube/charts/nats/Chart.yaml +++ b/charts/testkube/charts/nats/Chart.yaml @@ -6,7 +6,7 @@ keywords: - nats - messaging - cncf -version: 1.2.6-2 +version: 1.2.6-3 home: http://github.com/nats-io/k8s maintainers: - email: info@nats.io diff --git a/charts/testkube/charts/nats/files/nats-box/deployment/pod-template.yaml b/charts/testkube/charts/nats/files/nats-box/deployment/pod-template.yaml index eca5a3e40..d6c6526b2 100644 --- a/charts/testkube/charts/nats/files/nats-box/deployment/pod-template.yaml +++ b/charts/testkube/charts/nats/files/nats-box/deployment/pod-template.yaml @@ -13,7 +13,11 @@ spec: {{- with (default .Values.global.image.pullSecretNames .Values.global.imagePullSecrets) }} imagePullSecrets: {{- range . }} - - name: {{ . | quote }} + {{- if typeIsLike "map[string]interface {}" . }} + - name: {{ .name | quote }} + {{- else }} + - name: {{ . | quote }} + {{- end }} {{- end }} {{- end }} diff --git a/charts/testkube/charts/nats/files/stateful-set/pod-template.yaml b/charts/testkube/charts/nats/files/stateful-set/pod-template.yaml index 2ecfd8fe6..7ccef3b39 100644 --- a/charts/testkube/charts/nats/files/stateful-set/pod-template.yaml +++ b/charts/testkube/charts/nats/files/stateful-set/pod-template.yaml @@ -28,11 +28,15 @@ spec: # service discovery uses DNS; don't need service env vars enableServiceLinks: false - + {{- with (default .Values.global.image.pullSecretNames .Values.global.imagePullSecrets) }} imagePullSecrets: {{- range . }} - - name: {{ . | quote }} + {{- if typeIsLike "map[string]interface {}" . }} + - name: {{ .name | quote }} + {{- else }} + - name: {{ . | quote }} + {{- end }} {{- end }} {{- end }} diff --git a/charts/testkube/values-demo.yaml b/charts/testkube/values-demo.yaml deleted file mode 100644 index 36007a68f..000000000 --- a/charts/testkube/values-demo.yaml +++ /dev/null @@ -1,366 +0,0 @@ -# Demo values for testkube. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -global: - nodeSelector: - cloud.google.com/gke-provisioning: standard - tolerations: - - key: kubernetes.io/arch - operator: Equal - value: arm64 - effect: NoSchedule - features: - logsV2: false - -replicaCount: 1 - -image: - repository: "" - pullPolicy: Never - # Overrides the image tag whose default is the chart appVersion. - tag: "" - -imagePullSecrets: [] -nameOverride: "testkube" -fullnameOverride: "testkube" - -## Custom job-template.yml that will passed to Testkube API -configValues: "" - -serviceAccount: - # Specifies whether a service account should be created - create: true - # Annotations to add to the service account - annotations: {} - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -podAnnotations: {} - -service: - type: ClusterIP - port: 80 - -ingress: - enabled: "false" - className: "" - annotations: - {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - hosts: - - host: chart-example.local - paths: - - path: / - pathType: ImplementationSpecific - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -resources: - {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m -# memory: 128Mi - -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - -# For more configuration parameters of MongoDB chart please look here: -# https://github.com/bitnami/charts/tree/master/bitnami/mongodb#parameters -mongodb: - enabled: true - nameOverride: "mongodb" - fullnameOverride: "testkube-mongodb" - architecture: "standalone" - auth: - enabled: false - # rootPassword: "123DefaultOne321" - service: - port: "27017" - portName: "mongodb" - nodePort: true - clusterIP: "" - priorityClassName: "highest-priority-mongodb" - resources: - requests: - memory: "1500Mi" - cpu: "200m" - nodeSelector: - cloud.google.com/gke-provisioning: standard - image: - registry: docker.io - repository: zcube/bitnami-compat-mongodb - tag: 6.0.5-debian-11-r64 - updateStrategy: - type: Recreate - -# -- NATS chart parameters -nats: - # NATS container settings - podTemplate: - merge: - spec: - nodeSelector: - cloud.google.com/gke-provisioning: standard - config: - merge: - max_payload: << 8MB >> - jetstream: - enabled: true - - # NATS Box container settings - # TODO remove this container after tests on dev and stage - # nats-box is A lightweight container with NATS utilities. It's not needed for nats server - natsBox: - enabled: false - podTemplate: - merge: - spec: - nodeSelector: - cloud.google.com/gke-provisioning: standard - -testkube-api: - rbac: - createRoles: true - createRoleBindings: true - prometheus: - enabled: false - nameOverride: "api-server" - fullnameOverride: "testkube-api-server" - image: - repository: kubeshop/testkube-api-server - pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. - # TODO we should stick to static version - # tag: "latest" - service: - type: ClusterIP - port: 8088 - grpcPort: 8089 - minio: - enabled: true - tolerations: [] - affinity: {} - priorityClassName: "highest-priority" - storage: 80Gi - image: - registry: docker.io - repository: minio/minio - tag: RELEASE.2023-09-16T01-01-47Z - resources: - requests: - memory: "1000Mi" - cpu: "200m" - - uiIngress: - enabled: false - annotations: - kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/rewrite-target: /$1 - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/ssl-redirect: "true" - nginx.ingress.kubernetes.io/enable-cors: "true" - nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST" - nginx.ingress.kubernetes.io/cors-allow-credentials: "false" - # specify the name of the global IP address resource to be associated with the HTTP(S) Load Balancer. - kubernetes.io/ingress.global-static-ip-name: testkube-demo - # add an annotation indicating the issuer to use. - # cert-manager.io/cluster-issuer: letsencrypt-prod - # controls whether the ingress is modified ‘in-place’, - # or a new one is created specifically for the HTTP01 challenge. - # acme.cert-manager.io/http01-edit-in-place: "true" - - # for websockets - nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" - nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" - - nginx.ingress.kubernetes.io/server-snippet: | - set $methodallowed ""; - set $pathallowed ""; - - if ( $request_method = GET ){ - set $methodallowed "true"; - set $pathallowed "true"; - } - - if ( $request_method = POST ){ - set $methodallowed "true"; - } - - if ( $request_method = OPTIONS ){ - set $methodallowed "true"; - } - - if ( $request_method = PATCH ){ - set $methodallowed "true"; - } - - if ( $uri ~ "^(.*)/tests/(.*)/executions$" ){ - set $pathallowed "true"; - } - - if ( $uri ~ "^(.*)/tests/(.*)/executions/(.*)$" ){ - set $pathallowed "true"; - } - - if ( $uri ~ "^(.*)/test-suites/(.*)/executions$" ){ - set $pathallowed "true"; - } - - if ( $uri ~ "^(.*)/test-suites/(.*)/executions/(.*)$" ){ - set $pathallowed "true"; - } - - if ( $uri ~ "^(.*)/tests$" ){ - set $pathallowed "true"; - } - - if ( $uri ~ "^(.*)/tests/(.*)$" ){ - set $pathallowed "true"; - } - - if ( $uri ~ "^(.*)/test-suite-executions/(.*)$" ){ - set $pathallowed "true"; - } - - if ( $uri ~ "^(.*)/repositories$" ){ - set $pathallowed "true"; - } - - set $condition "$methodallowed+$pathallowed"; - if ( $condition != "true+true" ) { - return 401; - } - - path: /results/(v\d/.*) - hosts: - - demo.testkube.io - tlsenabled: "true" - tls: # < placing a host in the TLS config will indicate a certificate should be created - - hosts: - - demo.testkube.io - secretName: testkube-demo-cert-secret - storage: - endpoint: "" - endpoint_port: "9000" - accessKeyId: "minio" - accessKey: "minio123" - region: "" - token: "" - bucket: "testkube-artifacts" - expiration: 90 - SSL: false - scrapperEnabled: true - compressArtifacts: true - - ## Logs storage for Testkube API. - logs: - ## where the logs should be stored there are 2 possible valuse : minio|mongo - storage: "minio" - ## if storage is set to minio then the bucket must be specified, if minio with s3 is used make sure to use a unique name - bucket: "testkube-logs" - - mongodb: - dsn: "mongodb://testkube-mongodb:27017" - # or you can pass mongo dsn from secret - # secretName: testkube-secrets - # secretKey: mongo-dsn - allowDiskUse: true - - ## Set custom livenessProbe - livenessProbe: - ## Probe type - httpGet: - path: /health - port: http - scheme: HTTP - ## Amount of request failures before the container receives a terminate signal - failureThreshold: 3 - ## Time to wait after the initial deployment before performing first probe - initialDelaySeconds: 180 - ## How often (in seconds) to perform the probes. This value sends one probe every 30 seconds - periodSeconds: 30 - ## Minimum consecutive successes for the probe to be considered successful after having failed - successThreshold: 1 - ## Number of seconds after which the probe times out - timeoutSeconds: 10 - - ## Set custom readinessProbe - readinessProbe: - ## Probe type - httpGet: - path: /health - port: http - scheme: HTTP - ## Amount of request failures before the container receives a terminate signal - failureThreshold: 3 - ## How often (in seconds) to perform the probes. This value sends one probe every 30 seconds - periodSeconds: 30 - ## Minimum consecutive successes for the probe to be considered successful after having failed - successThreshold: 1 - ## Number of seconds after which the probe times out - timeoutSeconds: 10 - - resources: - requests: - memory: "200Mi" - cpu: "200m" - - analyticsEnabled: true - podStartTimeout: "30m" - slackToken: "" - slackSecret: "" - slackTemplate: "" - slackConfig: "" - executors: "" - cdeventsTarget: "" - dashboardUri: "" - clusterName: "" - enableSecretsEndpoint: false - disableSecretCreation: false - defaultStorageClassName: "" - enableK8sEvents: true - dockerImageVersion: "" - - testkubeLogs: - grpcAddress: "testkube-logs:9090" - - priorityClassName: "highest-priority" - - ##Test Connection pod - testConnection: - enabled: true - -testkube-operator: - # should roles and roles bindings be created - rbac: - createRoles: true - createRoleBindings: true - - # should the CRDs be installed - installCRD: true - priorityClassName: "highest-priority" - - resources: - requests: - memory: "200Mi" - cpu: "100m" - - ##Test Connection pod - testConnection: - enabled: true diff --git a/charts/testkube/values-develop.yaml b/charts/testkube/values-develop.yaml deleted file mode 100644 index 33915568d..000000000 --- a/charts/testkube/values-develop.yaml +++ /dev/null @@ -1,315 +0,0 @@ -# Stage values for testkube. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -global: - nodeSelector: - cloud.google.com/gke-provisioning: standard - tolerations: - - key: kubernetes.io/arch - operator: Equal - value: arm64 - effect: NoSchedule - features: - logsV2: true - -replicaCount: 1 - -image: - repository: "" - pullPolicy: Never - # Overrides the image tag whose default is the chart appVersion. - tag: "" - -imagePullSecrets: [] -nameOverride: "testkube" -fullnameOverride: "testkube" - -## Custom job-template.yml that will passed to Testkube API -configValues: "" - -serviceAccount: - # Specifies whether a service account should be created - create: true - # Annotations to add to the service account - annotations: {} - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -podAnnotations: {} - -service: - type: ClusterIP - port: 80 - -ingress: - enabled: "false" - className: "" - annotations: - {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - hosts: - - host: chart-example.local - paths: - - path: / - pathType: ImplementationSpecific - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -resources: - {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m -# memory: 128Mi - -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - -# For more configuration parameters of MongoDB chart please look here: -# https://github.com/bitnami/charts/tree/master/bitnami/mongodb#parameters -mongodb: - enabled: true - nameOverride: "mongodb" - fullnameOverride: "testkube-mongodb" - architecture: "standalone" - auth: - enabled: false - # rootPassword: "123DefaultOne321" - service: - port: "27017" - portName: "mongodb" - nodePort: true - clusterIP: "" - priorityClassName: "highest-priority-mongodb" - ## Image built with ZCube tool so that it can be run on ARM nodes: https://github.com/ZCube/bitnami-compat/tree/main/patches - ## Currently Bitnami doesn't support ARM: https://github.com/bitnami/charts/issues/7305 - image: - registry: docker.io - repository: zcube/bitnami-compat-mongodb - tag: 6.0.5-debian-11-r64 - resources: {} - # requests: - # memory: "1500Mi" - # cpu: "200m" - nodeSelector: - cloud.google.com/gke-provisioning: standard - updateStrategy: - type: Recreate - -# NATS values -nats: - # NATS container settings - podTemplate: - merge: - spec: - nodeSelector: - cloud.google.com/gke-provisioning: standard - config: - merge: - max_payload: << 8MB >> - # required if using JetStream file storage - jetstream: - enabled: true - - natsBox: - enabled: false - podTemplate: - merge: - spec: - nodeSelector: - cloud.google.com/gke-provisioning: standard - -testkube-api: - prometheus: - enabled: false - nameOverride: "api-server" - fullnameOverride: "testkube-api-server" - image: - repository: kubeshop/testkube-api-server - pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. - # TODO we should stick to static version - # tag: "latest" - service: - type: ClusterIP - port: 8088 - grpcPort: 8089 - minio: - enabled: true - nodeSelector: {} - tolerations: [] - affinity: {} - priorityClassName: "highest-priority" - storage: 25Gi - image: - registry: docker.io - repository: minio/minio - tag: RELEASE.2023-09-16T01-01-47Z - resources: {} - # requests: - # memory: "1000Mi" - # cpu: "200m" - - uiIngress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/rewrite-target: /$1 - nginx.ingress.kubernetes.io/force-ssl-redirect: "false" - nginx.ingress.kubernetes.io/ssl-redirect: "false" - nginx.ingress.kubernetes.io/enable-cors: "true" - nginx.ingress.kubernetes.io/cors-allow-credentials: "false" - # nginx.ingress.kubernetes.io/auth-type: basic - # nginx.ingress.kubernetes.io/auth-secret: htpasswd - # nginx.ingress.kubernetes.io/auth-realm: "Enter your credentials" - # specify the name of the global IP address resource to be associated with the HTTP(S) Load Balancer. - kubernetes.io/ingress.global-static-ip-name: testkube-develop - # add an annotation indicating the issuer to use. - # cert-manager.io/cluster-issuer: letsencrypt-prod - # controls whether the ingress is modified ‘in-place’, - # or a new one is created specifically for the HTTP01 challenge. - # acme.cert-manager.io/http01-edit-in-place: "true" - - # for websockets - nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" - nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" - - nginx.ingress.kubernetes.io/server-snippet: | - set $methodallowed ""; - set $pathallowed ""; - - path: /results/(v\d/.*) - hosts: - - demo.testkube.dev - tlsenabled: "true" - tls: # < placing a host in the TLS config will indicate a certificate should be created - - hosts: - - demo.testkube.dev - secretName: testkube-prod-cert-secret - storage: - endpoint: "" - endpoint_port: "9000" - accessKeyId: "minio" - accessKey: "minio123" - region: "" - token: "" - bucket: "testkube-artifacts" - expiration: 30 - SSL: false - scrapperEnabled: true - compressArtifacts: true - - ## Logs storage for Testkube API. - logs: - ## where the logs should be stored there are 2 possible valuse : minio|mongo - storage: "minio" - ## if storage is set to minio then the bucket must be specified, if minio with s3 is used make sure to use a unique name - bucket: "testkube-logs" - - mongodb: - dsn: "mongodb://testkube-mongodb:27017" - # or you can pass mongo dsn from secret - # secretName: testkube-secrets - # secretKey: mongo-dsn - allowDiskUse: true - - ## Set custom livenessProbe - livenessProbe: - ## Probe type - httpGet: - path: /health - port: http - scheme: HTTP - ## Amount of request failures before the container receives a terminate signal - failureThreshold: 3 - ## Time to wait after the initial deployment before performing first probe - initialDelaySeconds: 60 - ## How often (in seconds) to perform the probes. This value sends one probe every 30 seconds - periodSeconds: 30 - ## Minimum consecutive successes for the probe to be considered successful after having failed - successThreshold: 1 - ## Number of seconds after which the probe times out - timeoutSeconds: 10 - - ## Set custom readinessProbe - readinessProbe: - ## Probe type - httpGet: - path: /health - port: http - scheme: HTTP - ## Amount of request failures before the container receives a terminate signal - failureThreshold: 3 - ## How often (in seconds) to perform the probes. This value sends one probe every 30 seconds - periodSeconds: 30 - ## Minimum consecutive successes for the probe to be considered successful after having failed - successThreshold: 1 - ## Number of seconds after which the probe times out - timeoutSeconds: 10 - - resources: {} - # requests: - # memory: "200Mi" - # cpu: "200m" - - analyticsEnabled: true - podStartTimeout: "30m" - slackToken: "" - slackSecret: "" - slackTemplate: "" - slackConfig: "" - executors: "" - cdeventsTarget: "" - dashboardUri: "" - clusterName: "" - enableSecretsEndpoint: true - disableSecretCreation: false - defaultStorageClassName: "" - enableK8sEvents: true - dockerImageVersion: "" - - testkubeLogs: - grpcAddress: "testkube-logs:9090" - - priorityClassName: "highest-priority" - - ##Test Connection pod - testConnection: - enabled: true - - nodeSelector: {} - -testkube-logs: - fullnameOverride: testkube-logs - nameOverride: logs - nodeSelector: {} -testkube-operator: - priorityClassName: "highest-priority" - useArgoCDSync: true - purgeExecutions: false - - resources: {} - # requests: - # memory: "200Mi" - # cpu: "100m" - - ##Test Connection pod - testConnection: - enabled: true - - nodeSelector: {} diff --git a/charts/testkube/values-stage.yaml b/charts/testkube/values-stage.yaml deleted file mode 100644 index 454644d8a..000000000 --- a/charts/testkube/values-stage.yaml +++ /dev/null @@ -1,309 +0,0 @@ -# Stage values for testkube. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. -global: - nodeSelector: - cloud.google.com/gke-provisioning: standard - tolerations: - - key: kubernetes.io/arch - operator: Equal - value: arm64 - effect: NoSchedule - features: - logsV2: true - -replicaCount: 1 - -image: - repository: "" - pullPolicy: Never - # Overrides the image tag whose default is the chart appVersion. - tag: "" - -imagePullSecrets: [] -nameOverride: "testkube" -fullnameOverride: "testkube" - -## Custom job-template.yml that will passed to Testkube API -configValues: "" - -serviceAccount: - # Specifies whether a service account should be created - create: true - # Annotations to add to the service account - annotations: {} - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -podAnnotations: {} - -service: - type: ClusterIP - port: 80 - -ingress: - enabled: "false" - className: "" - annotations: - {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - hosts: - - host: chart-example.local - paths: - - path: / - pathType: ImplementationSpecific - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -resources: - {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m -# memory: 128Mi - -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - -# For more configuration parameters of MongoDB chart please look here: -# https://github.com/bitnami/charts/tree/master/bitnami/mongodb#parameters -mongodb: - enabled: true - nameOverride: "mongodb" - fullnameOverride: "testkube-mongodb" - architecture: "standalone" - auth: - enabled: false - # rootPassword: "123DefaultOne321" - service: - port: "27017" - portName: "mongodb" - nodePort: true - clusterIP: "" - priorityClassName: "highest-priority-mongodb" - ## Image built with ZCube tool so that it can be run on ARM nodes: https://github.com/ZCube/bitnami-compat/tree/main/patches - ## Currently Bitnami doesn't support ARM: https://github.com/bitnami/charts/issues/7305 - image: - registry: docker.io - repository: zcube/bitnami-compat-mongodb - tag: 6.0.5-debian-11-r64 - resources: {} - # requests: - # memory: "1000Mi" - # cpu: "200m" - nodeSelector: - cloud.google.com/gke-provisioning: standard - updateStrategy: - type: Recreate - -testkube-logs: - fullnameOverride: testkube-logs - nameOverride: logs - nodeSelector: {} - -nats: - podTemplate: - merge: - spec: - nodeSelector: - cloud.google.com/gke-provisioning: standard - # NATS container settings - config: - merge: - max_payload: << 8MB >> - jetstream: - enabled: true - natsBox: - enabled: false - -testkube-api: - prometheus: - enabled: false - nameOverride: "api-server" - fullnameOverride: "testkube-api-server" - image: - repository: kubeshop/testkube-api-server - pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. - # TODO we should stick to static version - # tag: "latest" - service: - type: ClusterIP - port: 8088 - grpcPort: 8089 - minio: - enabled: true - tolerations: [] - affinity: {} - priorityClassName: "highest-priority" - storage: 25Gi - image: - registry: docker.io - repository: minio/minio - tag: RELEASE.2023-09-16T01-01-47Z - resources: {} - # requests: - # memory: "1000Mi" - # cpu: "200m" - nodeSelector: - cloud.google.com/gke-provisioning: standard - - uiIngress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/rewrite-target: /$1 - nginx.ingress.kubernetes.io/force-ssl-redirect: "false" - nginx.ingress.kubernetes.io/ssl-redirect: "false" - nginx.ingress.kubernetes.io/enable-cors: "true" - nginx.ingress.kubernetes.io/cors-allow-methods: "GET" - nginx.ingress.kubernetes.io/cors-allow-credentials: "false" - # nginx.ingress.kubernetes.io/auth-type: basic - # nginx.ingress.kubernetes.io/auth-secret: htpasswd - # nginx.ingress.kubernetes.io/auth-realm: "Enter your credentials" - # specify the name of the global IP address resource to be associated with the HTTP(S) Load Balancer. - kubernetes.io/ingress.global-static-ip-name: testkube-integration - # add an annotation indicating the issuer to use. - # cert-manager.io/cluster-issuer: letsencrypt-prod - # controls whether the ingress is modified ‘in-place’, - # or a new one is created specifically for the HTTP01 challenge. - # acme.cert-manager.io/http01-edit-in-place: "true" - - # for websockets - nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" - nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" - - nginx.ingress.kubernetes.io/server-snippet: | - set $methodallowed ""; - set $pathallowed ""; - - path: /results/(v\d/.*) - hosts: - - demo.testkube.xyz - tlsenabled: "true" - tls: # < placing a host in the TLS config will indicate a certificate should be created - - hosts: - - demo.testkube.xyz - secretName: testkube-demo-cert-secret - storage: - endpoint: "" - endpoint_port: "9000" - accessKeyId: "minio" - accessKey: "minio123" - region: "" - token: "" - bucket: "testkube-artifacts" - expiration: 30 - SSL: false - scrapperEnabled: true - compressArtifacts: true - - ## Logs storage for Testkube API. - logs: - ## where the logs should be stored there are 2 possible valuse : minio|mongo - storage: "minio" - ## if storage is set to minio then the bucket must be specified, if minio with s3 is used make sure to use a unique name - bucket: "testkube-logs" - - mongodb: - dsn: "mongodb://testkube-mongodb:27017" - # or you can pass mongo dsn from secret - # secretName: testkube-secrets - # secretKey: mongo-dsn - allowDiskUse: true - - ## Set custom livenessProbe - livenessProbe: - ## Probe type - httpGet: - path: /health - port: http - scheme: HTTP - ## Amount of request failures before the container receives a terminate signal - failureThreshold: 3 - ## Time to wait after the initial deployment before performing first probe - initialDelaySeconds: 180 - ## How often (in seconds) to perform the probes. This value sends one probe every 30 seconds - periodSeconds: 30 - ## Minimum consecutive successes for the probe to be considered successful after having failed - successThreshold: 1 - ## Number of seconds after which the probe times out - timeoutSeconds: 10 - - ## Set custom readinessProbe - readinessProbe: - ## Probe type - httpGet: - path: /health - port: http - scheme: HTTP - ## Amount of request failures before the container receives a terminate signal - failureThreshold: 3 - ## How often (in seconds) to perform the probes. This value sends one probe every 30 seconds - periodSeconds: 30 - ## Minimum consecutive successes for the probe to be considered successful after having failed - successThreshold: 1 - ## Number of seconds after which the probe times out - timeoutSeconds: 10 - - resources: {} - # requests: - # memory: "200Mi" - # cpu: "200m" - - analyticsEnabled: true - podStartTimeout: "30m" - slackToken: "" - slackSecret: "" - slackTemplate: "" - slackConfig: "" - executors: "" - # Requests panel here: - # https://webhook.site/#!/f99d020e-8815-4bed-963c-1ed7c54a0d0c - cdeventsTarget: "https://webhook.site/f99d020e-8815-4bed-963c-1ed7c54a0d0c" - dashboardUri: "" - clusterName: "" - enableSecretsEndpoint: false - disableSecretCreation: false - defaultStorageClassName: "" - enableK8sEvents: true - dockerImageVersion: "" - - priorityClassName: "highest-priority" - - testkubeLogs: - grpcAddress: "testkube-logs:9090" - - ##Test Connection pod - testConnection: - enabled: true - - nodeSelector: {} - -testkube-operator: - priorityClassName: "highest-priority" - - resources: {} - # requests: - # memory: "200Mi" - # cpu: "100m" - - ##Test Connection pod - testConnection: - enabled: true - - nodeSelector: {}