Replace manifest services with lists of env variables

Removes bindings to user provided services for new application
deployments and sets the expected environment variables to `null`.

Listing variables in the manifest allows us to only inject secrets
used by the app. `null` is not a valid value for a variable in a
CloudFoundry manifest, so if any of the keys don't have a match in
the credentials file `cf push` will return an error and stop the
deployment.
This commit is contained in:
Alexey Bezhan
2018-01-05 14:27:17 +00:00
parent 0ad5c184c2
commit ff8373600d
6 changed files with 66 additions and 45 deletions

View File

@@ -3,19 +3,45 @@
buildpack: python_buildpack buildpack: python_buildpack
command: scripts/run_app_paas.sh gunicorn -c /home/vcap/app/gunicorn_config.py --error-logfile /home/vcap/logs/gunicorn_error.log -w 5 -b 0.0.0.0:$PORT application command: scripts/run_app_paas.sh gunicorn -c /home/vcap/app/gunicorn_config.py --error-logfile /home/vcap/logs/gunicorn_error.log -w 5 -b 0.0.0.0:$PORT application
services: services:
- notify-aws
- notify-config
- notify-db - notify-db
- mmg
- firetext
- hosted-graphite
- redis
- performance-platform
env: env:
NOTIFY_APP_NAME: public-api NOTIFY_APP_NAME: public-api
CW_APP_NAME: api CW_APP_NAME: api
# required by cf run-task # required by cf run-task
FLASK_APP: application.py FLASK_APP: application.py
# Credentials variables
ADMIN_BASE_URL: null
ADMIN_CLIENT_SECRET: null
API_HOST_NAME: null
DANGEROUS_SALT: null
SECRET_KEY: null
ROUTE_SECRET_KEY_1: null
ROUTE_SECRET_KEY_2: null
PERFORMANCE_PLATFORM_ENDPOINTS: null
NOTIFICATION_QUEUE_PREFIX: null
AWS_ACCESS_KEY_ID: null
AWS_SECRET_ACCESS_KEY: null
STATSD_PREFIX: null
MMG_URL: null
MMG_API_KEY: null
MMG_INBOUND_SMS_AUTH: null
MMG_INBOUND_SMS_USERNAME: null
FIRETEXT_API_KEY: null
LOADTESTING_API_KEY: null
FIRETEXT_INBOUND_SMS_AUTH: null
REDIS_ENABLED: null
REDIS_URL: null
TEMPLATE_PREVIEW_API_HOST: null
TEMPLATE_PREVIEW_API_KEY: null
instances: 1 instances: 1
memory: 1G memory: 1G

View File

@@ -3,14 +3,7 @@
inherit: manifest-api-base.yml inherit: manifest-api-base.yml
services: services:
- notify-aws
- notify-config
- notify-db - notify-db
- mmg
- firetext
- hosted-graphite
- redis
- performance-platform
- logit-ssl-syslog-drain - logit-ssl-syslog-drain
routes: routes:

View File

@@ -2,14 +2,7 @@
inherit: manifest-api-base.yml inherit: manifest-api-base.yml
services: services:
- notify-aws
- notify-config
- notify-db - notify-db
- mmg
- firetext
- hosted-graphite
- redis
- performance-platform
- logit-ssl-syslog-drain - logit-ssl-syslog-drain
routes: routes:

View File

@@ -4,18 +4,43 @@ buildpack: python_buildpack
health-check-type: none health-check-type: none
no-route: true no-route: true
services: services:
- notify-aws
- notify-config
- notify-db - notify-db
- notify-template-preview
- mmg
- firetext
- hosted-graphite
- redis
- performance-platform
instances: 1 instances: 1
memory: 1G memory: 1G
env:
# Credentials variables
ADMIN_BASE_URL: null
ADMIN_CLIENT_SECRET: null
API_HOST_NAME: null
DANGEROUS_SALT: null
SECRET_KEY: null
ROUTE_SECRET_KEY_1: null
ROUTE_SECRET_KEY_2: null
PERFORMANCE_PLATFORM_ENDPOINTS: null
NOTIFICATION_QUEUE_PREFIX: null
AWS_ACCESS_KEY_ID: null
AWS_SECRET_ACCESS_KEY: null
STATSD_PREFIX: null
MMG_URL: null
MMG_API_KEY: null
MMG_INBOUND_SMS_AUTH: null
MMG_INBOUND_SMS_USERNAME: null
FIRETEXT_API_KEY: null
LOADTESTING_API_KEY: null
FIRETEXT_INBOUND_SMS_AUTH: null
REDIS_ENABLED: null
REDIS_URL: null
TEMPLATE_PREVIEW_API_HOST: null
TEMPLATE_PREVIEW_API_KEY: null
applications: applications:
- name: notify-delivery-celery-beat - name: notify-delivery-celery-beat
command: scripts/run_app_paas.sh celery -A run_celery.notify_celery beat --loglevel=INFO command: scripts/run_app_paas.sh celery -A run_celery.notify_celery beat --loglevel=INFO

View File

@@ -3,15 +3,7 @@
inherit: manifest-delivery-base.yml inherit: manifest-delivery-base.yml
services: services:
- notify-aws
- notify-config
- notify-db - notify-db
- notify-template-preview
- mmg
- firetext
- hosted-graphite
- redis
- performance-platform
- logit-ssl-syslog-drain - logit-ssl-syslog-drain
memory: 1G memory: 1G

View File

@@ -3,15 +3,7 @@
inherit: manifest-delivery-base.yml inherit: manifest-delivery-base.yml
services: services:
- notify-aws
- notify-config
- notify-db - notify-db
- notify-template-preview
- mmg
- firetext
- hosted-graphite
- redis
- performance-platform
- logit-ssl-syslog-drain - logit-ssl-syslog-drain
instances: 2 instances: 2