Skip to content

Commit

Permalink
Merge pull request #94 from lioramilbaum/envconsul
Browse files Browse the repository at this point in the history
envconsul
  • Loading branch information
lmilbaum committed Mar 14, 2020
2 parents 0404827 + 18512af commit 3879d03
Show file tree
Hide file tree
Showing 14 changed files with 51 additions and 41 deletions.
6 changes: 4 additions & 2 deletions .github/workflows/pythonapp.yml
Expand Up @@ -24,8 +24,10 @@ jobs:
run: sudo service mysql stop
- name: Build the docker-compose stack
run: |
cd ${GITHUB_WORKSPACE}/microservices
docker-compose up -d
docker-compose -f microservices/docker-compose.yml up -d \
vault-server vault-client
export GUEST_HOME="${GITHUB_WORKSPACE}"
./docker-compose-wrapper.sh
- name: Bootstrap
run: |
export GUEST_HOME="${GITHUB_WORKSPACE}"
Expand Down
6 changes: 5 additions & 1 deletion Vagrantfile
Expand Up @@ -18,10 +18,14 @@ Vagrant.configure("2") do |config|
config.vm.provision :docker_compose,
compose_version: "1.25.4",
yml: "/vagrant/microservices/docker-compose.yml",
command_options: { up: "-d vault-server vault-client"},
run: "always",
env: { "GUEST_HOME" => "/vagrant"}
config.vm.provision "shell",
path: "docker-compose-wrapper.sh",
env: {"GUEST_HOME" => "/vagrant"}
config.vm.provision "shell",
path:"bootstrap-app.sh",
path: "bootstrap-app.sh",
env: {"GUEST_HOME" => "/vagrant"}

config.vm.define "dev" do |dev|
Expand Down
7 changes: 0 additions & 7 deletions bootstrap-app.sh
Expand Up @@ -2,12 +2,5 @@

GUEST_HOME=${GUEST_HOME:='.'}

apt-get update
apt-get install -y python3-pip python3-setuptools mysql-client libmysqlclient-dev

pip3 install -r $GUEST_HOME/requirements.lock

chmod 755 $GUEST_HOME/main.py

export FLASK_APP=$GUEST_HOME/main.py
nohup python3 -m flask run --host=0.0.0.0 > /dev/null 2>&1 &
12 changes: 12 additions & 0 deletions docker-compose-wrapper.sh
@@ -0,0 +1,12 @@
#!/usr/bin/env bash

GUEST_HOME=${GUEST_HOME:='.'}

apt-get update
apt-get install -y python3-pip python3-setuptools mysql-client libmysqlclient-dev

pip3 install -r $GUEST_HOME/requirements.lock

MYSQL_ROOT_PASSWORD=$(cd $GUEST_HOME && export GUEST_HOME=$GUEST_HOME && python3 -c "from project.secrets import get_secret; print(get_secret('mysql/password'))")
export MYSQL_ROOT_PASSWORD
docker-compose -f $GUEST_HOME/microservices/docker-compose.yml up -d db
2 changes: 1 addition & 1 deletion main.py
Expand Up @@ -3,7 +3,7 @@

import logging

from project import create_app, create_db
from project.create import create_app, create_db
from project.routes import configure_routes

logging.basicConfig(filename='zapata.log', level=logging.DEBUG)
Expand Down
4 changes: 1 addition & 3 deletions microservices/docker-compose.yml 100644 → 100755
Expand Up @@ -35,13 +35,11 @@ services:
container_name: db
environment:
- MYSQL_DATABASE=zapata
- MYSQL_ROOT_PASSWORD=root
- MYSQL_ROOT_PASSWORD
- MYSQL_ROOT_HOST=%
ports:
- 3306:3306
volumes:
- ./db/create_db.sql:/docker-entrypoint-initdb.d/create_db.sql
- ./db/my.cnf:/etc/mysql/my.cnf
depends_on:
- vault-client
restart: always
21 changes: 0 additions & 21 deletions project/__init__.py
@@ -1,21 +0,0 @@
#!/usr/bin/env python3

from flask import Flask
from flask_mysqldb import MySQL


def create_app():
app = Flask(__name__)
return app


def create_db(app):
app.config['MYSQL_HOST'] = '127.0.0.1'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'root'
app.config['MYSQL_DB'] = 'zapata'
app.config['MYSQL_CURSORCLASS'] = 'DictCursor'
app.secret_key = 'secret123'

db = MySQL(app)
return db
21 changes: 21 additions & 0 deletions project/create.py
@@ -0,0 +1,21 @@
#!/usr/bin/env python3

from flask import Flask
from flask_mysqldb import MySQL


def create_app():
app = Flask(__name__)
return app


def create_db(app):
app.config['MYSQL_HOST'] = '127.0.0.1'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'root'
app.config['MYSQL_DB'] = 'zapata'
app.config['MYSQL_CURSORCLASS'] = 'DictCursor'
app.secret_key = 'secret123'

db = MySQL(app)
return db
1 change: 0 additions & 1 deletion project/python_modules/__init__.py

This file was deleted.

2 changes: 1 addition & 1 deletion project/routes.py
Expand Up @@ -5,7 +5,7 @@
from wtforms import Form, StringField
from wtforms.validators import DataRequired, Email

from project.python_modules.secrets import get_secret
from project.secrets import get_secret


def configure_routes(app, db):
Expand Down
File renamed without changes.
3 changes: 2 additions & 1 deletion requirements.lock
Expand Up @@ -2,4 +2,5 @@ Flask==1.1.1
wtforms==2.2.1
passlib==1.7.2
flask_mysqldb==0.2.0
mailchimp3==3.0.12
mailchimp3==3.0.12
requests==2.22.0
3 changes: 2 additions & 1 deletion requirements.txt
Expand Up @@ -2,4 +2,5 @@ Flask
wtforms
passlib
flask_mysqldb
mailchimp3
mailchimp3
requests
4 changes: 2 additions & 2 deletions tests/conftest.py
Expand Up @@ -3,9 +3,9 @@
import MySQLdb
import pytest

from project import create_app, create_db
from project.python_modules.secrets import get_secret
from project.create import create_app, create_db
from project.routes import configure_routes
from project.secrets import get_secret


@pytest.fixture
Expand Down

0 comments on commit 3879d03

Please sign in to comment.