mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-27 11:19:21 -04:00
Added staging deploy into travis
This commit is contained in:
@@ -13,8 +13,8 @@ from flask import (
|
||||
current_app,
|
||||
request,
|
||||
g,
|
||||
url_for
|
||||
)
|
||||
url_for)
|
||||
|
||||
from flask._compat import string_types
|
||||
from flask.globals import _lookup_req_object
|
||||
from flask_login import LoginManager
|
||||
@@ -67,9 +67,11 @@ current_service = LocalProxy(partial(_lookup_req_object, 'service'))
|
||||
|
||||
|
||||
def create_app():
|
||||
from config import configs
|
||||
|
||||
application = Flask(__name__)
|
||||
|
||||
application.config.from_object(os.environ['NOTIFY_ADMIN_ENVIRONMENT'])
|
||||
application.config.from_object(configs[os.environ['NOTIFY_ENVIRONMENT']])
|
||||
|
||||
init_app(application)
|
||||
logging.init_app(application)
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
__travis_commit__ = "dev"
|
||||
__time__ = "dev"
|
||||
__travis_job_number__ = "dev"
|
||||
__travis_commit__ = ""
|
||||
__time__ = "2016-07-05:14:44:52"
|
||||
__travis_job_number__ = ""
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
files:
|
||||
-
|
||||
destination: /home/ubuntu/notifications-admin
|
||||
destination: /home/notify-app/notifications-admin
|
||||
source: /
|
||||
hooks:
|
||||
AfterInstall:
|
||||
|
||||
25
config.py
25
config.py
@@ -3,7 +3,6 @@ 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']
|
||||
@@ -78,10 +77,24 @@ class Preview(Config):
|
||||
CSV_UPLOAD_BUCKET_NAME = 'preview-notifications-csv-upload'
|
||||
|
||||
|
||||
class Staging(Config):
|
||||
SHOW_STYLEGUIDE = False
|
||||
HTTP_PROTOCOL = 'https'
|
||||
HEADER_COLOUR = '#F47738' # $orange
|
||||
CSV_UPLOAD_BUCKET_NAME = 'staging-notify-csv-upload'
|
||||
|
||||
|
||||
class Live(Config):
|
||||
SHOW_STYLEGUIDE = False
|
||||
HEADER_COLOUR = '#B10E1E' # $red
|
||||
HTTP_PROTOCOL = 'https'
|
||||
CSV_UPLOAD_BUCKET_NAME = 'live-notifications-csv-upload'
|
||||
|
||||
|
||||
configs = {
|
||||
'development': 'config.Development',
|
||||
'test': 'config.Test',
|
||||
'preview': 'config.Preview',
|
||||
'staging': 'config_staging.Staging',
|
||||
'live': 'config_live.Live'
|
||||
'development': Development,
|
||||
'test': Test,
|
||||
'preview': Preview,
|
||||
'staging': Staging,
|
||||
'live': Live
|
||||
}
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
import os
|
||||
from config import Config
|
||||
|
||||
|
||||
class Live(Config):
|
||||
SHOW_STYLEGUIDE = False
|
||||
HEADER_COLOUR = '#B10E1E' # $red
|
||||
HTTP_PROTOCOL = 'https'
|
||||
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']
|
||||
CSV_UPLOAD_BUCKET_NAME = 'live-notifications-csv-upload'
|
||||
DESKPRO_API_KEY = os.environ['LIVE_DESKPRO_API_KEY']
|
||||
DESKPRO_DEPT_ID = os.environ['LIVE_DESKPRO_DEPT_ID']
|
||||
DESKPRO_ASSIGNED_AGENT_TEAM_ID = os.environ['LIVE_DESKPRO_ASSIGNED_AGENT_TEAM_ID']
|
||||
HEADER_COLOUR = '#B10E1E' # $red
|
||||
@@ -1,16 +0,0 @@
|
||||
import os
|
||||
from config import Config
|
||||
|
||||
|
||||
class Staging(Config):
|
||||
SHOW_STYLEGUIDE = False
|
||||
HTTP_PROTOCOL = 'https'
|
||||
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']
|
||||
CSV_UPLOAD_BUCKET_NAME = 'staging-notifications-csv-upload'
|
||||
DESKPRO_API_KEY = os.environ['STAGING_DESKPRO_API_KEY']
|
||||
DESKPRO_DEPT_ID = os.environ['STAGING_DESKPRO_DEPT_ID']
|
||||
DESKPRO_ASSIGNED_AGENT_TEAM_ID = os.environ['STAGING_DESKPRO_ASSIGNED_AGENT_TEAM_ID']
|
||||
HEADER_COLOUR = '#F47738' # $orange
|
||||
@@ -1,4 +1,4 @@
|
||||
export NOTIFY_ADMIN_ENVIRONMENT='config.Test'
|
||||
export NOTIFY_ENVIRONMENT='test'
|
||||
export ADMIN_CLIENT_SECRET='dev-notify-secret-key'
|
||||
export ADMIN_CLIENT_USER_NAME='dev-notify-admin'
|
||||
export API_HOST_NAME=''
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Chown application to be owned by ubuntu"
|
||||
cd /home/ubuntu/;
|
||||
chown -R ubuntu:ubuntu notifications-admin
|
||||
cd /home/notify-app/;
|
||||
chown -R notify-app:govuk-notify-applications notifications-admin
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Install dependencies"
|
||||
cd /home/ubuntu/notifications-admin;
|
||||
pip3 install -r /home/ubuntu/notifications-admin/requirements.txt
|
||||
cd /home/notify-app/notifications-admin;
|
||||
pip3 install -r /home/notify-app/notifications-admin/requirements.txt
|
||||
@@ -1,5 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Starting application"
|
||||
cd ~/notifications-admin/;
|
||||
sudo service notifications-admin start
|
||||
@@ -101,7 +101,7 @@ reset_waiter_timeout() {
|
||||
fi
|
||||
|
||||
# Base register/deregister action may take up to about 30 seconds
|
||||
timeout=$((timeout + 30))
|
||||
timeout=$((timeout + 60))
|
||||
|
||||
WAITER_ATTEMPTS=$((timeout / WAITER_INTERVAL))
|
||||
}
|
||||
@@ -183,7 +183,7 @@ get_instance_health_elb() {
|
||||
;;
|
||||
*)
|
||||
msg "Instance '$instance_id' not part of ELB '$elb_name'"
|
||||
return 1
|
||||
return 0
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
12
wsgi.py
12
wsgi.py
@@ -1,21 +1,9 @@
|
||||
from credstash import getAllSecrets
|
||||
import os
|
||||
|
||||
default_env_file = '/home/ubuntu/environment'
|
||||
environment = 'live'
|
||||
|
||||
if os.path.isfile(default_env_file):
|
||||
with open(default_env_file, 'r') as environment_file:
|
||||
environment = environment_file.readline().strip()
|
||||
|
||||
|
||||
# on aws get secrets and export to env
|
||||
os.environ.update(getAllSecrets(region="eu-west-1"))
|
||||
|
||||
from config import configs # noqa
|
||||
|
||||
os.environ['NOTIFY_ADMIN_ENVIRONMENT'] = configs[environment]
|
||||
|
||||
from app import create_app # noqa
|
||||
|
||||
application = create_app()
|
||||
|
||||
Reference in New Issue
Block a user