Renga Deployer Service.
$ export FLASK_APP=renga_deployer/app.py $ flask run
The first time you run the app locally, you may need to build the database tables:
$ flask shell >>> from renga_deployer.app import db >>> db.create_all()
$ docker build --tag renga-deployer:latest . $ docker run -p 5000:5000 -v /var/run/docker.sock:/var/run/docker.sock renga-deployer:latest
For development, mount the code directly and enable flask debug mode:
$ docker run -p 5000:5000 \
-e FLASK_DEBUG=1 \
-v `pwd`:/code \
-v /var/run/docker.sock:/var/run/docker.sock \
renga-deployer:latest
You can test the API by pointing your browser to http://localhost:5000/v1/ui
The packages includes two simple orchestration setup files:
docker-compose.yml and docker-compose.full.yml.
The first includes only the deployer container linked to a postgres database. To use the deployer with postgres:
$ docker-compose up
As before, the service is available on port 5000.
The second can be used as a template to define your own production deployment environment including the Traefik load balancer and (self-signed) SSL certificates.
$ docker-compose -f docker-compose.full.yml up
The service is available on https://localhost/api/deployer. You can access the
traefik dashboard on http://localhost:8080/.
The deployer can optionally integrate with other Renga Platform services.
To enable integration, set the appropriate environment variables in the
form of <SERVICE_NAME_URL> to point to the api URL. For example,
setting KNOWLEDGE_GRAPH_URL will ensure that deployment contexts and
executions are automatically added to the knowledge graph. Note that to
use the resource manager, you will need to additionally set the
DEPLOYER_JWT_KEY.