BOOM
is designed to ensure that someone can create a reproducable "platform" with tools which are tested for their interoperability.
Currently we include the following tools:
- Ambassador Edge Stack
- Prometheus Operator
- Grafana
- logging-operator
- kube-state-metrics
- prometheus-node-exporter
- prometheus-systemd-exporter
- loki
- ArgoCD
Upcoming tools:
- Flux
The operator works by reading a configuration (crd) located in a GIT Repository.
In our default setup our "cluster lifecycle" tool ORBITER
, shares the repository and secrets with BOOM
.
apiVersion: boom.caos.ch/v1beta1
kind: Toolset
metadata:
name: caos
namespace: caos-system
spec:
preApply:
deploy: true
folder: preapply
postApply:
deploy: true
folder: postapply
prometheus-operator:
deploy: true
logging-operator:
deploy: true
prometheus-node-exporter:
deploy: true
grafana:
deploy: true
ambassador:
deploy: true
service:
type: LoadBalancer
kube-state-metrics:
deploy: true
prometheus:
deploy: true
storage:
size: 5Gi
storageClass: standard
loki:
deploy: true
storage:
size: 5Gi
storageClass: standard
There has to be a git-repository with an boom.yml in the base. Then a BOOM
instance can be started with
orbctl -f $HOME/.orb/config takeoff
Jump to the latest configuration options or to the older API versions v1beta2 or v1beta1