Skip to content

Commit

Permalink
docs: enterprise docs (#23)
Browse files Browse the repository at this point in the history
* enterprise docs

* update enterprise docs

* doc updates

* more updates

* doc polishes

* doc polishes

* update chart readmes

* update chart readmes

* bump charts

* bump charts
  • Loading branch information
dejanzele authored Jun 22, 2023
1 parent 2b928b2 commit 03a92a1
Show file tree
Hide file tree
Showing 19 changed files with 489 additions and 54 deletions.
10 changes: 8 additions & 2 deletions .github/workflows/release-main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,17 @@ jobs:

- name: Sync & Update Testkube Enterprise Helm chart
run: |
bump_strategy="patch"
changed=$(git status --porcelain charts/testkube-enterprise | wc -l)
if [ $changed -gt 0 ]; then
bump_strategy="none"
fi
echo "Syncing subchart versions in testkube-enterprise Helm chart"
./scripts/sync.sh
echo "Updating testkube-enterprise Helm chart version"
./scripts/update.sh -c testkube-enterprise -s minor --verbose
echo "Updating testkube-enterprise Helm chart version with bump strategy: $bump_strategy"
./scripts/update.sh -c testkube-enterprise -s $bump_strategy --verbose
enterprise_chart_version=$(./scripts/update.sh -c testkube-enterprise --print-chart-version)
echo "ENTERPRISE_CHART_VERSION=$enterprise_chart_version" >> $GITHUB_ENV
Expand Down
2 changes: 1 addition & 1 deletion charts/testkube-cloud-api/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: testkube-cloud-api
description: A Helm chart for Testkube Cloud API
type: application
version: 1.6.8
version: 1.7.0
appVersion: 1.2.0-dev-39ae202
maintainers:
- name: testkube
Expand Down
12 changes: 10 additions & 2 deletions charts/testkube-cloud-api/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# testkube-cloud-api

![Version: 1.6.3](https://img.shields.io/badge/Version-1.6.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.2.0-dev-ba71c83](https://img.shields.io/badge/AppVersion-1.2.0--dev--ba71c83-informational?style=flat-square)
![Version: 1.7.0](https://img.shields.io/badge/Version-1.7.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.2.0-dev-39ae202](https://img.shields.io/badge/AppVersion-1.2.0--dev--39ae202-informational?style=flat-square)

A Helm chart for Testkube Cloud API

Expand Down Expand Up @@ -30,6 +30,7 @@ A Helm chart for Testkube Cloud API
| api.agent.port | string | `"443"` | Agent port |
| api.apiAddress | string | `""` | API address (used in invitation emails) (example `https://api.testkube.xyz`) |
| api.dashboardAddress | string | `""` | Dashboard address (used in invitation emails) (example `https://cloud.testkube.xyz`) |
| api.inviteMode | string | `"email"` | Configure which invitation mode to use (email|auto-accept): email uses SMTP protocol to send email invites and auto-accept immediately adds them |
| api.migrations.enabled | bool | `false` | Toggle whether to apply migrations for MongoDB |
| api.migrations.image.repository | string | `"kubeshop/testkube-cloud-api-migrations"` | |
| api.migrations.useHelmHooks | bool | `true` | Toggle whether to enable pre-install & pre-upgrade hooks |
Expand All @@ -55,6 +56,11 @@ A Helm chart for Testkube Cloud API
| api.outputsBucket | string | `"testkube-cloud-outputs"` | S3 bucket in which outputs are stored |
| api.sendgrid.apiKey | string | `""` | Sendgrid API key |
| api.sendgrid.secretRef | string | `""` | Secret API key secret ref (secret must contain key SENDGRID_API_KEY) (default is `sendgrid-api-key`) |
| api.smtp.host | string | `"smtp.sendgrid.net"` | SMTP host |
| api.smtp.password | string | `""` | SMTP password |
| api.smtp.passwordSecretRef | string | `""` | SMTP secret ref (secret must contain key SMTP_PASSWORD), overrides password field if defined |
| api.smtp.port | int | `587` | SMTP port |
| api.smtp.username | string | `""` | SMTP username |
| api.tls.agentPort | int | `8443` | Agent gRPCS port |
| api.tls.apiPort | int | `9443` | API HTTPS port |
| api.tls.certManager.issuerGroup | string | `"cert-manager.io"` | Certificate Issuer group (only used if `provider` is set to `cert-manager`) |
Expand All @@ -71,14 +77,16 @@ A Helm chart for Testkube Cloud API
| fullnameOverride | string | `""` | |
| global.certManager.issuerRef | string | `""` | Certificate Issuer ref (only used if `provider` is set to `cert-manager`) |
| global.certificateProvider | string | `""` | TLS provider (possible values: "", "cert-manager") |
| global.dex.issuerUrl | string | `""` | Global Dex issuer url |
| global.domain | string | `""` | Domain under which to create Ingress rules |
| global.enterpriseLicenseFile | string | `""` | Base64-encoded Enterprise License file |
| global.enterpriseLicenseFileSecretRef | string | `""` | Enterprise License file secret ref (secret should contain a file called 'license.lic') |
| global.enterpriseLicenseKey | string | `""` | Enterprise License key |
| global.enterpriseLicenseSecretRef | string | `""` | Enterprise License file secret ref (secret should contain a file called 'license.lic') |
| global.enterpriseMode | bool | `false` | Toggle whether UI is installed in Enterprise mode |
| global.enterpriseOfflineAccess | bool | `false` | Toggle whether to enable offline license activation in Enterprise mode |
| global.grpcApiSubdomain | string | `"agent"` | gRPC API subdomain which get prepended to the domain |
| global.imagePullSecrets | list | `[]` | Global image pull secrets (provided usually by a parent chart like testkube-enterprise) |
| global.ingress.enabled | bool | `true` | Toggle whether to enable or disable all Ingress resources (if false, all Ingress resources will be disabled and cannot be overriden) |
| global.restApiSubdomain | string | `"api"` | REST API subdomain which get prepended to the domain |
| global.uiSubdomain | string | `"cloud"` | UI subdomain which get prepended to the domain |
| global.websocketApiSubdomain | string | `"websockets"` | Websocket API subdomain which get prepended to the domain |
Expand Down
44 changes: 35 additions & 9 deletions charts/testkube-cloud-api/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,39 @@ spec:
- name: ENTERPRISE_OFFLINE_ACTIVATION
value: "{{ .Values.global.enterpriseOfflineAccess }}"
{{- end }}
{{- if .Values.global.enterpriseLicenseKey }}
{{- if .Values.global.enterpriseMode }}
- name: ENTERPRISE_LICENSE_KEY
{{- if .Values.global.enterpriseLicenseSecretRef }}
valueFrom:
secretKeyRef:
key: LICENSE_KEY
name: {{ .Values.global.enterpriseLicenseSecretRef }}
{{- else }}
value: "{{ .Values.global.enterpriseLicenseKey }}"
{{- end }}
{{- end }}
{{- if .Values.global.enterpriseLicenseFile }}
- name: ENTERPRISE_LICENSE_KEY
value: "{{ .Values.global.enterpriseLicenseKey }}"
- name: ENTERPRISE_LICENSE_FILE
value: "{{ .Values.global.enterpriseLicenseFile }}"
{{- end }}
- name: INVITE_MODE
value: "{{ .Values.api.inviteMode }}"
{{- if eq .Values.api.inviteMode "email" }}
- name: SMTP_HOST
value: "{{ .Values.api.smtp.host }}"
- name: SMTP_PORT
value: "{{ .Values.api.smtp.port }}"
- name: SMTP_USER
value: "{{ .Values.api.smtp.username }}"
- name: SMTP_PASSWORD
{{- if .Values.api.smtp.passwordSecretRef }}
valueFrom:
secretKeyRef:
key: SMTP_PASSWORD
name: {{ .Values.api.smtp.passwordSecretRef }}
{{- else }}
value: {{ .Values.api.smtp.password }}
{{- end }}
{{- end }}
- name: ROOT_DOMAIN
value: "{{ .Values.global.domain }}"
Expand Down Expand Up @@ -149,7 +175,7 @@ spec:
key: OAUTH_ISSUER_URL
name: {{ .Values.api.oauth.secretRef }}
{{- else }}
value: {{ if .Values.api.oauth.issuerUrl }}{{ .Values.api.oauth.issuerUrl }}{{ else }}https://{{ .Values.global.restApiSubdomain }}.{{ .Values.global.domain }}/idp{{ end }}
value: {{ if .Values.global.dex.issuerUrl}}{{ .Values.global.dex.issuerUrl }}{{ else if .Values.api.oauth.issuerUrl }}{{ .Values.api.oauth.issuerUrl }}{{ else }}https://{{ .Values.global.restApiSubdomain }}.{{ .Values.global.domain }}/idp{{ end }}
{{- end }}
- name: OAUTH_REDIRECT_URI
{{- if .Values.api.oauth.secretRef }}
Expand Down Expand Up @@ -255,7 +281,7 @@ spec:
port: {{ if .Values.api.tls.serveHTTPS }}https{{ else }}http{{ end }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- if or .Values.api.tls.serveHTTPS .Values.global.enterpriseLicenseFileSecretRef }}
{{- if or .Values.api.tls.serveHTTPS .Values.global.enterpriseLicenseSecretRef }}
volumeMounts:
{{- if .Values.api.tls.serveHTTPS }}
- mountPath: /tmp/serving-cert/crt.pem
Expand All @@ -267,7 +293,7 @@ spec:
name: serving-cert
subPath: tls.key
{{- end }}
{{- if .Values.global.enterpriseLicenseFileSecretRef }}
{{- if and .Values.global.enterpriseLicenseSecretRef .Values.global.enterpriseOfflineAccess }}
- mountPath: /testkube/license.lic
readOnly: true
name: license-file
Expand All @@ -286,16 +312,16 @@ spec:
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- if or .Values.api.tls.serveHTTPS .Values.global.enterpriseLicenseFileSecretRef }}
{{- if or .Values.api.tls.serveHTTPS .Values.global.enterpriseLicenseSecretRef }}
volumes:
{{- if .Values.api.tls.serveHTTPS }}
- name: serving-cert
secret:
secretName: {{ .Values.api.tls.tlsSecret }}
{{- end }}
{{- if .Values.global.enterpriseLicenseFileSecretRef }}
{{- if and .Values.global.enterpriseLicenseSecretRef .Values.global.enterpriseOfflineAccess }}
- name: license-file
secret:
secretName: {{ .Values.global.enterpriseLicenseFileSecretRef }}
secretName: {{ .Values.global.enterpriseLicenseSecretRef }}
{{- end }}
{{- end }}
2 changes: 1 addition & 1 deletion charts/testkube-cloud-api/templates/ingress-grpc.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{- if .Values.grpcIngress.enabled -}}
{{- if and .Values.global.ingress.enabled .Values.grpcIngress.enabled -}}
{{- $fullName := include "testkube-cloud-api.fullname" . -}}
{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.grpcIngress.annotations "kubernetes.io/ingress.class") }}
Expand Down
2 changes: 1 addition & 1 deletion charts/testkube-cloud-api/templates/ingress-rest.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{- if .Values.restIngress.enabled -}}
{{- if and .Values.global.ingress.enabled .Values.restIngress.enabled -}}
{{- $fullName := include "testkube-cloud-api.fullname" . -}}
{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.restIngress.annotations "kubernetes.io/ingress.class") }}
Expand Down
2 changes: 1 addition & 1 deletion charts/testkube-cloud-api/templates/ingress-ws.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{- if .Values.websocketsIngress.enabled -}}
{{- if and .Values.global.ingress.enabled .Values.websocketsIngress.enabled -}}
{{- $fullName := include "testkube-cloud-api.fullname" . -}}
{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.websocketsIngress.annotations "kubernetes.io/ingress.class") }}
Expand Down
21 changes: 20 additions & 1 deletion charts/testkube-cloud-api/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ global:
# -- Base64-encoded Enterprise License file
enterpriseLicenseFile: ""
# -- Enterprise License file secret ref (secret should contain a file called 'license.lic')
enterpriseLicenseFileSecretRef: ""
enterpriseLicenseSecretRef: ""
# -- Domain under which to create Ingress rules
domain: ""
# -- UI subdomain which get prepended to the domain
Expand All @@ -30,6 +30,12 @@ global:
issuerRef: ""
# -- Global image pull secrets (provided usually by a parent chart like testkube-enterprise)
imagePullSecrets: []
ingress:
# -- Toggle whether to enable or disable all Ingress resources (if false, all Ingress resources will be disabled and cannot be overriden)
enabled: true
dex:
# -- Global Dex issuer url
issuerUrl: ""

replicaCount: 1

Expand Down Expand Up @@ -75,6 +81,19 @@ api:
useHelmHooks: true
image:
repository: kubeshop/testkube-cloud-api-migrations
# -- Configure which invitation mode to use (email|auto-accept): email uses SMTP protocol to send email invites and auto-accept immediately adds them
inviteMode: email
smtp:
# -- SMTP host
host: smtp.sendgrid.net
# -- SMTP port
port: 587
# -- SMTP username
username: ""
# -- SMTP password
password: ""
# -- SMTP secret ref (secret must contain key SMTP_PASSWORD), overrides password field if defined
passwordSecretRef: ""
tls:
# -- Toggle should the Application terminate TLS instead of the Ingress
serveHTTPS: true
Expand Down
2 changes: 1 addition & 1 deletion charts/testkube-cloud-ui/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: testkube-cloud-ui
description: A Helm chart for Testkube Cloud UI
type: application
version: 1.2.0
version: 1.3.0
appVersion: 1.0.2
maintainers:
- name: testkube
Expand Down
3 changes: 2 additions & 1 deletion charts/testkube-cloud-ui/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# testkube-cloud-ui

![Version: 1.2.0](https://img.shields.io/badge/Version-1.2.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.0.2](https://img.shields.io/badge/AppVersion-1.0.2-informational?style=flat-square)
![Version: 1.3.0](https://img.shields.io/badge/Version-1.3.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.0.2](https://img.shields.io/badge/AppVersion-1.0.2-informational?style=flat-square)

A Helm chart for Testkube Cloud UI

Expand Down Expand Up @@ -32,6 +32,7 @@ A Helm chart for Testkube Cloud UI
| global.domain | string | `""` | Domain under which to create Ingress rules |
| global.enterpriseMode | bool | `false` | Toggle whether UI is installed in Enterprise mode |
| global.imagePullSecrets | list | `[]` | Global image pull secrets (provided usually by a parent chart like testkube-enterprise) |
| global.ingress.enabled | bool | `true` | Global toggle whether to create Ingress resources |
| global.uiSubdomain | string | `"cloud"` | UI subdomain which get prepended to the domain |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"kubeshop/testkube-cloud-ui"` | |
Expand Down
2 changes: 1 addition & 1 deletion charts/testkube-cloud-ui/templates/ingress.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{- if .Values.ingress.enabled -}}
{{- if and .Values.global.ingress .Values.ingress.enabled -}}
{{- $fullName := include "testkube-cloud-ui.fullname" . -}}
{{- $svcPort := .Values.service.port -}}
{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
Expand Down
3 changes: 3 additions & 0 deletions charts/testkube-cloud-ui/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ global:
issuerRef: ""
# -- Global image pull secrets (provided usually by a parent chart like testkube-enterprise)
imagePullSecrets: []
ingress:
# -- Global toggle whether to create Ingress resources
enabled: true

replicaCount: 1

Expand Down
8 changes: 4 additions & 4 deletions charts/testkube-enterprise/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ dependencies:
version: 2.2.5
- name: testkube-cloud-api
repository: file://../testkube-cloud-api
version: 1.6.8
version: 1.7.0
- name: testkube-cloud-ui
repository: file://../testkube-cloud-ui
version: 1.2.0
version: 1.3.0
- name: dex
repository: https://charts.dexidp.io
version: 0.14.1
Expand All @@ -17,5 +17,5 @@ dependencies:
- name: nats
repository: https://nats-io.github.io/k8s/helm/charts/
version: 0.14.2
digest: sha256:6266d3cb6811d51b5e930b52fb9a95b12b0c25259c928d9bac24a78989c03500
generated: "2023-06-22T11:13:12.925628573Z"
digest: sha256:366778e3225e2130e970874f4a95ce884252adc04e0f18905e0d9ebc64b6960c
generated: "2023-06-22T14:03:53.41021+02:00"
6 changes: 3 additions & 3 deletions charts/testkube-enterprise/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ apiVersion: v2
name: testkube-enterprise
description: A Helm chart for Testkube Enterprise
type: application
version: 1.6.0
version: 1.7.0
dependencies:
- name: common
version: 2.2.5
repository: https://charts.bitnami.com/bitnami
- name: testkube-cloud-api
version: 1.6.8
version: 1.7.0
repository: file://../testkube-cloud-api
- name: testkube-cloud-ui
version: 1.2.0
version: 1.3.0
repository: file://../testkube-cloud-ui
- name: dex
version: 0.14.1
Expand Down
Loading

0 comments on commit 03a92a1

Please sign in to comment.