Stack Concept

A project consists of a configured stack. Which is the merge between a stack and a configuration for this stack.

  • A stack is a generic description of an app. You should put here everything common to each deployment of this stack.
  • The config gives all related configuration to an environment (dev, staging, prod, ...). Example the size of Amazon EC2 instance to use, number of instances, ...

Cycloid usually works with a stack and config definition stored in a git repository, created respectively in stacks and config branches.


Stack and configuration definition could be in a public or private git.

Most common content of a stack

Cycloid Framework is here to make the glue and the integration between technologies. Most of our stacks are based on OpenSource technologies like :

TerraformDescribes the infrastructure and services used.
AnsibleDescribes and deploys applications inside servers (Amazon EC2).
ConcourseProvides pipeline view and scheduler for the CI/CD jobs.

It is not mandatory to use all those parts, for example if your stack goal is only to create infrastructure via terraform, you can ignore ansible.

Note: you can also use other technologies (e.g.: salt, puppet, chef, etc) regarding your needs, feel free to ask Cycloid engineer for some help.