name: <%= Tpt::Rails.app_name %> deploy_env: staging

hostname: <%= Tpt::Rails.app_name %>-staging.teacherspayteachers.com

annotations:

costEnv: staging

image:

name: <%= Tpt::Rails.app_name %>
repository: teacherspayteachers/<%= Tpt::Rails.app_name %>
tag: latest
pullPolicy: Always

environment:

APP_ENV: staging
ENVIRONMENT: staging
RAILS_ENV: production
RACK_TIMEOUT_SERVICE_TIMEOUT: "20"
RACK_TIMEOUT_TERM_ON_TIMEOUT: "1"

# To set up a staging/prod DB:
# - Create the DB in the TpT terraform repo
# - Use the root DB account to create an application DB user
# - Add needed the following keys with proper values to
#   the '<%= Tpt::Rails.app_name %>-secrets' kube secret:
#     - <%= Tpt::Rails.app_name %>-staging-db-host
#     - <%= Tpt::Rails.app_name %>-staging-db-replica-host
#     - <%= Tpt::Rails.app_name %>-staging-db-name
#     - <%= Tpt::Rails.app_name %>-staging-db-password
#     - <%= Tpt::Rails.app_name %>-staging-db-user
DATABASE_HOST: |-
  valueFrom:
    secretKeyRef:
      name: <%= Tpt::Rails.app_name %>-secrets
      key: <%= Tpt::Rails.app_name %>-staging-db-host
DATABASE_REPLICA_HOST: |-
  valueFrom:
    secretKeyRef:
      name: <%= Tpt::Rails.app_name %>-secrets
      key: <%= Tpt::Rails.app_name %>-staging-db-replica-host
DATABASE_NAME: |-
  valueFrom:
    secretKeyRef:
      name: <%= Tpt::Rails.app_name %>-secrets
      key: <%= Tpt::Rails.app_name %>-staging-db-name
DATABASE_PASSWORD: |-
  valueFrom:
    secretKeyRef:
      name: <%= Tpt::Rails.app_name %>-secrets
      key: <%= Tpt::Rails.app_name %>-staging-db-password
DATABASE_USER: |-
  valueFrom:
    secretKeyRef:
      name: <%= Tpt::Rails.app_name %>-secrets
      key: <%= Tpt::Rails.app_name %>-staging-db-user

copy-secrets:

enabled: false

mysql:

enabled: false

postgresql:

enabled: false

redis:

enabled: false

autoscaler:

minimumPods: 1
maximumPods: 2
targetCPUUtilizationPercentage: 70

rollingUpdate:

maxSurge: 25%

# Create ELB # service: # type: LoadBalancer # port: 80

db-migrate:

enabled: false
migration:
  env:
    - name: APP_ENV
      value: staging
    - name: APP_NAME
      value: <%= Tpt::Rails.app_name %>
    # The db-migrate chart sets the following environment variables, which we can use to construct
    # a Rails-friendly DB_URL.
    # - PROXY_HOST
    # - PROXY_PASSWORD
    # - PROXY_USER
    - name: DB_URL
      value: "mysql2://$(PROXY_USER):$(PROXY_PASSWORD)@$(PROXY_HOST):3306/<%= Tpt::Rails.app_name %>"
    # We don't override DB_MAX_EXECUTION_TIME here because it only applies to `select` queries and we
    # plan to write migrations such that any `select` queries are fast.
    # We specify the READ timeout because when testing that was the one that seemed to be used for
    # `alter table` commands.
    - name: DB_READ_TIMEOUT
      value: "604800"
    - name: DB_WRITE_TIMEOUT
      value: "604800"
    - name: RAILS_ENV
      value: production
    - name: SECRET_KEY_BASE
      valueFrom:
        secretKeyRef:
          name: <%= config.fetch(:secrets_name) %>
          key: <%= config.fetch(:secrets_key) %>
proxy-osc:
  dryRun: false
  target:
    host:
      secret:
        name: <%= config.fetch(:secrets_name) %>
        key: <%= Tpt::Rails.app_name %>-staging-db-host
    user:
      secret:
        name: <%= config.fetch(:secrets_name) %>
        key: <%= Tpt::Rails.app_name %>-staging-db-user
    password:
      secret:
        name: <%= config.fetch(:secrets_name) %>
        key: <%= Tpt::Rails.app_name %>-staging-db-password