summaryrefslogtreecommitdiffstats
path: root/utils/test/testapi/deployment/deploy.py
blob: 748bd34f8a6d0954dc1fec615dfc2a1dc6e30dfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import argparse
import os

from jinja2 import Environment, FileSystemLoader

env = Environment(loader=FileSystemLoader('./'))
docker_compose_yml = './docker-compose.yml'
docker_compose_template = './docker-compose.yml.template'


def render_docker_compose(port, swagger_url):
    vars = {
        "expose_port": port,
        "swagger_url": swagger_url,
    }
    template = env.get_template(docker_compose_template)
    yml = template.render(vars=vars)

    with open(docker_compose_yml, 'w') as f:
        f.write(yml)
        f.close()


def main(args):
    render_docker_compose(args.expose_port, args.swagger_url)
    os.system('docker-compose -f {} up -d'.format(docker_compose_yml))


if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='Backup MongoDBs')
    parser.add_argument('-p', '--expose-port',
                        type=int,
                        required=False,
                        default=8000,
                        help='testapi exposed port')
    parser.add_argument('-su', '--swagger-url',
                        type=str,
                        required=True,
                        help='testapi exposed swagger-url')
    main(parser.parse_args())