Initial config for local deployments

Not yet working properly on cloud.gov
This commit is contained in:
Christa Hartsock
2022-06-23 15:53:23 -07:00
committed by GitHub
parent 2a918dbe98
commit 6d3f67fb9b
6 changed files with 64 additions and 12 deletions

1
.gitignore vendored
View File

@@ -108,6 +108,7 @@ environment.sh
.envrc .envrc
.env .env
.env* .env*
varsfile
# CloudFoundry # CloudFoundry
.cf .cf

View File

@@ -4,4 +4,4 @@ import os
def extract_cloudfoundry_config(): def extract_cloudfoundry_config():
vcap_services = json.loads(os.environ['VCAP_SERVICES']) vcap_services = json.loads(os.environ['VCAP_SERVICES'])
os.environ['REDIS_URL'] = vcap_services['redis'][0]['credentials']['uri'] os.environ['REDIS_URL'] = vcap_services['aws-elasticache-redis'][0]['credentials']['uri']

View File

@@ -31,7 +31,7 @@ class Config(object):
ANTIVIRUS_API_KEY = os.environ.get('ANTIVIRUS_API_KEY') ANTIVIRUS_API_KEY = os.environ.get('ANTIVIRUS_API_KEY')
ASSETS_DEBUG = False ASSETS_DEBUG = False
AWS_REGION = 'us-west-2' AWS_REGION = os.environ.get('AWS_REGION')
DEFAULT_SERVICE_LIMIT = 50 DEFAULT_SERVICE_LIMIT = 50
EMAIL_EXPIRY_SECONDS = 3600 # 1 hour EMAIL_EXPIRY_SECONDS = 3600 # 1 hour
@@ -180,13 +180,13 @@ class Staging(Config):
class Live(Config): class Live(Config):
HEADER_COLOUR = '#005EA5' # $govuk-blue HEADER_COLOUR = '#005EA5' # $govuk-blue
HTTP_PROTOCOL = 'https' HTTP_PROTOCOL = 'https'
CSV_UPLOAD_BUCKET_NAME = 'live-notifications-csv-upload' CSV_UPLOAD_BUCKET_NAME = 'notifications.prototype.csv_upload'
CONTACT_LIST_UPLOAD_BUCKET_NAME = 'production-contact-list' CONTACT_LIST_UPLOAD_BUCKET_NAME = 'notifications.prototype.contact_list_upload'
LOGO_UPLOAD_BUCKET_NAME = 'public-logos-production' LOGO_UPLOAD_BUCKET_NAME = 'notifications.prototype.logo_upload'
LOGO_CDN_DOMAIN = 'static-logos.notifications.service.gov.uk' LOGO_CDN_DOMAIN = 'static-logos.notifications.service.gov.uk'
MOU_BUCKET_NAME = 'notifications.service.gov.uk-mou' MOU_BUCKET_NAME = 'notifications.prototype.mou'
TRANSIENT_UPLOADED_LETTERS = 'production-transient-uploaded-letters' TRANSIENT_UPLOADED_LETTERS = 'prototype-transient-uploaded-letters'
PRECOMPILED_ORIGINALS_BACKUP_LETTERS = 'production-letters-precompiled-originals-backup' PRECOMPILED_ORIGINALS_BACKUP_LETTERS = 'prototype-letters-precompiled-originals-backup'
NOTIFY_ENVIRONMENT = 'live' NOTIFY_ENVIRONMENT = 'live'
CHECK_PROXY_HEADER = False CHECK_PROXY_HEADER = False
ASSET_DOMAIN = 'static.notifications.service.gov.uk' ASSET_DOMAIN = 'static.notifications.service.gov.uk'

39
manifest.yml Normal file
View File

@@ -0,0 +1,39 @@
---
applications:
- name: notifications-admin
buildpack: python_buildpack
memory: 1G
health-check-type: http
health-check-http-endpoint: '/_status?simple=true'
health-check-invocation-timeout: 10
routes:
- route: notifications-admin.app.cloud.gov
services:
# - logit-ssl-syslog-drain
# - notify-prometheus
# - notify-splunk
- api-redis
env:
NOTIFY_APP_NAME: admin
NOTIFY_LOG_PATH: /home/vcap/logs/app.log
FLASK_APP: application.py
FLASK_ENV: production
NOTIFY_ENVIRONMENT: live
# Credentials variables
ADMIN_CLIENT_SECRET: ((ADMIN_CLIENT_SECRET))
ADMIN_BASE_URL: notifications-admin.app.cloud.gov
API_HOST_NAME: notifications-api.app.cloud.gov
DANGEROUS_SALT: ((DANGEROUS_SALT))
SECRET_KEY: ((SECRET_KEY))
ROUTE_SECRET_KEY_1: ((ROUTE_SECRET_KEY_1))
ROUTE_SECRET_KEY_2: ((ROUTE_SECRET_KEY_2))
AWS_REGION: us-west-2
AWS_ACCESS_KEY_ID: ((AWS_ACCESS_KEY_ID))
AWS_SECRET_ACCESS_KEY: ((AWS_SECRET_ACCESS_KEY))
NOTIFY_BILLING_DETAILS: []

View File

@@ -3,6 +3,7 @@
set -e -o pipefail set -e -o pipefail
TERMINATE_TIMEOUT=30 TERMINATE_TIMEOUT=30
readonly LOGS_DIR="/home/vcap/logs"
function check_params { function check_params {
if [ -z "${NOTIFY_APP_NAME}" ]; then if [ -z "${NOTIFY_APP_NAME}" ]; then
@@ -16,19 +17,23 @@ function check_params {
} }
function configure_aws_logs { function configure_aws_logs {
# create files so that aws logs agent doesn't complain
touch ${LOGS_DIR}/gunicorn_error.log
touch ${LOGS_DIR}/app.log.json
aws configure set plugins.cwlogs cwlogs aws configure set plugins.cwlogs cwlogs
cat > /home/vcap/app/awslogs.conf << EOF cat > /home/vcap/app/awslogs.conf << EOF
[general] [general]
state_file = /home/vcap/logs/awslogs-state state_file = /home/vcap/logs/awslogs-state
[/home/vcap/logs/app.log] [${LOGS_DIR}/app.log]
file = /home/vcap/logs/app.log* file = ${LOGS_DIR}/app.log.json
log_group_name = paas-${CW_APP_NAME}-application log_group_name = paas-${CW_APP_NAME}-application
log_stream_name = {hostname} log_stream_name = {hostname}
[/home/vcap/logs/gunicorn_error.log] [${LOGS_DIR}/gunicorn_error.log]
file = /home/vcap/logs/gunicorn_error.log file = ${LOGS_DIR}/gunicorn_error.log
log_group_name = paas-${CW_APP_NAME}-gunicorn log_group_name = paas-${CW_APP_NAME}-gunicorn
log_stream_name = {hostname} log_stream_name = {hostname}
EOF EOF

7
varsfile.sample Normal file
View File

@@ -0,0 +1,7 @@
ADMIN_CLIENT_SECRET: asdf
DANGEROUS_SALT: asdf
SECRET_KEY: asdf
ROUTE_SECRET_KEY_1: asdf
ROUTE_SECRET_KEY_2: asdf
AWS_ACCESS_KEY_ID: asdf
AWS_SECRET_ACCESS_KEY: asdf