---
# System prepended metadata

title: Gap analysis - fully automated deployment orchestration
tags: [Operations, DevOps]

---

#    Gap analysis - fully automated deployment orchestration

## Overview / Current contex
Our k8s cluster environments are provisioned via terraform. Configuring a new environment is split into two distinct categories
  - provisioning - creating the environment (nodes) that host kubernetes clusters
  - orchestration - creating the configuration, networking, container, storage etc kubernetes objects that actually contain all alkemio services and their dependencies

The focus of this document is entirely on orchestration and on the manual steps executed to fully orchestrate the Alkemio stack.



## Goal

The goal is to de-risk deployments and to enable potentially fully automated commissioning / decommissioning of environments on demand.

## Gaps

- [x] When running kustomize + kubectl CRDs are not deployed first thus requiring the script `kustomize build | kubectl apply -f -` to be run multiple times
- [x] There are some `expiremental` scripts left in the deployment, e.g. PrmetheusRule, ServiceMonitor etc
- [x] Prerequisites of the deployment are not installed automatically
   - [x] RabbitMQ cluster
      - [x] krew
      - [x] krew rabbitmq plugin
      - [x] rabbitmq cluster operator
   - [x] Elastic operator 
   - [x] Helm repositories
      - [x] Elastic
      - [x] Ory
      - [x] Prometheus
- [x] Database schemas are not created on the correct db (mysql is correct) endpoint
- [x] Mandatory Kratos accounts + Alkemio profiles not auto-generated





###### tags: `DevOps`, `Operations`