Skip to content

Commit

Permalink
Fix README template for Gateway chart
Browse files Browse the repository at this point in the history
  • Loading branch information
nineinchnick committed Nov 17, 2024
1 parent e856194 commit 3b35d3a
Show file tree
Hide file tree
Showing 4 changed files with 165 additions and 102 deletions.
12 changes: 10 additions & 2 deletions charts/gateway/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,15 @@ apiVersion: v2
name: trino-gateway
description: A Helm chart for Trino Gateway
type: application
# Trino Gateway Helm chart version. Should be appVersion with .0.0 appended.
version: "12.0.0"
# Trino Gateway version
appVersion: "12"

icon: https://trino.io/assets/images/logos/trino-gateway-small.png

home: https://trino.io/
sources:
- https://github.com/trinodb/charts
- https://github.com/trinodb/trino-gateway/tree/master/docker

maintainers:
- name: Trino community
223 changes: 130 additions & 93 deletions charts/gateway/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,101 +4,138 @@

A Helm chart for Trino Gateway

**Homepage:** <https://trino.io/>

## Source Code

* <https://github.com/trinodb/charts>
* <https://github.com/trinodb/trino-gateway/tree/master/docker>

## Values
* `replicaCount` - int, default: `1`
* `image.repository` - string, default: `"trinodb/trino-gateway"`

Repository location of the Trino Gateway image, typically `organization/imagename`
* `image.pullPolicy` - string, default: `"IfNotPresent"`
* `image.tag` - string, default: `""`

Override the image tag whose default is the chart appVersion.
* `imagePullSecrets` - list, default: `[]`

An optional list of references to secrets in the same namespace to use for pulling images.
Example:
```yaml
imagePullSecrets:
- name: registry-credentials
```
* `dataStoreSecret` - object, default: `{"key":"","name":""}`

Provide configuration for the Trino Gateway `dataStore` in `dataStoreSecret`. This node can be left undefined if `dataStore` is defined under the config node. For production deployments sensitive values should be stored in a Secret
* `backendStateSecret` - object, default: `{"key":"","name":""}`

Provide configuration for the Trino Gateway `backendState` in `backendStateSecret`. This should be used with health check configurations that require backend credentials. This node can be left undefined if `dataStore` is defined under the config node.
* `authenticationSecret` - object, default: `{"key":"","name":""}`

Provide configuration for the Trino Gateway authentication configuration in `authenticationSecret`. This node can be left undefined if `dataStore` is defined under the config node.
* `config.serverConfig."node.environment"` - string, default: `"test"`
* `config.serverConfig."http-server.http.port"` - int, default: `8080`
* `config.dataStore.jdbcUrl` - string, default: `"jdbc:postgresql://localhost:5432/gateway"`

The connection details for the backend database for Trino Gateway and Trino query history
* `config.dataStore.user` - string, default: `"postgres"`
* `config.dataStore.password` - string, default: `"mysecretpassword"`
* `config.dataStore.driver` - string, default: `"org.postgresql.Driver"`
* `config.clusterStatsConfiguration.monitorType` - string, default: `"INFO_API"`
* `config.modules[0]` - string, default: `"io.trino.gateway.ha.module.HaGatewayProviderModule"`
* `config.modules[1]` - string, default: `"io.trino.gateway.ha.module.ClusterStateListenerModule"`
* `config.modules[2]` - string, default: `"io.trino.gateway.ha.module.ClusterStatsMonitorModule"`
* `config.managedApps[0]` - string, default: `"io.trino.gateway.ha.clustermonitor.ActiveClusterMonitor"`
* `command` - list, default: `["java","-XX:MinRAMPercentage=80.0","-XX:MaxRAMPercentage=80.0","-jar","/usr/lib/trino/gateway-ha-jar-with-dependencies.jar","/etc/gateway/config.yaml"]`

Startup command for Trino Gateway process. Add additional Java options and other modifications as desired.
* `service.type` - string, default: `"ClusterIP"`
* `service.port` - int, default: `8080`
* `ingress.enabled` - bool, default: `false`
* `ingress.className` - string, default: `""`
* `ingress.annotations` - object, default: `{}`
* `ingress.hosts` - list, default: `[{"host":"chart-example.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}]`

[Ingress rules](https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules).
Example:
```yaml
- host: trino.example.com
paths:
- path: /
pathType: ImplementationSpecific
```
* `ingress.tls` - list, default: `[]`

Ingress [TLS](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls) configuration.
Example:
```yaml
- secretName: chart-example-tls
hosts:
- chart-example.local
```
* `resources.limits.cpu` - int, default: `2`
* `resources.limits.memory` - string, default: `"4Gi"`
* `resources.requests.cpu` - int, default: `2`
* `resources.requests.memory` - string, default: `"4Gi"`
* `autoscaling.enabled` - bool, default: `false`
* `autoscaling.minReplicas` - int, default: `1`
* `autoscaling.maxReplicas` - int, default: `100`
* `autoscaling.targetCPUUtilizationPercentage` - int, default: `80`

Target average CPU utilization, represented as a percentage of requested CPU. To disable scaling based on CPU, set to an empty string.
* `autoscaling.targetMemoryUtilizationPercentage` - string, default: `""`

Target average memory utilization, represented as a percentage of requested memory. To disable scaling based on memory, set to an empty string.
* `livenessProbe.initialDelaySeconds` - int, default: `30`
* `livenessProbe.periodSeconds` - int, default: `10`
* `livenessProbe.failureThreshold` - int, default: `3`
* `livenessProbe.timeoutSeconds` - int, default: `1`
* `livenessProbe.scheme` - string, default: `"HTTP"`
* `readinessProbe.initialDelaySeconds` - int, default: `5`
* `readinessProbe.periodSeconds` - int, default: `5`
* `readinessProbe.failureThreshold` - int, default: `12`
* `readinessProbe.timeoutSeconds` - int, default: `1`
* `readinessProbe.scheme` - string, default: `"HTTP"`
* `volumes` - object, default: `{}`
* `volumeMounts` - object, default: `{}`
* `nodeSelector` - object, default: `{}`
* `tolerations` - list, default: `[]`
* `affinity` - object, default: `{}`
* `commonLabels` - object, default: `{}`

Labels that get applied to every resource's metadata
* `podAnnotations` - object, default: `{}`
* `podLabels` - object, default: `{}`
* `podSecurityContext` - object, default: `{}`

[Pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) configuration. To remove the default, set it to null (or `~`).
* `securityContext` - object, default: `{}`

[Container security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) configuration.
Example:
```yaml
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsNonRoot: true
```
* `serviceAccount.create` - bool, default: `true`

Specifies whether a service account should be created
* `serviceAccount.automount` - bool, default: `true`

Automatically mount a ServiceAccount's API credentials?
* `serviceAccount.annotations` - object, default: `{}`

Annotations to add to the service account
* `serviceAccount.name` - string, default: `""`

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| replicaCount | int | `1` | |
| image.repository | string | `"trinodb/trino-gateway"` | Repository location of the Trino Gateway image, typically `organization/imagename` |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.tag | string | `""` | Override the image tag whose default is the chart appVersion. |
| imagePullSecrets | list | `[]` | An optional list of references to secrets in the same namespace to use for pulling images.
Example:
```yaml
imagePullSecrets:
- name: registry-credentials
``` |
| dataStoreSecret | object | `{"key":"","name":""}` | Provide configuration for the Trino Gateway `dataStore` in `dataStoreSecret`. This node can be left undefined if `dataStore` is defined under the config node. For production deployments sensitive values should be stored in a Secret |
| backendStateSecret | object | `{"key":"","name":""}` | Provide configuration for the Trino Gateway `backendState` in `backendStateSecret`. This should be used with health check configurations that require backend credentials. This node can be left undefined if `dataStore` is defined under the config node. |
| authenticationSecret | object | `{"key":"","name":""}` | Provide configuration for the Trino Gateway authentication configuration in `authenticationSecret`. This node can be left undefined if `dataStore` is defined under the config node. |
| config.serverConfig."node.environment" | string | `"test"` | |
| config.serverConfig."http-server.http.port" | int | `8080` | |
| config.dataStore.jdbcUrl | string | `"jdbc:postgresql://localhost:5432/gateway"` | The connection details for the backend database for Trino Gateway and Trino query history |
| config.dataStore.user | string | `"postgres"` | |
| config.dataStore.password | string | `"mysecretpassword"` | |
| config.dataStore.driver | string | `"org.postgresql.Driver"` | |
| config.clusterStatsConfiguration.monitorType | string | `"INFO_API"` | |
| config.modules[0] | string | `"io.trino.gateway.ha.module.HaGatewayProviderModule"` | |
| config.modules[1] | string | `"io.trino.gateway.ha.module.ClusterStateListenerModule"` | |
| config.modules[2] | string | `"io.trino.gateway.ha.module.ClusterStatsMonitorModule"` | |
| config.managedApps[0] | string | `"io.trino.gateway.ha.clustermonitor.ActiveClusterMonitor"` | |
| command | list | `["java","-XX:MinRAMPercentage=80.0","-XX:MaxRAMPercentage=80.0","-jar","/usr/lib/trino/gateway-ha-jar-with-dependencies.jar","/etc/gateway/config.yaml"]` | Startup command for Trino Gateway process. Add additional Java options and other modifications as desired. |
| service.type | string | `"ClusterIP"` | |
| service.port | int | `8080` | |
| ingress.enabled | bool | `false` | |
| ingress.className | string | `""` | |
| ingress.annotations | object | `{}` |
Example:
```yaml
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
``` |
| ingress.hosts | list | `[{"host":"chart-example.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}]` | [Ingress rules](https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules).
Example:
```yaml
- host: trino.example.com
paths:
- path: /
pathType: ImplementationSpecific
``` |
| ingress.tls | list | `[]` | Ingress [TLS](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls) configuration.
Example:
```yaml
- secretName: chart-example-tls
hosts:
- chart-example.local
``` |
| resources.limits.cpu | int | `2` | |
| resources.limits.memory | string | `"4Gi"` | |
| resources.requests.cpu | int | `2` | |
| resources.requests.memory | string | `"4Gi"` | |
| autoscaling.enabled | bool | `false` | |
| autoscaling.minReplicas | int | `1` | |
| autoscaling.maxReplicas | int | `100` | |
| autoscaling.targetCPUUtilizationPercentage | int | `80` | Target average CPU utilization, represented as a percentage of requested CPU. To disable scaling based on CPU, set to an empty string. |
| autoscaling.targetMemoryUtilizationPercentage | string | `""` | Target average memory utilization, represented as a percentage of requested memory. To disable scaling based on memory, set to an empty string. |
| livenessProbe.initialDelaySeconds | int | `30` | |
| livenessProbe.periodSeconds | int | `10` | |
| livenessProbe.failureThreshold | int | `3` | |
| livenessProbe.timeoutSeconds | int | `1` | |
| livenessProbe.scheme | string | `"HTTP"` | |
| readinessProbe.initialDelaySeconds | int | `5` | |
| readinessProbe.periodSeconds | int | `5` | |
| readinessProbe.failureThreshold | int | `12` | |
| readinessProbe.timeoutSeconds | int | `1` | |
| readinessProbe.scheme | string | `"HTTP"` | |
| volumes | object | `{}` | |
| volumeMounts | object | `{}` | |
| nodeSelector | object | `{}` | |
| tolerations | list | `[]` | |
| affinity | object | `{}` | |
| commonLabels | object | `{}` | Labels that get applied to every resource's metadata |
| podAnnotations | object | `{}` | |
| podLabels | object | `{}` | |
| podSecurityContext | object | `{}` | [Pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) configuration. To remove the default, set it to null (or `~`). |
| securityContext | object | `{}` | [Container security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) configuration.
Example:
```yaml
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsNonRoot: true
``` |
| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
| serviceAccount.automount | bool | `true` | Automatically mount a ServiceAccount's API credentials? |
| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
The name of the service account to use. If not set and create is true, a name is generated using the fullname template

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
25 changes: 25 additions & 0 deletions charts/gateway/README.md.gotmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{{ template "chart.header" . }}
{{ template "chart.deprecationWarning" . }}

{{ template "chart.badgesSection" . }}

{{ template "chart.description" . }}

{{ template "chart.homepageLine" . }}

{{ template "chart.sourcesSection" . }}

{{ template "chart.requirementsSection" . }}

{{ template "chart.valuesHeader" . }}

{{- range .Values }}
* `{{ .Key }}` - {{ .Type }}, default: {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }}{{ if or .Description .AutoDescription }} {{ end }}
{{- if .Description }}
{{ .Description | nindent 2 }}
{{- else if .AutoDescription }}
{{ .AutoDescription | nindent 2 }}
{{- end }}
{{- end }}

{{ template "helm-docs.versionFooter" . }}
7 changes: 0 additions & 7 deletions charts/gateway/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,6 @@ ingress:
enabled: false
className: ""
annotations: {}
# ingress.annotations --
# @raw
# Example:
# ```yaml
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
# ```
hosts:
- host: chart-example.local
paths:
Expand Down

0 comments on commit 3b35d3a

Please sign in to comment.