Trino. Helm Deploy

image:
  repository: trinodb/trino
  pullPolicy: Always
server:
  workers: 1
  node:
    environment: production
    dataDir: /data/trino
    pluginDir: /usr/lib/trino/plugin
  log:
    trino:
      level: INFO
  config:
    path: /etc/trino
    # authenticationType: PASSWORD
  coordinatorExtraConfig: |
    http-server.process-forwarded=true
    http-server.authentication.type=PASSWORD

Идущие дальше два блока частично друг друга исключают. То есть если создана секция auth вот в таком вот виде, то будет создан /etc/trino/auth/password/password.db содержащий пароли и весь блок координатора который этот файл создает лишний. Сам файл password-authenticator.properties будет сформирован автоматически если в предыдущем блоке раскомментировать authenticationType: PASSWORD. Пароль генерируется через утилиту htpasswd.

auth:
  passwordAuth: "maksim:$2y$10$U/zP4cpbTXiEiBTFggw15.2vlTc8N9Iug2r7iBkuhoR/QZ.iowqhS"
  refreshPeriod: 5s
coordinator:
  secretMounts:
     - name: password-secret
       secretName: password-secret
       path: /tmp/password.db
       subPath: password.db
  additionalConfigFiles:
    password-authenticator.properties: |
      password-authenticator.name=file
      file.password-file=/tmp/password.db

Обязательно!

additionalConfigProperties:
  - internal-communication.shared-secret=TUVDHge141LW3bPLHdB0pacw0lfnMmNJqjNPLxBqzUF+DYYeKe1UG8MjpQTojdoXEaG988DLmuxp
catalogs:
  tpcds: |
    connector.name=tpcds
    tpcds.splits-per-node=4
  health: |
    connector.name=postgresql
    connection-url=jdbc:postgresql://127.0.0.1:5432/health
    user-credential-name=user
    password-credential-name=password
    unsupported-type-handling=CONVERT_TO_VARCHAR
ingress:
  enabled: true
  className: nginx
  annotations:
    cert-manager.io/cluster-issuer: lets-encrypt
  hosts:
    - host: trino.example.ru
      paths:
        - path: /
          pathType: Prefix
  tls:
    - secretName: trino-tls
      hosts:
        - trino.example.ru