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