diff --git a/stable/testlink/Chart.yaml b/stable/testlink/Chart.yaml index 55664e603a..f5ee738e27 100644 --- a/stable/testlink/Chart.yaml +++ b/stable/testlink/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: testlink -version: 7.0.3 +version: 7.1.0 appVersion: 1.9.19 description: Web-based test management system that facilitates software quality assurance. icon: https://bitnami.com/assets/stacks/testlink/img/testlink-stack-220x234.png diff --git a/stable/testlink/README.md b/stable/testlink/README.md index 0132a0cf83..f0f41715f8 100644 --- a/stable/testlink/README.md +++ b/stable/testlink/README.md @@ -49,71 +49,72 @@ The command removes all the Kubernetes components associated with the chart and The following table lists the configurable parameters of the TestLink chart and their default values. -| Parameter | Description | Default | -|-------------------------------------|-----------------------------------------|---------------------------------------------------------| -| `global.imageRegistry` | Global Docker image registry | `nil` | -| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) | -| `global.storageClass` | Global storage class for dynamic provisioning | `nil` | -| `image.registry` | TestLink image registry | `docker.io` | -| `image.repository` | TestLink image name | `bitnami/testlink` | -| `image.tag` | TestLink image tag | `{TAG_NAME}` | -| `image.pullPolicy` | Image pull policy | `IfNotPresent` | -| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) | -| `nameOverride` | String to partially override testlink.fullname template with a string (will prepend the release name) | `nil` | -| `fullnameOverride` | String to fully override testlink.fullname template with a string | `nil` | -| `testlinkUsername` | Admin username | `user` | -| `testlinkPassword` | Admin user password | _random 10 character long alphanumeric string_ | -| `testlinkEmail` | Admin user email | `user@example.com` | -| `smtpEnable` | Enable SMTP | `false` | -| `smtpHost` | SMTP host | `nil` | -| `smtpPort` | SMTP port | `nil` | -| `smtpUser` | SMTP user | `nil` | -| `smtpPassword` | SMTP password | `nil` | -| `smtpConnectionMode` | SMTP connection mode [`ssl`, `tls`] | `nil` | -| `allowEmptyPassword` | Allow DB blank passwords | `yes` | -| `ingress.enabled` | Enable ingress controller resource | `false` | -| `ingress.annotations` | Ingress annotations | `[]` | -| `ingress.certManager` | Add annotations for cert-manager | `false` | -| `ingress.hosts[0].name` | Hostname to your testlink installation | `testlink.local` | -| `ingress.hosts[0].path` | Path within the url structure | `/` | -| `ingress.hosts[0].tls` | Utilize TLS backend in ingress | `false` | -| `ingress.hosts[0].tlsHosts` | Array of TLS hosts for ingress record (defaults to `ingress.hosts[0].name` if `nil`) | `nil` | -| `ingress.hosts[0].tlsSecret` | TLS Secret (certificates) | `testlink.local-tls-secret` | -| `ingress.secrets[0].name` | TLS Secret Name | `nil` | -| `ingress.secrets[0].certificate` | TLS Secret Certificate | `nil` | -| `ingress.secrets[0].key` | TLS Secret Key | `nil` | -| `externalDatabase.host` | Host of the external database | `nil` | -| `externalDatabase.port` | Port of the external database | `3306` | -| `externalDatabase.user` | Existing username in the external db | `bn_testlink` | -| `externalDatabase.password` | Password for the above username | `nil` | -| `externalDatabase.database` | Name of the existing database | `bitnami_testlink` | -| `mariadb.enabled` | Whether to use the MariaDB chart | `true` | -| `mariadb.db.name` | Database name to create | `bitnami_testlink` | -| `mariadb.db.user` | Database user to create | `bn_testlink` | -| `mariadb.db.password` | Password for the database | `nil` | -| `mariadb.rootUser.password` | MariaDB admin password | `nil` | -| `service.type` | Kubernetes Service type | `LoadBalancer` | -| `service.port` | Service HTTP port | `80` | -| `service.httpsPort` | Service HTTPS port | `443` | -| `service.nodePorts.http` | Kubernetes http node port | `""` | -| `service.nodePorts.https` | Kubernetes https node port | `""` | -| `service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` | -| `service.loadBalancerIP` | LoadBalancer service IP address | `""` | -| `persistence.enabled` | Enable persistence using PVC | `true` | -| `persistence.testlink.storageClass` | PVC Storage Class for TestLink volume | `nil` (uses alpha storage class annotation) | -| `persistence.testlink.accessMode` | PVC Access Mode for TestLink volume | `ReadWriteOnce` | -| `persistence.testlink.size` | PVC Storage Request for TestLink volume | `8Gi` | -| `resources` | CPU/Memory resource requests/limits | Memory: `512Mi`, CPU: `300m` | -| `podAnnotations` | Pod annotations | `{}` | -| `affinity` | Map of node/pod affinities | `{}` | -| `metrics.enabled` | Start a side-car prometheus exporter | `false` | -| `metrics.image.registry` | Apache exporter image registry | `docker.io` | -| `metrics.image.repository` | Apache exporter image name | `bitnami/apache-exporter` | -| `metrics.image.tag` | Apache exporter image tag | `{TAG_NAME}` | -| `metrics.image.pullPolicy` | Image pull policy | `IfNotPresent` | -| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) | -| `metrics.podAnnotations` | Additional annotations for Metrics exporter pod | `{prometheus.io/scrape: "true", prometheus.io/port: "9117"}` | -| `metrics.resources` | Exporter resource requests/limit | {} | +| Parameter | Description | Default | +|-------------------------------------|-------------------------------------------------------------------------------------------------------|--------------------------------------------------------------| +| `global.imageRegistry` | Global Docker image registry | `nil` | +| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) | +| `global.storageClass` | Global storage class for dynamic provisioning | `nil` | +| `image.registry` | TestLink image registry | `docker.io` | +| `image.repository` | TestLink image name | `bitnami/testlink` | +| `image.tag` | TestLink image tag | `{TAG_NAME}` | +| `image.pullPolicy` | Image pull policy | `IfNotPresent` | +| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) | +| `nameOverride` | String to partially override testlink.fullname template with a string (will prepend the release name) | `nil` | +| `fullnameOverride` | String to fully override testlink.fullname template with a string | `nil` | +| `testlinkUsername` | Admin username | `user` | +| `testlinkPassword` | Admin user password | _random 10 character long alphanumeric string_ | +| `testlinkEmail` | Admin user email | `user@example.com` | +| `smtpEnable` | Enable SMTP | `false` | +| `smtpHost` | SMTP host | `nil` | +| `smtpPort` | SMTP port | `nil` | +| `smtpUser` | SMTP user | `nil` | +| `smtpPassword` | SMTP password | `nil` | +| `smtpConnectionMode` | SMTP connection mode [`ssl`, `tls`] | `nil` | +| `allowEmptyPassword` | Allow DB blank passwords | `yes` | +| `ingress.enabled` | Enable ingress controller resource | `false` | +| `ingress.annotations` | Ingress annotations | `[]` | +| `ingress.certManager` | Add annotations for cert-manager | `false` | +| `ingress.hosts[0].name` | Hostname to your testlink installation | `testlink.local` | +| `ingress.hosts[0].path` | Path within the url structure | `/` | +| `ingress.hosts[0].tls` | Utilize TLS backend in ingress | `false` | +| `ingress.hosts[0].tlsHosts` | Array of TLS hosts for ingress record (defaults to `ingress.hosts[0].name` if `nil`) | `nil` | +| `ingress.hosts[0].tlsSecret` | TLS Secret (certificates) | `testlink.local-tls-secret` | +| `ingress.secrets[0].name` | TLS Secret Name | `nil` | +| `ingress.secrets[0].certificate` | TLS Secret Certificate | `nil` | +| `ingress.secrets[0].key` | TLS Secret Key | `nil` | +| `externalDatabase.host` | Host of the external database | `nil` | +| `externalDatabase.port` | Port of the external database | `3306` | +| `externalDatabase.user` | Existing username in the external db | `bn_testlink` | +| `externalDatabase.password` | Password for the above username | `nil` | +| `externalDatabase.database` | Name of the existing database | `bitnami_testlink` | +| `mariadb.enabled` | Whether to use the MariaDB chart | `true` | +| `mariadb.db.name` | Database name to create | `bitnami_testlink` | +| `mariadb.db.user` | Database user to create | `bn_testlink` | +| `mariadb.db.password` | Password for the database | `nil` | +| `mariadb.rootUser.password` | MariaDB admin password | `nil` | +| `service.type` | Kubernetes Service type | `LoadBalancer` | +| `service.port` | Service HTTP port | `80` | +| `service.httpsPort` | Service HTTPS port | `443` | +| `service.nodePorts.http` | Kubernetes http node port | `""` | +| `service.nodePorts.https` | Kubernetes https node port | `""` | +| `service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` | +| `service.loadBalancerIP` | LoadBalancer service IP address | `""` | +| `service.annotations` | Kubernetes service annotations, evaluated as a template | `{}` | +| `persistence.enabled` | Enable persistence using PVC | `true` | +| `persistence.testlink.storageClass` | PVC Storage Class for TestLink volume | `nil` (uses alpha storage class annotation) | +| `persistence.testlink.accessMode` | PVC Access Mode for TestLink volume | `ReadWriteOnce` | +| `persistence.testlink.size` | PVC Storage Request for TestLink volume | `8Gi` | +| `resources` | CPU/Memory resource requests/limits | Memory: `512Mi`, CPU: `300m` | +| `podAnnotations` | Pod annotations | `{}` | +| `affinity` | Map of node/pod affinities | `{}` | +| `metrics.enabled` | Start a side-car prometheus exporter | `false` | +| `metrics.image.registry` | Apache exporter image registry | `docker.io` | +| `metrics.image.repository` | Apache exporter image name | `bitnami/apache-exporter` | +| `metrics.image.tag` | Apache exporter image tag | `{TAG_NAME}` | +| `metrics.image.pullPolicy` | Image pull policy | `IfNotPresent` | +| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) | +| `metrics.podAnnotations` | Additional annotations for Metrics exporter pod | `{prometheus.io/scrape: "true", prometheus.io/port: "9117"}` | +| `metrics.resources` | Exporter resource requests/limit | {} | The above parameters map to the env variables defined in [bitnami/testlink](http://github.com/bitnami/bitnami-docker-testlink). For more information please refer to the [bitnami/testlink](http://github.com/bitnami/bitnami-docker-testlink) image documentation. diff --git a/stable/testlink/templates/_helpers.tpl b/stable/testlink/templates/_helpers.tpl index 9c35e5448c..5c0e859100 100644 --- a/stable/testlink/templates/_helpers.tpl +++ b/stable/testlink/templates/_helpers.tpl @@ -164,3 +164,16 @@ Return the appropriate apiVersion for deployment. {{- print "apps/v1" -}} {{- end -}} {{- end -}} + +{{/* +Renders a value that contains template. +Usage: +{{ include "testlink.tplValue" ( dict "value" .Values.path.to.the.Value "context" $) }} +*/}} +{{- define "testlink.tplValue" -}} + {{- if typeIs "string" .value }} + {{- tpl .value .context }} + {{- else }} + {{- tpl (.value | toYaml) .context }} + {{- end }} +{{- end -}} diff --git a/stable/testlink/templates/svc.yaml b/stable/testlink/templates/svc.yaml index ea5ddbf939..76b7e21853 100644 --- a/stable/testlink/templates/svc.yaml +++ b/stable/testlink/templates/svc.yaml @@ -7,6 +7,9 @@ metadata: chart: "{{ template "testlink.chart" . }}" release: {{ .Release.Name | quote }} heritage: {{ .Release.Name | quote }} +{{- if .Values.service.annotations }} + annotations: {{ include "testlink.tplValue" ( dict "value" .Values.service.annotations "context" $) | nindent 4 }} +{{- end }} spec: type: {{ .Values.service.type }} {{- if (or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort")) }} diff --git a/stable/testlink/values.yaml b/stable/testlink/values.yaml index 69da08d8e2..f1bd96676c 100644 --- a/stable/testlink/values.yaml +++ b/stable/testlink/values.yaml @@ -162,6 +162,10 @@ service: ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip ## externalTrafficPolicy: Cluster + ## Provide any additional annotations which may be required. + ## Evaluated as a template + ## + annotations: {} ## Enable persistence using Persistent Volume Claims ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/