Engineering Circatree.com
Infrastructure as code
Gitlab CI + Terraform state
Terraform - plan, apply, destroy
Kubernetes - clusters + core cluster services
Minimal base environment
Kubernetes
Everything is Kubernetes-native - extending the k8s API
Most resources are managed outside Terraform
ArgoCD - syncs manifests from Git and reconciles desired state
Crossplane - provides Developer API to org resources
Abstracts away the cloud-managed and in-cluster resources
Expands a simple manifest in to Kubernetes objects
Each object has events, lifecycle, reconciliation loop
Policy as code
API admission webhooks enforced by Kyverno
GitOps
CI/CD
Logging, Monitoring & Alerting
Metrics, Tracing & Profiling
Composite Resources
From https://docs.crossplane.io/latest/concepts/compositions/:
Compositions are a template for creating multiple managed resources as a single object.
A Composition composes individual managed resources together into a larger, reusable, solution.
An example Composition may combine a virtual machine, storage resources and networking policies. A Composition template links all these individual resources together.