# Huddo for Kubernetes — huddo
#
# Read every variable and replace the [PLACEHOLDERS] with your own values.
# For details of variable meanings see https://docs.huddo.com/huddo/kubernetes/
# For the current chart version and install command see
# https://docs.huddo.com/huddo/helm-charts/
#
# The release name must be huddo — the chart's default SOCKET_CLUSTER_HOST,
# huddo-socketcluster-worker, derives from it.
#
# SECURITY: this file ends up holding credentials (Mongo password, OAuth client
# secret, JWT secret, licence key, S3 keys, SMTP password). Treat it as a
# secret: keep it out of source control, or supply the sensitive values with
# `helm --set` or from Kubernetes secrets via envArray, as shown for
# SOCKET_CLUSTER_SECRET.

global:
  imageTag: '[BIG_ENDIAN_DATE]' # e.g. '2026-08-07' — see https://docs.huddo.com/huddo/releases/
  # Name of the image pull secret you created from your Quay.io account — see
  # https://docs.huddo.com/huddo/images/
  imagePullSecret: '[PULL_SECRET_NAME]'
  # Only if you mirror our images. Chart default: quay.io/huddo
  # repository: my-registry.example.com/huddo
  # Uncomment to enable draw.io diagrams in Wikis — also uncomment the drawio
  # ingress block near the bottom of this file, both are needed.
  # drawio:
  #   enabled: true
  env:
    # Public URL of Huddo. The /huddo prefix is built into the images and cannot
    # be changed. Every app URL is derived from this.
    HUDDO_URI: https://[HUDDO_HOST]/huddo

    # --- MongoDB -----------------------------------------------------------
    MONGO_PROTOCOL: mongodb+srv # use `mongodb` for a plain host:port connection
    MONGO_HOST: '[MONGO_HOST]'
    MONGO_USER: '[MONGO_USER]'
    MONGO_PASSWORD: '[MONGO_PASSWORD]'
    MONGO_PARAMS: retryWrites=true&w=majority
    # MONGO_REPLICA_SET_NAME: rs0   # self-hosted replica sets only

    # --- S3 file storage ---------------------------------------------------
    S3_ENDPOINT: '[S3_HOSTNAME]' # hostname only, no protocol
    S3_PORT: '443'
    S3_SECURE: 'true'
    S3_USE_SSL: 'true'
    S3_BUCKET: huddo
    S3_ACCESS_KEY: '[S3_ACCESS_KEY]'
    S3_SECRET_KEY: '[S3_SECRET_KEY]'

  # Shared secret signing the real-time (SocketCluster) connections, read from
  # a Kubernetes secret so it never sits in this file. Create it first:
  #   kubectl create secret generic socketcluster-secret \
  #     --from-literal=socketcluster-secret=$(openssl rand -base64 32) -n huddo
  envArray:
    - name: SOCKET_CLUSTER_SECRET
      valueFrom:
        secretKeyRef:
          name: socketcluster-secret
          key: socketcluster-secret

# Products. Ideas, Wikis, Spaces and Search are deployed by default; Boards is not. Uncomment
# to change that — enable Boards only if you do NOT already run a separate
# huddo-boards release.
# products:
#   ideas:
#     enabled: false
#   wikis:
#     enabled: false
#   spaces:
#     enabled: false
#   search:
#     enabled: false
#   boards:
#     enabled: true

# The chart deploys the shared user / provider / licence services. Uncomment
# when an existing huddo-boards release in THIS namespace already provides
# them — see https://docs.huddo.com/huddo/existing-boards/
# sharedServices:
#   deploy: false

core:
  ingress:
    hosts:
      - '[HUDDO_HOST]'
    path: /huddo

attachments:
  ingress:
    hosts:
      - '[HUDDO_HOST]'
    path: /huddo/attachments
    traefik:
      stripPrefix:
        enabled: true
        prefix: /huddo

discussions:
  ingress:
    hosts:
      - '[HUDDO_HOST]'
    path: /huddo/discussions
    traefik:
      stripPrefix:
        enabled: true
        prefix: /huddo

notifications:
  ingress:
    hosts:
      - '[HUDDO_HOST]'
    path: /huddo/notifications
    traefik:
      stripPrefix:
        enabled: true
        prefix: /huddo
  env:
    # Email delivery. Remove this block to leave outbound email disabled.
    EMAIL_HOST: '[SMTP_HOSTNAME]'
    # EMAIL_PORT: 587
    # EMAIL_USERNAME: '[SMTP_USERNAME]'
    # EMAIL_PASSWORD: '[SMTP_PASSWORD]'
    EMAIL_FROM: no-reply@[YOUR_DOMAIN]
    EMAIL_FROM_NAME: Huddo

ideas:
  ingress:
    hosts:
      - '[HUDDO_HOST]'
    path: /huddo/ideas

wikis:
  ingress:
    hosts:
      - '[HUDDO_HOST]'
    path: /huddo/wikis
  env:
    NEXT_PUBLIC_BASE_PATH: /huddo/wikis

# Huddo Spaces, the org-level container that groups many wikis.
spaces:
  ingress:
    hosts:
      - '[HUDDO_HOST]'
    path: /huddo/spaces

# Cross-app search. Deployed by default; the query API lives under
# /huddo/search/api. The OpenSearch index claims a 20Gi volume from your
# default storage class — set opensearch.persistence.storageClassName to pick
# another, or products.search.enabled: false to leave search out entirely.
search:
  ingress:
    hosts:
      - '[HUDDO_HOST]'
    path: /huddo/search
    traefik:
      stripPrefix:
        enabled: true
        prefix: /huddo

editor:
  ingress:
    hosts:
      - '[HUDDO_HOST]'
    path: /huddo/editor
    traefik:
      stripPrefix:
        enabled: true
        prefix: /huddo

user:
  env:
    # A random string of at least 32 characters, used to sign sessions
    JWT_SECRET: '[RANDOM_SECRET]'
    # Authentication provider — HCL Connections shown here. See
    # https://docs.huddo.com/huddo/env/chart/#provider-specific-options
    CONNECTIONS_URL: https://[CONNECTIONS_HOST]
    CONNECTIONS_CLIENT_ID: huddo
    CONNECTIONS_CLIENT_SECRET: '[CLIENT_SECRET]'
    CONNECTIONS_ADMINS: '["[ADMIN_EMAIL]"]'

licence:
  env:
    # Licence key from https://store.huddo.com
    LICENCE: '[LICENCE_KEY]'

socketcluster:
  ingress:
    hosts:
      - '[HUDDO_HOST]'

# The chart deploys an in-cluster Redis cache. To use an existing one instead,
# uncomment this and point global.env.REDIS_CACHE_HOST at it.
# redis:
#   enabled: false

# ---------------------------------------------------------------------------
# Optional: draw.io diagrams in Wikis — self-hosted, nothing leaves the cluster.
# See https://docs.huddo.com/huddo/env/chart/#diagrams-drawio
#
# Uncomment this block AND global.drawio at the top of this file — the switch
# alone advertises the feature without deploying the editor.
#
# Everything needed is below. Replace [HUDDO_HOST] with the same host Wikis is
# served from (e.g. huddo.example.com) and leave the rest as it is — the path
# must keep the /huddo prefix, because Wikis derives the editor URL from
# HUDDO_URI and so looks for /huddo/drawio.
# ---------------------------------------------------------------------------
# drawio:
#   ingress:
#     hosts:
#       - '[HUDDO_HOST]'
#     path: /huddo/drawio

# ---------------------------------------------------------------------------
# Optional: resolve TLS certificates in Kubernetes rather than at your proxy.
# Add the same block to every service's ingress.
# ---------------------------------------------------------------------------
# core:
#   ingress:
#     tls:
#       - hosts:
#           - '[HUDDO_HOST]'
#         secretName: huddo-domain-secret

# ---------------------------------------------------------------------------
# Optional: Huddo Boards in this release (products.boards.enabled: true above).
# Also set global.env.APP_URI / API_GATEWAY / URL_BOARDS to the Boards URLs,
# and create the huddo-boards bucket on your S3 endpoint.
# ---------------------------------------------------------------------------
# boards-core:
#   ingress:
#     hosts:
#       - '[HUDDO_HOST]'
#     traefik:
#       stripPrefix:
#         enabled: true
#
# boards-webfront:
#   ingress:
#     hosts:
#       - '[HUDDO_HOST]'
#     traefik:
#       stripPrefix:
#         enabled: true
