edp-doc/likec4/deployment/otc/foundry.c4

75 lines
2.3 KiB
Text
Raw Normal View History

2025-05-06 10:55:44 +00:00
// Deployment model
deployment {
cloud otc-edpFoundry 'OTC EDP Foundry Central Service clusters' {
description '
OTC environments for the central EDP Foundry services. This is kubernetes clusters and other infrastructure like nodes and vms, and optionally platform services. All is set up by IaC terraform and edpbuilder.
A tenant is a folder in Foundry-Config-Forgejo. On merge triggers reconciliation to EDP.
Optionally we will have a WebUI/API/CLI
'
2025-05-06 10:55:44 +00:00
technology 'OTC'
kubernetes cce 'OTC CCE' {
description 'OTC Container Cluster Engine'
icon tech:kubernetes
technology 'Kubernetes'
cluster internalServices 'EDP Foundry Internal Services' {
instanceOf edp.argoCD
instanceOf edp.forgejo {
-> workflowSetupEDPInfrastructure.forgejoRunner 'invokes'
-> workflowSetupArgoCDInfrastructure.forgejoRunner 'invokes'
}
instanceOf edp.externalSecrets
instanceOf edp.openbao
instanceOf edp.ingressNginx
}
2025-05-06 10:55:44 +00:00
cluster centralObservability 'EDP Foundry Central Observability' {
instanceOf edp.grafana
instanceOf edp.prometheus
instanceOf edp.loki
}
2025-05-06 10:55:44 +00:00
}
computeressource workflowSetupEDPInfrastructure 'EDP infrastructure Workflow' {
description 'EDP infrastructure Workflow'
instanceOf forgejoRunner {
-> forgejoRunnerWorker 'runs'
}
instanceOf forgejoRunnerWorker {
-> edpworkflow 'executes'
}
instanceOf edpworkflow {
-> otc-edp-per-tenant.cce.edp 'deploys edp to otc.cce'
-> otc-edp-per-tenant.cloudServices 'deploys edp to otc.paas'
}
}
computeressource workflowSetupArgoCDInfrastructure 'EDP ArgoCD Workflow' {
description 'EDP Setup ArgoCD Workflow'
instanceOf forgejoRunner {
-> forgejoRunnerWorker 'runs'
}
instanceOf forgejoRunnerWorker {
-> edpworkflow 'executes'
}
instanceOf edpworkflow {
-> otc-edp-per-tenant.cce.argoCD
}
}
computeressource forgejoRunnerInfrastructure 'EDP ForgejoRunner infrastructure' {
description 'Infrastructure for Forgejo runners like pods, vms, lxds, etc'
instanceOf forgejoRunner {
-> cce.internalServices.forgejo 'registers'
}
}
2025-05-06 10:55:44 +00:00
}
}