Orchestration service for totem that provides orchestration for hooks
5.2K
Provides orchestration for continuous deployment to Totem Cluster.
This project is ready to be used in production.
Project uses Sphinx for code/api documentation.
The latest code/api documentation can be found at: http://cluster-orchestrator.readthedocs.org/
To generate html documentation, use command:
cd docs && make html
The documentation will be generated in docs/build folder.
The project has following dependencies
To install dependencies for the project, run command:
pip install -r requirements.txt
In addition if you are developing on the project, run command:
pip install -r dev-requirements.txt
Tests are located in tests folder. Project uses nose for testing.
To run all unit tests , run command :
nosetests -w tests/unit
To run the server locally , run command:
python local-server.py
To run celery locally, run command:
python local-celery.py
Once server is up you can access the root api using:
http://localhost:9400
In order to run fully integrated server using docker using latest docker , run command:
sudo docker run -it --rm -h cluster-orchestrator-${USER} --name cluster-orchestrator -v /dev/log:/dev/log -P totem/cluster-orchestrator
| Env Variable | Description | Default Value (Local) | Default Value (Docker) |
|---|---|---|---|
| QUAY_ORGANIZATION | Organization in quay to pull images from | totem | totem |
| HOST_IP | HOST IP address | 127.0.0.1 | Determined using default route in routing table |
| ETCD_HOST | Etcd server host. | 127.0.0.1 | ${HOST_IP} |
| ETCD_PORT | Etcd server port. | 4001 | 4001 |
| ETCD_TOTEM_BASE | Base path for totem configurations | /totem | /totem |
| API_EXECUTORS | No. of uwsgi processes to be created for serving API | Not Used | 2 |
| FLASK_DEBUG | Reloadable flask flag (true/false) | false | Not Used |
| HOOK_SECRET | The secret to be used for web hooks | changeit | changeit |
| HIPCHAT_TOKEN | Default hipchat token to be used for notifications | ||
| GITHUB_TOKEN | Github token for fetching fleet templates and for commit notifications. | ||
| HIPCHAT_ENABLED | Set it to true to enable hipchat notifications | false | false |
| HIPCHAT_ROOM | Room to be used for hipchat notifications | not-set | not-set |
| GITHUB_NOTIFICATION_ENABLED | Set it to true to enable github commit notifications. | false | false |
| CLUSTER_NAME | Name of the cluster where orchestrator is deployed | local | local |
| TOTEM_ENV | Name of totem environment (e.g. production, local, development) | local | local |
| LOG_IDENTIFIER | Program name/tag used for syslog | N/A | yoda-proxy |
In order to ensure that code follows PEP8 standards, run command:
flake8 .
Content type
Image
Digest
sha256:f92b3f094…
Size
41 MB
Last updated
about 9 years ago
docker pull totem/cluster-orchestrator