Sign inSign up

totem/cluster-orchestrator

By totem

•Updated over 9 years ago

Orchestration service for totem that provides orchestration for hooks

Image
1

5.2K

totem/cluster-orchestrator repository overview

⁠cluster-orchestrator Build Status Coverage Status Documentation Status

Provides orchestration for continuous deployment to Totem Cluster.

⁠Development Status

This project is ready to be used in production.

⁠Documentation

Project uses Sphinx for code/api documentation.

⁠Location

The latest code/api documentation can be found at: http://cluster-orchestrator.readthedocs.org/⁠

⁠Building documentation

To generate html documentation, use command:

cd docs && make html

The documentation will be generated in docs/build folder.

⁠Requirements

The project has following dependencies

  • python 2.7.x or 3.4.x
  • Virtualenv (Recommended)
  • Python pip
  • etcd 0.4.6
  • docker 1.7+ (Required if using docker based deployment)
⁠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

⁠Testing

Tests are located in tests folder. Project uses nose for testing.

⁠Unit Tests

To run all unit tests , run command :

nosetests -w tests/unit

⁠Running Server

⁠Local

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⁠

⁠Using Docker

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
⁠Run Configuration (Environment Variables)
Env VariableDescriptionDefault Value (Local)Default Value (Docker)
QUAY_ORGANIZATIONOrganization in quay to pull images fromtotemtotem
HOST_IPHOST IP address127.0.0.1Determined using default route in routing table
ETCD_HOSTEtcd server host.127.0.0.1${HOST_IP}
ETCD_PORTEtcd server port.40014001
ETCD_TOTEM_BASEBase path for totem configurations/totem/totem
API_EXECUTORSNo. of uwsgi processes to be created for serving APINot Used2
FLASK_DEBUGReloadable flask flag (true/false)falseNot Used
HOOK_SECRETThe secret to be used for web hookschangeitchangeit
HIPCHAT_TOKENDefault hipchat token to be used for notifications
GITHUB_TOKENGithub token for fetching fleet templates and for commit notifications.
HIPCHAT_ENABLEDSet it to true to enable hipchat notificationsfalsefalse
HIPCHAT_ROOMRoom to be used for hipchat notificationsnot-setnot-set
GITHUB_NOTIFICATION_ENABLEDSet it to true to enable github commit notifications.falsefalse
CLUSTER_NAMEName of the cluster where orchestrator is deployedlocallocal
TOTEM_ENVName of totem environment (e.g. production, local, development)locallocal
LOG_IDENTIFIERProgram name/tag used for syslogN/Ayoda-proxy

⁠Coding Standards and Guidelines

⁠flake8

In order to ensure that code follows PEP8 standards, run command:

flake8 .

Tag summary

Content type

Image

Digest

sha256:f92b3f094…

Size

41 MB

Last updated

over 9 years ago

docker pull totem/cluster-orchestrator