What is totem?

Totem is continous delivery pipline tool which is aimed in simplifying delivery of the code for stateless application to any environment. Under the hood, it utilizes containerization tools and technology (Docker).

It was specifically designed for micro services/frameworks by utilizing practices and patterns that are used for deploying the same (gitflow, service discovery, containerization, centralized logging, and more...)

Reporting Issues

Issues can be reported at : https://github.com/totem/totem.github.io/issues Issues may include help requests, bugs or feature requests.


High Level flow

Application Deployment

Here is a sample application deployed using Totem in Amazon EC2 infrastructure.


The "Totem Ecosystem" comprises of several components each responsible to perform discrete set of jobs. One may choose to deploy some/all of the components in Totem , depending upon his/her needs. It is also possible to have additional components for deploying applications using Totem (for e.g.: sidekicks for registering with SkyDNS)

Totem Events


The different totem components (deployer, orchestrator) publishes events to elasticsearch (if enabled). Here is an example event:

    "date": "2015-04-01T06:25:06.389047",
    "type": "NEW_JOB",
    "component": "orchestrator",
    "meta-info": {
      "git": {
        "owner": "meltmedia",
        "repo": "totem-demo",
        "ref": "master",
        "commit": "87c4419d3e278036055ca2cd022583e0397d3a5d"
      "job-id": "9be083a1-9fc2-48b3-83bc-e11c8bbab305"
    "details": {

Event fields

Every event consists of following fields: