- Downloald the latest version of Robokops: https://github.com/scalair/robokops/releases/latest
- Extract the .tar.gz and install it with
make
:make install
robokops --config example/ --terraform apply --action deploy --target cluster-init --target cluster-autoscaler --target dashboard --target monitoring --target elastic-stack
Checkout the Getting started guide for details on how to set up example
Robokops is an opensource product developped by Scalair that helps you to manage Kubernetes clusters and deploy common features.
With Robokops, you can easily automate:
- Creation & destruction of Kubernetes cluster
- Deployment of Prometheus Operator
- Deployment of an Elastic stack
- Deployment of an ingress
- Management of DNS
- etc...
Your clusters can either be hosted and managed by us or you can use that product to build and manage your owns.
Robokops is managing infrastructure using Terraform wrapped by Terragrunt. Robokops does not have its own way of creating clusters, instead its relaying on existing Terraform modules to do so. The only thing Robokops is doing here is calling the code. You can still use this product's features if you have existing clusters or if you manage them with something else than Terraform. More info in terraform.
Robokops has a set a prepacked features ready to deploy to solve common problems. Robokops abstract the complexity of deploying features by providing a common interface to manage all of them. More info in k8s.
All features deployed by Robokops are deployed using Docker containers. Containers have been chosen because they provide identical environments to run commands, such as terraform
, kubectl
or helm
. All containers are based on the same image defined in docker.
Here is the list of parameters for robokops
:
Name | Description | Required |
---|---|---|
config | Customer configuration folder. Checkout example for more details. | yes |
terraform | Plan, apply or destroy infrastructure. Choose between plan , apply or destroy |
no |
action | Action to execute. Choose between: deploy , delete or dry-run |
no |
target | Targets of the action. If not provided will execute against all matching configuration folders | no |
env | Define environment variables to pass to containers. You can use --env all to map all env vars available in your OS context |
no |
ssh | Path of the .ssh directory (use only by Terraform to clone private modules) | no |
network | Network mode to use for the containers: default, host, none | no |
dev | Add this flag to use local docker image instead of the remote registry | no |
version | Return the installed version of Robokops | no |
See CHANGELOG.md
In order to release features, a pull request must be made, with a specific branch format:
base/x.y.z
for robokops-base image (docker/ folder)terraform/x.y.z
for robokops-terraform image (terraform/ folder)<feature name>/x.y.z
for all other features images (k8s/ folder)
Robokops release is triggered when a tag with x.y.z
format is pushed.
The documentation can be find in docs