refactor(architecture): Refactor text architecture to likec4
All checks were successful
ci / build (push) Successful in 57s
All checks were successful
ci / build (push) Successful in 57s
This commit is contained in:
parent
203e45d8b3
commit
2c981d3ce3
7 changed files with 150 additions and 147 deletions
|
|
@ -434,63 +434,7 @@ Integration with monitoring and logging:
|
||||||
|
|
||||||
### Application Deployment Flow
|
### Application Deployment Flow
|
||||||
|
|
||||||
```text
|
{{< likec4-view view="application_deployment_flow" title="Application Deployment Flow" >}}
|
||||||
┌──────────────┐
|
|
||||||
│ Developer │
|
|
||||||
└──────┬───────┘
|
|
||||||
│ git push
|
|
||||||
▼
|
|
||||||
┌─────────────────────────────────────────┐
|
|
||||||
│ Forgejo │
|
|
||||||
│ │
|
|
||||||
│ ┌────────────────────────────────┐ │
|
|
||||||
│ │ Git Repository │ │
|
|
||||||
│ │ - Application Code │ │
|
|
||||||
│ │ - Kubernetes Manifests │ │
|
|
||||||
│ │ - Pipeline Configuration │ │
|
|
||||||
│ └─────────┬──────────────────────┘ │
|
|
||||||
│ │ │
|
|
||||||
│ │ triggers │
|
|
||||||
│ ▼ │
|
|
||||||
│ ┌────────────────────────────────┐ │
|
|
||||||
│ │ Forgejo Actions (CI/CD) │ │
|
|
||||||
│ │ - Build Container Image │ │
|
|
||||||
│ │ - Run Tests │ │
|
|
||||||
│ │ - Security Scans │ │
|
|
||||||
│ │ - Push to Registry │ │
|
|
||||||
│ └─────────┬──────────────────────┘ │
|
|
||||||
└────────────┼────────────────────────────┘
|
|
||||||
│
|
|
||||||
│ image pushed
|
|
||||||
▼
|
|
||||||
┌─────────────────────────────────────────┐
|
|
||||||
│ Container Registry │
|
|
||||||
└─────────────────────────────────────────┘
|
|
||||||
│
|
|
||||||
│ watches manifests
|
|
||||||
▼
|
|
||||||
┌─────────────────────────────────────────┐
|
|
||||||
│ ArgoCD │
|
|
||||||
│ │
|
|
||||||
│ - Monitors Git Repository │
|
|
||||||
│ - Detects Changes │
|
|
||||||
│ - Syncs to Kubernetes │
|
|
||||||
│ - Reports Health Status │
|
|
||||||
└─────────────┬───────────────────────────┘
|
|
||||||
│
|
|
||||||
│ deploys
|
|
||||||
▼
|
|
||||||
┌─────────────────────────────────────────┐
|
|
||||||
│ Kubernetes Cluster │
|
|
||||||
│ │
|
|
||||||
│ ┌────────────────────────────────┐ │
|
|
||||||
│ │ Running Application │ │
|
|
||||||
│ │ - Pods │ │
|
|
||||||
│ │ - Services │ │
|
|
||||||
│ │ - Ingress │ │
|
|
||||||
│ └────────────────────────────────┘ │
|
|
||||||
└─────────────────────────────────────────┘
|
|
||||||
```
|
|
||||||
|
|
||||||
### CI/CD Pipeline Architecture
|
### CI/CD Pipeline Architecture
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -145,29 +145,7 @@ Within the IPCEI-CIS platform, we utilize the [CNOE (Cloud Native Operational Ex
|
||||||
|
|
||||||
A typical orchestration workflow in the IPCEI-CIS platform:
|
A typical orchestration workflow in the IPCEI-CIS platform:
|
||||||
|
|
||||||
```text
|
{{< likec4-view view="orchestration_workflow" title="Orchestration Workflow" >}}
|
||||||
┌─────────────┐ ┌───────────┐ ┌───────────┐ ┌────────────┐
|
|
||||||
│ Developer │────▶│ Forgejo │────▶│ Git │────▶│ ArgoCD │
|
|
||||||
│ │ │ Pipelines│ │Repository │ │ │
|
|
||||||
└─────────────┘ └───────────┘ └───────────┘ └─────┬──────┘
|
|
||||||
│
|
|
||||||
▼
|
|
||||||
┌───────────────────────────────────────────────┐
|
|
||||||
│ │
|
|
||||||
│ Kubernetes Cluster(s) │
|
|
||||||
│ │
|
|
||||||
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
||||||
│ │ Apps │ │Services │ │Resources │ │
|
|
||||||
│ └──────────┘ └──────────┘ └──────────┘ │
|
|
||||||
│ │
|
|
||||||
└───────────────────────────────────────────────┘
|
|
||||||
▲
|
|
||||||
│
|
|
||||||
┌────┴─────┐
|
|
||||||
│Terraform │
|
|
||||||
│ │
|
|
||||||
└──────────┘
|
|
||||||
```
|
|
||||||
|
|
||||||
**Workflow Steps**:
|
**Workflow Steps**:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,4 +25,12 @@ model {
|
||||||
platformdeveloper -> idpbuilder 'runs'
|
platformdeveloper -> idpbuilder 'runs'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
component terraform 'Terraform' {
|
||||||
|
description 'Infrastructure provisioning (IaC)'
|
||||||
|
technology 'Terraform'
|
||||||
|
style {
|
||||||
|
shape rectangle
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
model {
|
||||||
|
runtimeCluster = system 'Kubernetes Cluster' {
|
||||||
|
description 'Target cluster where applications are deployed'
|
||||||
|
technology 'Kubernetes'
|
||||||
|
|
||||||
|
container runningApplication 'Running Application' {
|
||||||
|
description 'Deployed workload'
|
||||||
|
|
||||||
|
component pods 'Pods'
|
||||||
|
component services 'Services'
|
||||||
|
component ingress 'Ingress'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Relationships matching the documentation flow
|
||||||
|
developer -> edp.forgejogit 'git push'
|
||||||
|
edp.forgejogit -> edp.forgejoActions 'triggers'
|
||||||
|
edp.forgejoActions -> edp.imageregistry 'push image'
|
||||||
|
edp.forgejogit -> edp.argoCD 'watches manifests'
|
||||||
|
edp.argoCD -> runtimeCluster 'deploys'
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
views {
|
||||||
|
dynamic view orchestration_workflow {
|
||||||
|
title 'Orchestration Workflow'
|
||||||
|
|
||||||
|
include developer
|
||||||
|
include edp.forgejo
|
||||||
|
include edp.forgejoActions
|
||||||
|
include edp.forgejogit
|
||||||
|
include edp.argoCD
|
||||||
|
include runtimeCluster
|
||||||
|
include terraform
|
||||||
|
|
||||||
|
developer -> edp.forgejo 'defines & commits'
|
||||||
|
edp.forgejo -> edp.forgejoActions 'pipelines'
|
||||||
|
edp.forgejo -> edp.forgejogit 'git repository'
|
||||||
|
edp.forgejogit -> edp.argoCD 'sync trigger'
|
||||||
|
edp.argoCD -> runtimeCluster 'deploys'
|
||||||
|
terraform -> runtimeCluster 'provisions'
|
||||||
|
|
||||||
|
autoLayout TopBottom
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
views {
|
||||||
|
|
||||||
|
dynamic view application_deployment_flow {
|
||||||
|
title 'Application Deployment Flow'
|
||||||
|
|
||||||
|
include developer
|
||||||
|
include edp.forgejo
|
||||||
|
include edp.forgejogit
|
||||||
|
include edp.forgejoActions
|
||||||
|
include edp.imageregistry
|
||||||
|
include edp.argoCD
|
||||||
|
include runtimeCluster
|
||||||
|
|
||||||
|
developer -> edp.forgejogit 'git push'
|
||||||
|
edp.forgejogit -> edp.forgejoActions 'triggers'
|
||||||
|
edp.forgejoActions -> edp.imageregistry 'push image'
|
||||||
|
edp.forgejogit -> edp.argoCD 'watches manifests'
|
||||||
|
edp.argoCD -> runtimeCluster 'deploys'
|
||||||
|
|
||||||
|
autoLayout TopBottom
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue