refactor(architecture): Refactor text architecture to likec4

This commit is contained in:
Stephan Lo 2025-12-23 13:31:36 +01:00
parent 203e45d8b3
commit 2c981d3ce3
7 changed files with 150 additions and 147 deletions

View file

@ -434,63 +434,7 @@ Integration with monitoring and logging:
### Application Deployment Flow
```text
┌──────────────┐
│ 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 │ │
│ └────────────────────────────────┘ │
└─────────────────────────────────────────┘
```
{{< likec4-view view="application_deployment_flow" title="Application Deployment Flow" >}}
### CI/CD Pipeline Architecture

View file

@ -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:
```text
┌─────────────┐ ┌───────────┐ ┌───────────┐ ┌────────────┐
│ Developer │────▶│ Forgejo │────▶│ Git │────▶│ ArgoCD │
│ │ │ Pipelines│ │Repository │ │ │
└─────────────┘ └───────────┘ └───────────┘ └─────┬──────┘
┌───────────────────────────────────────────────┐
│ │
│ Kubernetes Cluster(s) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Apps │ │Services │ │Resources │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
└───────────────────────────────────────────────┘
┌────┴─────┐
│Terraform │
│ │
└──────────┘
```
{{< likec4-view view="orchestration_workflow" title="Orchestration Workflow" >}}
**Workflow Steps**:

View file

@ -25,4 +25,12 @@ model {
platformdeveloper -> idpbuilder 'runs'
}
component terraform 'Terraform' {
description 'Infrastructure provisioning (IaC)'
technology 'Terraform'
style {
shape rectangle
}
}
}

View file

@ -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'
}

View file

@ -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
}
}

View file

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