kind: ConfigMap
apiVersion: v1
metadata:
  name: tower-backend-cfg
  labels:
    app: backend-cfg
data:
  TOWER_SERVER_URL: "https://<YOUR PUBLIC TOWER HOST NAME>"
  TOWER_CONTACT_EMAIL: "support@tower.nf"
  TOWER_JWT_SECRET: "ReplaceThisWithALongSecretString"
  TOWER_DB_URL: "jdbc:mysql://<YOUR DB HOST NAME AND PORT>/tower?permitMysqlScheme=true"
  TOWER_DB_DRIVER: "org.mariadb.jdbc.Driver"
  TOWER_DB_USER: "tower"
  TOWER_DB_PASSWORD: "<YOUR DB PASSWORD>"
  TOWER_DB_DIALECT: "io.seqera.util.MySQL8DialectCollateBin"
  TOWER_DB_MIN_POOL_SIZE: "2"
  TOWER_DB_MAX_POOL_SIZE: "10"
  TOWER_DB_MAX_LIFETIME: "180000"
  TOWER_SMTP_HOST: "<YOUR SMTP SERVER HOST NAME>"
  TOWER_SMTP_USER: "<YOUR SMTP USER NAME>"
  TOWER_SMTP_PASSWORD: "<YOUR SMTP USER PASSWORD>"
  TOWER_CRYPTO_SECRETKEY: "<YOUR CRYPTO SECRET>"
  TOWER_LICENSE: "<YOUR TOWER LICENSE KEY>"
  TOWER_ENABLE_PLATFORMS: "altair-platform,awsbatch-platform,awscloud-platform,azbatch-platform,azcloud-platform,eks-platform,gke-platform,googlebatch-platform,googlecloud-platform,k8s-platform,lsf-platform,moab-platform,slurm-platform,uge-platform"
  TOWER_REDIS_URL: "redis://<YOUR REDIS IP>:6379" # For a managed Redis service, specify the IP address or DNS name of the service endpoint. If you use the containerized Redis service, specify "redis" instead of an IP address.

  # Pipeline optimization service. Set TOWER_ENABLE_GROUNDSWELL true to use default service URL (http://groundswell:8090)
  # Use GROUNDSWELL_SERVER_URL to specify a custom service URL (enables the service by default)
  TOWER_ENABLE_GROUNDSWELL: "false"
  GROUNDSWELL_SERVER_URL: http://groundswell:8090

  # Studios configuration variables
  TOWER_OIDC_REGISTRATION_INITIAL_ACCESS_TOKEN: '<YOUR_RANDOMLY_GENERATED_STRING>' # This must match the value of CONNECT_OIDC_CLIENT_REGISTRATION_TOKEN in your proxy.yml file.
  TOWER_DATA_STUDIO_CONNECT_URL: 'https://connect.<YOUR PUBLIC TOWER HOST NAME>' #

  TOWER_DATA_STUDIO_TEMPLATES_JUPYTERGA_STATUS: 'recommended'
  TOWER_DATA_STUDIO_TEMPLATES_JUPYTERGA_REPOSITORY: 'public.cr.seqera.io/platform/data-studio-jupyter:4.6.0-0.14'
  TOWER_DATA_STUDIO_TEMPLATES_JUPYTERGA_ICON: 'jupyter'
  TOWER_DATA_STUDIO_TEMPLATES_JUPYTERGA_TOOL: 'jupyter'
  TOWER_DATA_STUDIO_TEMPLATES_JUPYTERGA_PORT: '8080'

  TOWER_DATA_STUDIO_TEMPLATES_JUPYTEROLD_STATUS: 'deprecated'
  TOWER_DATA_STUDIO_TEMPLATES_JUPYTEROLD_REPOSITORY: 'public.cr.seqera.io/platform/data-studio-jupyter:4.2.5-0.12'
  TOWER_DATA_STUDIO_TEMPLATES_JUPYTEROLD_ICON: 'jupyter'
  TOWER_DATA_STUDIO_TEMPLATES_JUPYTEROLD_TOOL: 'jupyter'
  TOWER_DATA_STUDIO_TEMPLATES_JUPYTEROLD_PORT: '8080'

  TOWER_DATA_STUDIO_TEMPLATES_RIDE_STATUS: 'recommended'
  TOWER_DATA_STUDIO_TEMPLATES_RIDE_REPOSITORY: 'public.cr.seqera.io/platform/data-studio-ride:2026.01.2-0.14'
  TOWER_DATA_STUDIO_TEMPLATES_RIDE_ICON: 'ride'
  TOWER_DATA_STUDIO_TEMPLATES_RIDE_TOOL: 'ride'
  TOWER_DATA_STUDIO_TEMPLATES_RIDE_PORT: '8787'

  TOWER_DATA_STUDIO_TEMPLATES_VSCODEGA_STATUS: 'recommended'
  TOWER_DATA_STUDIO_TEMPLATES_VSCODEGA_REPOSITORY: 'public.cr.seqera.io/platform/data-studio-vscode:1.105.1-0.14'
  TOWER_DATA_STUDIO_TEMPLATES_VSCODEGA_ICON: 'vscode'
  TOWER_DATA_STUDIO_TEMPLATES_VSCODEGA_TOOL: 'vscode'
  TOWER_DATA_STUDIO_TEMPLATES_VSCODEGA_PORT: '3000'

  TOWER_DATA_STUDIO_TEMPLATES_VSCODEOLD_STATUS: 'deprecated'
  TOWER_DATA_STUDIO_TEMPLATES_VSCODEOLD_REPOSITORY: 'public.cr.seqera.io/platform/data-studio-vscode:1.101.2-0.12'
  TOWER_DATA_STUDIO_TEMPLATES_VSCODEOLD_TOOL: 'vscode'
  TOWER_DATA_STUDIO_TEMPLATES_VSCODEOLD_ICON: 'vscode'
  TOWER_DATA_STUDIO_TEMPLATES_VSCODEOLD_PORT: '3000'

  TOWER_DATA_STUDIO_TEMPLATES_XPRAGA_STATUS: 'recommended'
  TOWER_DATA_STUDIO_TEMPLATES_XPRAGA_REPOSITORY: 'public.cr.seqera.io/platform/data-studio-xpra:6.3.6-r0-1-0.14'
  TOWER_DATA_STUDIO_TEMPLATES_XPRAGA_ICON: 'xpra'
  TOWER_DATA_STUDIO_TEMPLATES_XPRAGA_TOOL: 'xpra'
  TOWER_DATA_STUDIO_TEMPLATES_XPRAGA_PORT: '14500'

---
kind: ConfigMap
apiVersion: v1
metadata:
  name: tower-yml
  labels:
    app: backend-cfg
data:
  tower.yml: |
    mail:
      smtp:
        auth: true
        # FIXME `starttls` should be enabled with a production SMTP host
        starttls:
          enable: true
          required: true
        ssl:
          protocols: "TLSv1.2"

    auth:
      mail:
        duration: 30m

    # Set a custom application name for the Micronaut environment to deploy multiple instances from the same Enterprise account
    # Required for AWS Parameter Store configuration. For more information, see https://docs.seqera.io/platform-enterprise/enterprise/configuration/aws_parameter_store
    micronaut:
      application:
        name: tower-app
