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
.