Skip to content

Commit

Permalink
update from develop
Browse files Browse the repository at this point in the history
  • Loading branch information
dejanzele committed Nov 21, 2023
2 parents 81377b9 + 2d196a6 commit 8f25299
Show file tree
Hide file tree
Showing 14 changed files with 188 additions and 134 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ helm:
value: kubeshop/testkube-cloud-api
forcestring: true
- name: image.tag
value: 1.7.0-rc-37d51f3
value: 1.6.7-rc-832fdf0
forcestring: true
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ helm:
value: kubeshop/testkube-cloud-api
forcestring: true
- name: image.tag
value: 1.7.0-dev-2f6494d
value: 1.7.0-dev-bf894c2
forcestring: true
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ helm:
value: kubeshop/testkube-cloud-api
forcestring: true
- name: image.tag
value: 1.6.5-rc-0156232
value: 1.7.0-rc-37d51f3
forcestring: true
2 changes: 1 addition & 1 deletion charts/testkube-cloud-api/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ spec:
- name: {{ $key }}
valueFrom:
secretKeyRef:
key: {{ $key }}
key: {{ $value }}
name: api-external-secrets
{{ end }}
{{- end}}
Expand Down
3 changes: 1 addition & 2 deletions charts/testkube-cloud-api/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ replicaCount: 1
image:
repository: kubeshop/testkube-cloud-api
pullPolicy: IfNotPresent
tag: "1.6.4"
tag: "1.6.7"
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
Expand Down Expand Up @@ -273,7 +273,6 @@ statusPagesIngress:
minio:
# -- Toggle whether to deploy MinIO
enabled: false

# -- MinIO full name override
fullnameOverride: ""
# -- MinIO name override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ helm:
value: kubeshop/testkube-cloud-ui
forcestring: true
- name: image.tag
value: 1.7.0-dev-db16081
value: 1.7.0-dev-545d777
forcestring: true
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
helm:
parameters:
- name: image.name
value: kubeshop/testkube-cloud-ui
value: kubeshop/testkube-enterprise-ui
forcestring: true
- name: image.tag
value: 1.4.0-rc-a614087
value: 1.6.4
forcestring: true
12 changes: 6 additions & 6 deletions charts/testkube-enterprise/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
version: 2.2.5
version: 2.13.3
- name: testkube-cloud-api
repository: file://../testkube-cloud-api
version: 1.22.1
Expand All @@ -10,12 +10,12 @@ dependencies:
version: 1.21.0
- name: dex
repository: https://charts.dexidp.io
version: 0.14.1
version: 0.15.3
- name: mongodb
repository: https://charts.bitnami.com/bitnami
version: 13.10.2
version: 14.3.0
- name: nats
repository: https://nats-io.github.io/k8s/helm/charts/
version: 0.14.2
digest: sha256:3db2e044500e5e5163ff02e66d02de9af4a6e8568f40ecd27d14e12699fe99d6
generated: "2023-11-15T11:53:44.862905823Z"
version: 1.1.5
digest: sha256:1642d9202556a1e81bb8eb7a7aa63fe1db5dbf44cb43e33f3e9120ac84772a50
generated: "2023-11-21T14:21:23.636115+01:00"
11 changes: 4 additions & 7 deletions charts/testkube-enterprise/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ type: application
version: 1.34.1
dependencies:
- name: common
version: 2.2.5
version: 2.13.3
repository: https://charts.bitnami.com/bitnami
- name: testkube-cloud-api
version: 1.22.1
Expand All @@ -14,22 +14,19 @@ dependencies:
version: 1.21.0
repository: file://../testkube-cloud-ui
- name: dex
version: 0.14.1
version: 0.15.3
repository: https://charts.dexidp.io
condition: dex.enabled
- name: mongodb
version: 13.10.2
version: 14.3.0
repository: https://charts.bitnami.com/bitnami
condition: mongodb.enabled
- name: nats
version: 0.14.2
version: 1.1.5
repository: https://nats-io.github.io/k8s/helm/charts/
condition: nats.enabled
maintainers:
- name: testkube
url: https://testkube.io
icon: https://assets.website-files.com/61e00b3936e571a4ea7a5a4c/623b2bb9387ad04955b1f82c_testkube.svg
home: https://github.com/kubeshop/testkube-cloud-charts
sources:
- https://github.com/kubeshop/testkube-cloud-api
- https://github.com/kubeshop/testkube-cloud-ui
58 changes: 31 additions & 27 deletions charts/testkube-enterprise/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,16 @@ A Helm chart for Testkube Enterprise
| ---- | ------ | --- |
| testkube | | <https://testkube.io> |

## Source Code

* <https://github.com/kubeshop/testkube-cloud-api>
* <https://github.com/kubeshop/testkube-cloud-ui>

## Requirements

| Repository | Name | Version |
|------------|------|---------|
| file://../testkube-cloud-api | testkube-cloud-api | 1.22.1 |
| file://../testkube-cloud-ui | testkube-cloud-ui | 1.21.0 |
| https://charts.bitnami.com/bitnami | common | 2.2.5 |
| https://charts.bitnami.com/bitnami | mongodb | 13.10.2 |
| https://charts.dexidp.io | dex | 0.14.1 |
| https://nats-io.github.io/k8s/helm/charts/ | nats | 0.14.2 |
| https://charts.bitnami.com/bitnami | common | 2.13.3 |
| https://charts.bitnami.com/bitnami | mongodb | 14.3.0 |
| https://charts.dexidp.io | dex | 0.15.3 |
| https://nats-io.github.io/k8s/helm/charts/ | nats | 1.1.5 |

## Values

Expand All @@ -35,7 +30,7 @@ A Helm chart for Testkube Enterprise
| dex.configSecret.create | bool | `false` | This should be set to `false` so Dex does not create the config secret. Refer to the `createCustom` field for more info on creating config secret. |
| dex.configSecret.createCustom | bool | `true` | Toggle whether to create a custom config secret for Dex (templates/dex-config-secret.yaml). If set to `true`, the `configTemplate` field will be used to generate the config secret. |
| dex.configSecret.name | string | `"testkube-enterprise-dex-config"` | The name of the secret to mount as configuration in the pod. Set `createCustom: false` and edit the secret manually to use a custom config secret. |
| dex.configTemplate | object | `{"additionalConfig":"","base":"logger:\n level: debug\n format: json\nstorage:\n type: kubernetes\n config:\n inCluster: true\n","customConfig":""}` | Inline Dex configuration which will be used to generate the config secret. |
| dex.configTemplate | object | `{"additionalConfig":"","base":"logger:\n level: debug\n format: json\n","customConfig":""}` | Inline Dex configuration which will be used to generate the config secret. |
| dex.configTemplate.additionalConfig | string | `""` | Additional config which will be appended to the config like `staticClients`, `staticPasswords ,`connectors`... |
| dex.configTemplate.customConfig | string | `""` | If provided, it will completely override the default config (`base` and `additionalConfig`). This is useful if you want to use a custom config file. |
| dex.enabled | bool | `true` | Toggle whether to install Dex |
Expand All @@ -49,10 +44,13 @@ A Helm chart for Testkube Enterprise
| dex.ingress.tls[0].hosts[0] | string | `"api.{{ .Values.global.domain }}"` | |
| dex.ingress.tls[0].secretName | string | `"testkube-enterprise-api-tls"` | |
| dex.podSecurityContext | string | `nil` | MongoDB Pod Security Context |
| dex.rbac.create | bool | `true` | Specifies whether RBAC resources should be created. If disabled, the operator is responsible for creating the necessary resources based on the templates. |
| dex.rbac.createClusterScoped | bool | `true` | Specifies which RBAC resources should be created. If disabled, the operator is responsible for creating the necessary resources (ClusterRole and RoleBinding or CRD's) |
| dex.resources.limits | object | `{}` | |
| dex.resources.requests.cpu | string | `"100m"` | |
| dex.resources.requests.memory | string | `"128Mi"` | |
| dex.securityContext | object | `{}` | Security Context for MongoDB container |
| dex.storage | object | `{}` | Configure backend for Dex internal config (more info here https://dexidp.io/docs/storage) |
| global.certManager.issuerRef | string | `""` | Certificate Issuer ref (only used if `provider` is set to `cert-manager`) |
| global.certificateProvider | string | `"cert-manager"` | TLS certificate provider. Set to "cert-manager" for integration with cert-manager or leave empty for other methods |
| global.dex.issuer | string | `""` | Global Dex issuer url which is configured both in Dex and API |
Expand All @@ -77,22 +75,27 @@ A Helm chart for Testkube Enterprise
| mongodb.podSecurityContext | object | `{}` | MongoDB Pod Security Context |
| mongodb.resources | object | `{"requests":{"cpu":"150m","memory":"128Mi"}}` | MongoDB resource settings |
| mongodb.tolerations | list | `[]` | |
| nats.cluster.enabled | bool | `true` | Enable cluster mode (HA) |
| nats.cluster.replicas | int | `3` | NATS cluster replicas |
| nats.exporter.enabled | bool | `true` | Toggle whether to install NATS exporter |
| nats.exporter.resources | object | `{}` | Exporter resources settings |
| nats.exporter.securityContext | object | `{}` | Security Context for Exporter container |
| nats.config.cluster.enabled | bool | `true` | Enable cluster mode (HA) |
| nats.config.cluster.replicas | int | `3` | NATS cluster replicas |
| nats.config.jetstream.enabled | bool | `true` | |
| nats.config.jetstream.fileStore.pvc.enabled | bool | `true` | |
| nats.config.jetstream.fileStore.pvc.size | string | `"10Gi"` | |
| nats.config.jetstream.fileStore.pvc.storageClassName | string | `nil` | |
| nats.config.merge | object | `{"max_payload":"<< 8MB >>"}` | Merge additional fields to nats config https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#container-v1-core |
| nats.config.patch | list | `[]` | Patch additional fields to nats config |
| nats.fullnameOverride | string | `"testkube-enterprise-nats"` | |
| nats.nats.enabled | bool | `true` | Toggle whether to install NATS |
| nats.nats.limits.maxPayload | string | `"8MB"` | Max payload |
| nats.nats.resources | object | `{}` | NATS resource settings |
| nats.nats.securityContext | object | `{}` | Security Context for NATS container |
| nats.natsbox.securityContext | object | `{}` | Security Context for NATS Box container |
| nats.natsbox.tolerations | list | `[]` | NATS Box tolerations settings |
| nats.natsBox.enabled | bool | `true` | |
| nats.natsBox.env | object | `{}` | Map of additional env vars |
| nats.natsBox.merge | object | `{}` | Merge additional fields to the container https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#container-v1-core |
| nats.natsBox.patch | list | `[]` | Patch additional fields to the container |
| nats.promExporter.enabled | bool | `true` | Toggle whether to install NATS exporter |
| nats.promExporter.env | object | `{}` | Map of additional env vars |
| nats.promExporter.merge | object | `{}` | Merge additional fields to the container https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#container-v1-core |
| nats.promExporter.patch | list | `[]` | Patch additional fields to the container |
| nats.reloader.enabled | bool | `true` | Toggle whether to install Reloader |
| nats.reloader.securityContext | object | `{}` | Security Context for Reloader container |
| nats.securityContext | object | `{}` | NATS Pod Security Context |
| nats.tolerations | list | `[]` | |
| nats.reloader.env | object | `{}` | Map of additional env vars |
| nats.reloader.merge | object | `{}` | Merge additional fields to the container https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#container-v1-core |
| nats.reloader.patch | list | `[]` | Patch additional fields to the container |
| testkube-cloud-api.ai.secretRef | string | `""` | |
| testkube-cloud-api.api.agent.hide | bool | `false` | |
| testkube-cloud-api.api.agent.host | string | `""` | Agent host (without protocol) is used for building agent install commands (if blank, api will autogenerate it based on the value of `global.domain`) |
Expand Down Expand Up @@ -142,7 +145,7 @@ A Helm chart for Testkube Enterprise
| testkube-cloud-api.minio.fullnameOverride | string | `"testkube-enterprise-minio"` | MinIO fullname override |
| testkube-cloud-api.minio.image.pullPolicy | string | `"IfNotPresent"` | MinIO image pull policy |
| testkube-cloud-api.minio.image.repository | string | `"minio/minio"` | MinIO image repository |
| testkube-cloud-api.minio.image.tag | string | `"RELEASE.2023-11-06T22-26-08Z"` | MinIO image tag |
| testkube-cloud-api.minio.image.tag | string | `"RELEASE.2023-11-20T22-40-07Z"` | MinIO image tag |
| testkube-cloud-api.minio.ingress.enabled | bool | `true` | Toggle whether to enable ingress for MinIO |
| testkube-cloud-api.minio.ingress.tls.tlsSecret | string | `"testkube-enterprise-minio-tls"` | TLS secret name which contains the certificate files |
| testkube-cloud-api.minio.nodeSelector | object | `{}` | Node labels for pod assignment. |
Expand All @@ -158,8 +161,9 @@ A Helm chart for Testkube Enterprise
| testkube-cloud-api.prometheus.enabled | bool | `false` | |
| testkube-cloud-ui.fullnameOverride | string | `"testkube-enterprise-ui"` | |
| testkube-cloud-ui.image.repository | string | `"testkubeenterprise/testkube-enterprise-ui"` | |
| testkube-cloud-ui.image.tag | string | `"1.6.2"` | |
| testkube-cloud-ui.image.tag | string | `"1.6.4"` | |
| testkube-cloud-ui.ingress.tlsSecretName | string | `"testkube-enterprise-ui-tls"` | Name of the TLS secret which contains the certificate files |
| testkube-cloud-ui.ui.authStrategy | string | `""` | Auth strategy to use (possible values: "" (default), "gitlab", "github"), setting to "" enables all auth strategies, if you use a custom Dex connector, set this to the id of the connector |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0)
Autogenerated from chart metadata using [helm-docs v1.11.3](https://github.com/norwoodj/helm-docs/releases/v1.11.3)
34 changes: 26 additions & 8 deletions charts/testkube-enterprise/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,14 +196,15 @@ If you want to use a different Ingress Controller, we kindly ask you to reach ou
#### Domain

Testkube Enterprise requires a domain (public or internal) under which it will expose the following services:
| Subdomain | Service |
|---------------------------------|------------------|
| `dashboard.<your-(sub)domain>` | Dashboard UI |
| `api.<your-(sub)domain>` | REST API |
| `agent.(sub)<your-domain>` | gRPC API |
| `websockets.(sub)<your-domain>` | WebSockets API |
| `storage.(sub)<your-domain>` | Storage API |
| `status.(sub)<your-domain>` | Status Pages API |

| Subdomain | Service | Endpoint |
|---------------------------------|------------------|----------------------------------|
| `dashboard.<your-(sub)domain>` | Dashboard UI | `testkube-enterprise-ui:8080` |
| `api.<your-(sub)domain>` | REST API | `testkube-enterprise-api:9443` |
| `agent.<your-(sub)domain>` | gRPC API | `testkube-enterprise-api:8443` |
| `websockets.<your-(sub)domain>` | WebSockets API | `testkube-enterprise-api:9443` |
| `storage.<your-(sub)domain>` | Storage API | `testkube-enterprise-minio:9000` |
| `status.<your-(sub)domain>` | Status Pages API | `testkube-enterprise-api:9443` |

#### TLS

Expand Down Expand Up @@ -241,6 +242,23 @@ global:
Testkube Enterprise utilizes [Dex](https://dexidp.io/) for authentication & authorization.
For detailed instruction on configuring Dex, please refer to the [auth.md](./auth.md) document.

Dex requires persisting state to perform various tasks such as track refresh tokens, preventing replays, and rotating keys.
This document is a summary of the storage configurations supported by dex.

Default storage type for Dex is Kubernetes CRDs. This is the recommended storage type for most users.

In order to use a different storage type, you need to configure the `dex.storage` field in the `values.yaml` file.
```helm
storage:
type: sqlite3
config:
file: /var/dex/dex.db
```

If the `dex.storage` field is not configured, it will default to the Kubernetes CRDs storage type.

More info on various storage options can be found in the [Dex Storage](https://dexidp.io/docs/storage/) documentation.

### Metrics

Testkube Enterprise exposes Prometheus metrics on the `/metrics` endpoint and uses a `ServiceMonitor` resource to expose them to Prometheus.
Expand Down
24 changes: 0 additions & 24 deletions charts/testkube-enterprise/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,27 +1,3 @@
Thank you for subscribing to Testkube Enterprise!

Make sure to check out the Enterprise documentation at https://docs.testkube.io

To access your application, please follow the instructions below:
{{/*1. Get the application URL by running these commands:*/}}
{{/*{{- if .Values.ingress.enabled }}*/}}
{{/*{{- range $host := .Values.ingress.hosts }}*/}}
{{/* {{- range .paths }}*/}}
{{/* http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}*/}}
{{/* {{- end }}*/}}
{{/*{{- end }}*/}}
{{/*{{- else if contains "NodePort" .Values.service.type }}*/}}
{{/* export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "testkube-enterprise.fullname" . }})*/}}
{{/* export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")*/}}
{{/* echo http://$NODE_IP:$NODE_PORT*/}}
{{/*{{- else if contains "LoadBalancer" .Values.service.type }}*/}}
{{/* NOTE: It may take a few minutes for the LoadBalancer IP to be available.*/}}
{{/* You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "testkube-enterprise.fullname" . }}'*/}}
{{/* export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "testkube-enterprise.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")*/}}
{{/* echo http://$SERVICE_IP:{{ .Values.service.port }}*/}}
{{/*{{- else if contains "ClusterIP" .Values.service.type }}*/}}
{{/* export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "testkube-enterprise.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")*/}}
{{/* export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")*/}}
{{/* echo "Visit http://127.0.0.1:8080 to use your application"*/}}
{{/* kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT*/}}
{{/*{{- end }}*/}}
8 changes: 8 additions & 0 deletions charts/testkube-enterprise/templates/dex-config-secret.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ stringData:
{{- else }}
config.yaml: |-
{{- .Values.dex.configTemplate.base | nindent 4 }}
storage:
{{- if .Values.dex.storage }}
{{- toYaml .Values.dex.storage | nindent 6 }}
{{- else }}
type: kubernetes
config:
inCluster: true
{{- end }}
{{- $api := index .Values "testkube-cloud-api"}}
issuer: {{ if .Values.global.dex.issuer }}{{ .Values.global.dex.issuer }}{{ else }}https://{{ .Values.global.restApiSubdomain }}.{{ .Values.global.domain }}/idp{{ end }}
staticClients:
Expand Down
Loading

0 comments on commit 8f25299

Please sign in to comment.