---
applications:
  - name: notify-api-((env))
    buildpack: python_buildpack
    stack: cflinuxfs4
    instances: 1
    disk_quota: 1G
    routes:
    - route: ((public_api_route))
    - route: notify-api-((env)).apps.internal

    services:
      - notify-api-rds-((env))
      - notify-api-redis-((env))
      - notify-api-csv-upload-bucket-((env))
      - name: notify-api-ses-((env))
        parameters:
          notification_webhook: "https://((public_api_route))/notifications/email/ses"
      - notify-api-sns-((env))

    processes:
      - type: web
        instances: ((web_instances))
        memory: ((web_memory))
        command: ./scripts/migrate_and_run_web.sh
      - type: worker
        instances: ((worker_instances))
        memory: ((worker_memory))
        command: newrelic-admin run-program celery -A run_celery.notify_celery worker --loglevel=INFO --concurrency=4
      - type: scheduler
        instances: 1
        memory: ((scheduler_memory))
        command: celery -A run_celery.notify_celery beat --loglevel=INFO

    env:
      NOTIFY_APP_NAME: api
      FLASK_APP: application.py
      FLASK_DEBUG: "false"
      NEW_RELIC_CONFIG_FILE: newrelic.ini
      NEW_RELIC_ENVIRONMENT: ((env))
      NEW_RELIC_LICENSE_KEY: ((NEW_RELIC_LICENSE_KEY))

      REDIS_ENABLED: ((redis_enabled))
      NOTIFY_ENVIRONMENT: ((env))
      API_HOST_NAME: https://((public_api_route))
      ADMIN_BASE_URL: ((admin_base_url))
      NOTIFY_E2E_TEST_EMAIL: ((NOTIFY_E2E_TEST_EMAIL))
      NOTIFY_E2E_TEST_PASSWORD: ((NOTIFY_E2E_TEST_PASSWORD))

      # Credentials variables
      INTERNAL_CLIENT_API_KEYS: '{"notify-admin":["((ADMIN_CLIENT_SECRET))"]}'
      DANGEROUS_SALT: ((DANGEROUS_SALT))
      SECRET_KEY: ((SECRET_KEY))
      AWS_US_TOLL_FREE_NUMBER: ((default_toll_free_number))

      REQUESTS_CA_BUNDLE: "/etc/ssl/certs/ca-certificates.crt"
      NEW_RELIC_CA_BUNDLE_PATH: "/etc/ssl/certs/ca-certificates.crt"
