Clean up config a bit. Get values for config from environment.

Removed some old redundant config.
This commit is contained in:
Adam Shimali
2016-03-23 14:09:07 +00:00
parent faaedb318d
commit 3e167c69f2
9 changed files with 59 additions and 56 deletions

2
.gitignore vendored
View File

@@ -67,3 +67,5 @@ node_modules
bower_components
app/templates/govuk_template.html
npm-debug.log
environment.sh

View File

@@ -56,6 +56,20 @@ in a separate terminal from the app
npm run watch
```
## Create a local environment.sh file containing the following:
```
echo "
export NOTIFY_ADMIN_ENVIRONMENT='config.Development'
export ADMIN_CLIENT_SECRET='dev-notify-secret-key'
export ADMIN_CLIENT_USER_NAME='dev-notify-admin'
export API_HOST_NAME='http://localhost:6011'
export DANGEROUS_SALT='dev-notify-salt'
export SECRET_KEY='dev-notify-secret-key'
"> environment.sh
```
## Running the application
```shell

View File

@@ -3,52 +3,38 @@ from datetime import timedelta
class Config(object):
DEBUG = False
ADMIN_CLIENT_SECRET = os.environ['ADMIN_CLIENT_SECRET']
ADMIN_CLIENT_USER_NAME = os.environ['ADMIN_CLIENT_USER_NAME']
API_HOST_NAME = os.environ['API_HOST_NAME']
ASSETS_DEBUG = False
cache = False
SEND_FILE_MAX_AGE_DEFAULT = 365 * 24 * 60 * 60 # 1 year
manifest = True
NOTIFY_LOG_LEVEL = 'DEBUG'
NOTIFY_APP_NAME = 'admin'
NOTIFY_LOG_PATH = '/var/log/notify/application.log'
AWS_REGION = 'eu-west-1'
DANGEROUS_SALT = os.environ['DANGEROUS_SALT']
DEFAULT_SERVICE_LIMIT = 50
EMAIL_EXPIRY_SECONDS = 3600 * 24 * 7 # one week
HEADER_COLOUR = '#FFBF47' # $yellow
HTTP_PROTOCOL = 'http'
MAX_FAILED_LOGIN_COUNT = 10
SESSION_COOKIE_NAME = 'notify_admin_session'
SESSION_COOKIE_PATH = '/admin'
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_SECURE = True
NOTIFY_APP_NAME = 'admin'
NOTIFY_LOG_LEVEL = 'DEBUG'
NOTIFY_LOG_PATH = '/var/log/notify/application.log'
PERMANENT_SESSION_LIFETIME = 3600 # seconds
SESSION_REFRESH_EACH_REQUEST = True
REMEMBER_COOKIE_NAME = 'notify_admin_remember_me'
REMEMBER_COOKIE_PATH = '/admin'
REMEMBER_COOKIE_DURATION = timedelta(days=1)
REMEMBER_COOKIE_HTTPONLY = True
REMEMBER_COOKIE_NAME = 'notify_admin_remember_me'
REMEMBER_COOKIE_PATH = '/admin'
REMEMBER_COOKIE_SECURE = True
API_HOST_NAME = os.getenv('API_HOST_NAME')
ADMIN_CLIENT_USER_NAME = os.getenv('ADMIN_CLIENT_USER_NAME')
ADMIN_CLIENT_SECRET = os.getenv('ADMIN_CLIENT_SECRET')
WTF_CSRF_ENABLED = True
HTTP_PROTOCOL = 'http'
SECRET_KEY = os.getenv('SECRET_KEY')
DANGEROUS_SALT = os.getenv('DANGEROUS_SALT')
TOKEN_MAX_AGE_SECONDS = 3600
EMAIL_EXPIRY_SECONDS = TOKEN_MAX_AGE_SECONDS * 24 * 7 # one week
DEFAULT_SERVICE_LIMIT = 50
MAX_CONTENT_LENGTH = 10 * 1024 * 1024 # 10mb
UPLOAD_FOLDER = '/tmp'
HEADER_COLOUR = '#FFBF47' # $yellow
AWS_REGION = 'eu-west-1'
SECRET_KEY = os.environ['SECRET_KEY']
SEND_FILE_MAX_AGE_DEFAULT = 365 * 24 * 60 * 60 # 1 year
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = 'notify_admin_session'
SESSION_COOKIE_PATH = '/admin'
SESSION_COOKIE_SECURE = True
SESSION_REFRESH_EACH_REQUEST = True
SHOW_STYLEGUIDE = True
TOKEN_MAX_AGE_SECONDS = 3600
WTF_CSRF_ENABLED = True
EMAIL_DOMAIN_REGEXES = [
"gov.uk",
@@ -65,23 +51,16 @@ class Config(object):
class Development(Config):
DEBUG = True
API_HOST_NAME = 'http://localhost:6011'
ADMIN_CLIENT_USER_NAME = 'dev-notify-admin'
ADMIN_CLIENT_SECRET = 'dev-notify-secret-key'
WTF_CSRF_ENABLED = False
REMEMBER_COOKIE_SECURE = False
SESSION_COOKIE_SECURE = False
SECRET_KEY = 'dev-notify-secret-key'
DANGEROUS_SALT = 'dev-notify-salt'
WTF_CSRF_ENABLED = False
class Test(Development):
DEBUG = True
WTF_CSRF_ENABLED = False
pass
class Preview(Config):
DEBUG = False
HTTP_PROTOCOL = 'https'
HEADER_COLOUR = '#F47738' # $orange

View File

@@ -6,7 +6,7 @@ class Live(Config):
SHOW_STYLEGUIDE = False
HEADER_COLOUR = '#B10E1E' # $red
HTTP_PROTOCOL = 'https'
API_HOST_NAME = os.getenv('LIVE_API_HOST_NAME')
ADMIN_CLIENT_SECRET = os.getenv('LIVE_ADMIN_CLIENT_SECRET')
SECRET_KEY = os.getenv('LIVE_SECRET_KEY')
DANGEROUS_SALT = os.getenv('LIVE_DANGEROUS_SALT')
API_HOST_NAME = os.environ['LIVE_API_HOST_NAME']
ADMIN_CLIENT_SECRET = os.environ['LIVE_ADMIN_CLIENT_SECRET']
SECRET_KEY = os.environ['LIVE_SECRET_KEY']
DANGEROUS_SALT = os.environ['LIVE_DANGEROUS_SALT']

View File

@@ -5,7 +5,7 @@ from config import Config
class Staging(Config):
SHOW_STYLEGUIDE = False
HTTP_PROTOCOL = 'https'
API_HOST_NAME = os.getenv('STAGING_API_HOST_NAME')
ADMIN_CLIENT_SECRET = os.getenv('STAGING_ADMIN_CLIENT_SECRET')
SECRET_KEY = os.getenv('STAGING_SECRET_KEY')
DANGEROUS_SALT = os.getenv('STAGING_DANGEROUS_SALT')
API_HOST_NAME = os.environ['STAGING_API_HOST_NAME']
ADMIN_CLIENT_SECRET = os.environ['STAGING_ADMIN_CLIENT_SECRET']
SECRET_KEY = os.environ['STAGING_SECRET_KEY']
DANGEROUS_SALT = os.environ['STAGING_DANGEROUS_SALT']

6
environment_test.sh Normal file
View File

@@ -0,0 +1,6 @@
export NOTIFY_ADMIN_ENVIRONMENT='config.Test'
export ADMIN_CLIENT_SECRET='dev-notify-secret-key'
export ADMIN_CLIENT_USER_NAME='dev-notify-admin'
export API_HOST_NAME='http://localhost:6011'
export DANGEROUS_SALT='dev-notify-salt'
export SECRET_KEY='dev-notify-secret-key'

View File

@@ -1,4 +1,4 @@
#!/bin/bash
export NOTIFY_ADMIN_ENVIRONMENT='config.Development'
source environment.sh
python3 app.py runserver

View File

@@ -9,6 +9,8 @@
set -o pipefail
source environment_test.sh
function display_result {
RESULT=$1
EXIT_STATUS=$2