Add scripts for creating a new instance on heroku

This commit is contained in:
Ramon Wenger 2022-10-11 17:20:46 +02:00
parent 4c6b1d3d0a
commit 1660507889
5 changed files with 41 additions and 4 deletions

16
configure-instance.sh Executable file
View File

@ -0,0 +1,16 @@
#!/bin/bash
name=$1
app=$name-prod
remote=$name
env=$name.env
rndm=$(echo $RANDOM | md5sum | head -c 32; echo)
config=$(heroku config -s -a my-kv-prod | grep -v '^HEROKU_' | grep -v 'VUE_APP_TITLE' | grep -v 'PAPERTRAIL' | grep -v 'DATABASE' | sed "s/'//g")
heroku git:remote --app $app --remote $remote
heroku config:set --app $app $config
heroku config:set --app $app APP_NAME=$app NEW_RELIC_APP_NAME=$app SECRET_KEY=$rndm `cat $env | sed "s/'//g"`
heroku config:unset --app $app BACKUP_AWS_ACCESS_KEY_ID BACKUP_AWS_SECRET_ACCESS_KEY BACKUP_S3_BUCKET_NAME PG_BACKUP_KEY SENTRY_DSN
heroku buildpacks:set --app $app heroku/nodejs
heroku buildpacks:add --app $app heroku/python
heroku buildpacks:add --app $app heroku-community/awscli
heroku buildpacks:add --app $app heroku-community/cli

10
create-instance.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
name=$1
app=$name-prod
heroku apps:create \
--team skillbox \
--region eu \
--stack heroku-20 \
--addons heroku-postgresql:hobby-basic,papertrail:choklad,scheduler:standard \
$app

View File

@ -0,0 +1,8 @@
## Steps for new Instance
- define an app name, e.g. mydetailhandel-efz
- create an .env file for this app with the name `$name.env`
- `./create-instance.sh <app-name>`
- `./configure-instance.sh <app-name>`
- heroku run --app $name-prod python server/manage.py dummy_data
- heroku run --app $name-prod python server/manage.py createsuperuser

7
new-instance.env.example Normal file
View File

@ -0,0 +1,7 @@
VUE_APP_TITLE='Title'
OAUTH_CLIENT_ID='ID'
OAUTH_CLIENT_SECRET='SECRET'
OAUTH_LOCAL_REDIRECT_URI='https://some-app.herokuapp.com/api/oauth/callback/'
AWS_ACCESS_KEY_ID='AWSID'
AWS_SECRET_ACCESS_KEY='AWSSECRET'
AWS_STORAGE_BUCKET_NAME='BUCKET'

View File

@ -1,4 +0,0 @@
## Steps for new Instance
- `python server/manage.py create_superuser # guru`
- `python server/manage.py create_teacher mia teacher mia.teacher@getnada.com`