The DevOps Stack provides a standardized deployment Kubernetes Platform, bringing together automated Provisioning as Code, Continuous Application Deployment, and readily-made configurations for the best Cloud Native tools in the industry.
This project is mainly developed and sponsored by Camptocamp. It is an internal work created to standardize and maintain our Kubernetes deployments for our clients. However, the source code is open and distributed under the Apache 2 license.
The DevOps Stack is composed of several Terraform modules used to deploy a Kubernetes cluster along with a stack of components that will allow you to deploy applications as well as monitor and troubleshoot your cluster.
The choice of the cluster module is dependant on the provider on which you wish to deploy your cluster. The DevOps Stack currently supports Amazon EKS, Azure AKS and a local testing deployment using KinD. The modules that deploy the remaining components of the stack are as generic as possible, but some have provider-specific variants that deploy different resources depending on the platform.
As you’ll see in the examples, after the cluster is deployed, a temporary Argo CD is installed to then deploy the rest of the components. After all the components have been deployed, this Argo CD instance is then replaced by a permanent one that will manage the updates of all the components and can be used to deploy your applications (we also created module to create and configure Argo CD Applications and ApplicationSets).
The main documentation contains information pertaining to the DevOps Stack as a whole while the module pages contain more specific and technical details about each individual module. We recommend you take a look into the general documentation first in order to have an overview of a DevOps Stack deployment and then navigate the sidebar to consult each module documentation.
This documentation as well as some examples are stored on the main repository on GitHub.
Since this is an internal project of Camptocamp, some of the documentation pages may be more geared towards our employees and teams.
On the contributing section of the sidebar you’ll find some guidelines on how to contribute to the DevOps Stack. You have some general guidelines on how to contribute to the project along with explanations on how a module is structured, how to write documentation and how the release process works.
We welcome any kind of contribution, whether it’s a bug report, a feature request, a documentation improvement or even a code contribution. You are also welcome to create your own cluster provisioning modules and request any help from us, but we can’t guarantee any maintenance or long-term support for them.