Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: testkube-enterprise: add support for minio cert config #111

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion charts/testkube-cloud-api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,20 @@ A Helm chart for Testkube Cloud API
| api.migrations.ttlSecondsAfterFinished | int | `90` | TTL for the migration job |
| api.migrations.useHelmHooks | bool | `true` | Toggle whether to enable pre-install & pre-upgrade hooks |
| api.minio.accessKeyId | string | `""` | MinIO access key id |
| api.minio.certSecret.baseMountPath | string | `"/etc/client-certs/storage"` | Base path to mount the client certificate secret |
| api.minio.certSecret.caFile | string | `"ca.crt"` | Path to ca file (used for self-signed certificates) |
| api.minio.certSecret.certFile | string | `"cert.crt"` | Path to client certificate file |
| api.minio.certSecret.enabled | bool | `false` | Toggle whether to mount k8s secret which contains storage client certificate (cert.crt, cert.key, ca.crt) |
| api.minio.certSecret.keyFile | string | `"cert.key"` | Path to client certificate key file |
| api.minio.certSecret.name | string | `"storage-client-cert"` | Name of the storage client certificate secret |
| api.minio.credsSecretRef | string | `""` | Credentials secret ref (secret should contain keys: root-user, root-password, token) (default is `testkube-cloud-minio-secret`) |
| api.minio.endpoint | string | `"minio.testkube.svc.cluster.local:9000"` | MinIO endpoint |
| api.minio.expirationPeriod | int | `0` | Expiration period in days |
| api.minio.mountCACertificate | bool | `false` | If enabled, will also require a CA certificate to be provided |
| api.minio.region | string | `""` | S3 region |
| api.minio.secretAccessKey | string | `""` | MinIO secret access key |
| api.minio.secure | bool | `false` | Should be set to `true` if MinIO is behind |
| api.minio.skipVerify | bool | `false` | Toggle whether to verify TLS certificates |
| api.minio.token | string | `""` | MinIO token |
| api.mongo.database | string | `"testkubecloud"` | Mongo database name |
| api.mongo.dsn | string | `"mongodb://mongodb.testkube.svc.cluster.local:27017"` | if mongoDsnSecretRef is empty (""), mongoDsn field will be used for setting the Mongo DSN connection string |
Expand Down Expand Up @@ -159,4 +167,4 @@ A Helm chart for Testkube Cloud API
| websocketsIngress.labels | object | `{}` | Additional labels to add to the WebSocket Ingress resource |

----------------------------------------------
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.13.0](https://github.com/norwoodj/helm-docs/releases/v1.13.0)
12 changes: 12 additions & 0 deletions charts/testkube-cloud-api/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,18 @@ spec:
{{- else }}
value: "{{ .Values.api.minio.token }}"
{{- end }}
- name: "MINIO_SKIP_VERIFY"
value: "{{ .Values.api.minio.skipVerify }}"
{{- if .Values.api.minio.certSecret.enabled }}
- name: "MINIO_CERT_FILE"
value: "{{ .Values.api.minio.certSecret.baseMountPath }}/{{ .Values.api.minio.certSecret.certFile }}"
- name: "MINIO_KEY_FILE"
value: "{{ .Values.api.minio.certSecret.baseMountPath }}/{{ .Values.api.minio.certSecret.keyFile }}"
{{- if .Values.api.minio.mountCACertificate }}
- name: "MINIO_CA_FILE"
value: "{{ .Values.api.minio.certSecret.baseMountPath }}/{{ .Values.api.minio.certSecret.caFile }}"
{{- end }}
{{- end }}
{{- range $k, $v := .Values.additionalEnv }}
- name: {{ $k }}
value: "{{ $v }}"
Expand Down
17 changes: 17 additions & 0 deletions charts/testkube-cloud-api/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,23 @@ api:
expirationPeriod: 0
# -- Should be set to `true` if MinIO is behind
secure: false
# -- Toggle whether to verify TLS certificates
skipVerify: false
# -- If enabled, will also require a CA certificate to be provided
mountCACertificate: false
certSecret:
# -- Toggle whether to mount k8s secret which contains storage client certificate (cert.crt, cert.key, ca.crt)
enabled: false
# -- Name of the storage client certificate secret
name: "storage-client-cert"
# -- Base path to mount the client certificate secret
baseMountPath: /etc/client-certs/storage
# -- Path to client certificate file
certFile: "cert.crt"
# -- Path to client certificate key file
keyFile: "cert.key"
# -- Path to ca file (used for self-signed certificates)
caFile: "ca.crt"
sendgrid:
# -- Sendgrid API key
apiKey: ""
Expand Down
10 changes: 9 additions & 1 deletion charts/testkube-enterprise/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,12 +146,20 @@ A Helm chart for Testkube Enterprise
| testkube-cloud-api.api.migrations.ttlSecondsAfterFinished | int | `90` | |
| testkube-cloud-api.api.migrations.useHelmHooks | bool | `false` | Toggle whether to enable pre-install & pre-upgrade hooks (should be disabled if mongo is installed using this chart) |
| testkube-cloud-api.api.minio.accessKeyId | string | `"testkube-enterprise"` | MinIO access key id |
| testkube-cloud-api.api.minio.certSecret.baseMountPath | string | `"/etc/client-certs/storage"` | Base path to mount the client certificate secret |
| testkube-cloud-api.api.minio.certSecret.caFile | string | `"ca.crt"` | Path to ca file (used for self-signed certificates) |
| testkube-cloud-api.api.minio.certSecret.certFile | string | `"cert.crt"` | Path to client certificate file |
| testkube-cloud-api.api.minio.certSecret.enabled | bool | `false` | Toggle whether to mount k8s secret which contains storage client certificate (cert.crt, cert.key, ca.crt) |
| testkube-cloud-api.api.minio.certSecret.keyFile | string | `"cert.key"` | Path to client certificate key file |
| testkube-cloud-api.api.minio.certSecret.name | string | `"storage-client-cert"` | Name of the storage client certificate secret |
| testkube-cloud-api.api.minio.credsSecretRef | string | `""` | Credentials secret ref (secret should contain keys: root-user, root-password, token) (default is `testkube-cloud-minio-secret`) |
| testkube-cloud-api.api.minio.endpoint | string | `"{{ .Values.global.storageApiSubdomain }}.{{ .Values.global.domain }}"` | Define the MinIO service endpoint. Leave empty to auto-generate when using bundled MinIO. Specify if using an external MinIO service |
| testkube-cloud-api.api.minio.expirationPeriod | int | `0` | Expiration period in days |
| testkube-cloud-api.api.minio.mountCACertificate | bool | `false` | If enabled, will also require a CA certificate to be provided |
| testkube-cloud-api.api.minio.region | string | `""` | S3 region |
| testkube-cloud-api.api.minio.secretAccessKey | string | `"t3stkub3-3nt3rpr1s3"` | MinIO secret access key |
| testkube-cloud-api.api.minio.secure | bool | `true` | Should be set to `true` if MinIO is exposed through HTTPS |
| testkube-cloud-api.api.minio.skipVerify | bool | `false` | Toggle whether to verify TLS certificates |
| testkube-cloud-api.api.minio.token | string | `""` | MinIO token |
| testkube-cloud-api.api.mongo.database | string | `"testkubeEnterpriseDB"` | Mongo database name |
| testkube-cloud-api.api.mongo.dsn | string | `"mongodb://testkube-enterprise-mongodb:27017"` | Mongo DSN connection string |
Expand Down Expand Up @@ -196,4 +204,4 @@ A Helm chart for Testkube Enterprise
| testkube-worker-service.image.tag | string | `"1.9.1"` | |

----------------------------------------------
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.13.0](https://github.com/norwoodj/helm-docs/releases/v1.13.0)
17 changes: 17 additions & 0 deletions charts/testkube-enterprise/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,23 @@ testkube-cloud-api:
expirationPeriod: 0
# -- Should be set to `true` if MinIO is exposed through HTTPS
secure: true
# -- Toggle whether to verify TLS certificates
skipVerify: false
# -- If enabled, will also require a CA certificate to be provided
mountCACertificate: false
certSecret:
# -- Toggle whether to mount k8s secret which contains storage client certificate (cert.crt, cert.key, ca.crt)
enabled: false
# -- Name of the storage client certificate secret
name: "storage-client-cert"
# -- Base path to mount the client certificate secret
baseMountPath: /etc/client-certs/storage
# -- Path to client certificate file
certFile: "cert.crt"
# -- Path to client certificate key file
keyFile: "cert.key"
# -- Path to ca file (used for self-signed certificates)
caFile: "ca.crt"
sendgrid:
# -- Sendgrid API key
apiKey: ""
Expand Down
Loading