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. |