Project Syn Architecture
/-------------------------\ Project Syn enabled Kubernetes cluster + | +-------------------------------------+ +--->+ Lieutenant API +<-----+ | | | + cBLU | | Cluster information | /--------------------\ | | \-+---------------------+-/ | SSH keys | | | | | | | +----------------------------------|---+ Steward | | | | Lieutenant Operator +----+ | | cBLU | | | | cBLU | | | \---------+----------/ | | \---------------------/ | +--------+ | | | | | | | | | | | +--------->+ Vault +<-----------------|-----+ | Deployment | | | {s} | | | | Reconciliation | | Get cluster, tenant and +--------+ | | | | | Git repo information | | | | | | | v | | /------------------------\ Push compiled +-----------------+ | +-+-------+----------+ | | | | catalog | | | | | | +----+ Commodore +--------------->+ Cluster catalog +<------|---+ Argo CD | | | cBLU | | cGRE | | | | | \-----+------+--------+--/ +-----------------+ | +--------------------+ | ^ ^ ^ | | | | | | | +-------+ +-----+ +--------------------+ | | | | | | | +---------------------------------------------+ | | | | | | | | | | | +-------+-------+ +----------+----------+ | +-----+------+ | | | | | | | | | | | | | | Common | | Tenant and cluster | | | Commodore | | | | | configuration | | configuration | | | Components | | | | | cGRE | | cGRE | | | | | | | +---------------+ +---------------------+ | +-----+------+ | | | Git repo created & | ^ | | | configured by Lieutenant | | Update | | | Operator | | +-------------------------------------+ +------------------------------------+--------+ | Configuration Git repositories ^ | Legend | Update | +------------------------+ | | | Project Syn Tool cBLU | +---------+------------+ | +------------------------+ | | | | Renovate +----+ +------------------------+ | | | Git repository cGRE | +----------------------+ +------------------------+
Main Tools
Tool | Purpose |
---|---|
Configuration generator leveraging a hierarchical configuration model. Uses Kapitan under the hood. |
|
Manages the CRDs |
|
REST API to expose the functionality of the Lieutenant Operator and to enforce some defaults. |
|
In-cluster agent which bootstraps, configures and starts Argo CD (GitOps operator) and takes care of keeping the Syn cluster tools up and running. |
Third-party Tools
Tool | Purpose |
---|---|
GitOps operator running on each cluster, taking care of enforcing the defined state. |
|
Stores secrets in a secure way. |
|
Configuration management engine, the heart of Commodore. |
|
Version checker which helps to keep tooling up-to-date. |
|
Cloud native service provisioning. |
|
Git repository management. |