Sign inSign up

totem/cluster-orchestrator

By totem

Updated about 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

about 9 years ago

docker pull totem/cluster-orchestrator