refactor(c4): added infrastructureressource as deploymentNode, renamed models and views in hierarchical naming syntax

This commit is contained in:
Stephan Lo 2025-05-07 11:10:12 +02:00
parent 95cbf775f2
commit 06c4eb08fa
10 changed files with 123 additions and 65 deletions

View file

@ -2,7 +2,10 @@
deployment {
cloud otc-edp-per-tenant 'OTC EDP per tenant cluster' {
description 'OTC cluster environment for EDP'
description 'OTC environment for EDP. EDP is the environment a customer gets from us.
This is kubernetes clusters and other infrastructure like nodes and vms, and platform services. All is set up by IaC-pipelines in the Foundry.
'
technology 'OTC'
kubernetes cce 'OTC CCE' {
@ -33,6 +36,13 @@ deployment {
instanceOf objectstorage
instanceOf elasticsearch
}
computeressource forgejoRunnerInfrastructure 'EDP ForgejoRunner infrastructure' {
description 'Infrastructure for Forgejo runners like pods, vms, lxds, etc'
instanceOf forgejoRunner {
-> cce.edp.forgejo 'registers'
}
}
}
}

View file

@ -1,9 +1,9 @@
// Deployment model
deployment {
cloud otc-edpFoundry 'OTC EDP Foundry kubernetes clusters' {
cloud otc-edpFoundry 'OTC EDP Foundry Central Service clusters' {
description '
OTC kubernetes cluster environment for EDP Foundry, set up by IaC terraform.
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
@ -19,7 +19,7 @@ deployment {
instanceOf edp.argoCD
instanceOf edp.forgejo {
-> workflowSetupEDPInfrastructure.forgejoRunner 'invokes'
-> workflowSetupArgoCD.forgejoRunner 'invokes'
-> workflowSetupArgoCDInfrastructure.forgejoRunner 'invokes'
}
instanceOf edp.externalSecrets
instanceOf edp.openbao
@ -32,7 +32,7 @@ deployment {
instanceOf edp.loki
}
}
node workflowSetupEDPInfrastructure 'EDP infrastructure Workflow' {
computeressource workflowSetupEDPInfrastructure 'EDP infrastructure Workflow' {
description 'EDP infrastructure Workflow'
instanceOf forgejoRunner {
@ -48,7 +48,7 @@ deployment {
}
}
node workflowSetupArgoCD 'EDP ArgoCD Workflow' {
computeressource workflowSetupArgoCDInfrastructure 'EDP ArgoCD Workflow' {
description 'EDP Setup ArgoCD Workflow'
instanceOf forgejoRunner {
-> forgejoRunnerWorker 'runs'
@ -61,6 +61,14 @@ deployment {
}
}
computeressource forgejoRunnerInfrastructure 'EDP ForgejoRunner infrastructure' {
description 'Infrastructure for Forgejo runners like pods, vms, lxds, etc'
instanceOf forgejoRunner {
-> cce.internalServices.forgejo 'registers'
}
}
}
}

View file

@ -25,7 +25,7 @@ specification {
deploymentNode cloud
deploymentNode environment
deploymentNode node
deploymentNode computeressource
deploymentNode paas
deploymentNode kubernetes
deploymentNode cluster

View file

@ -1,14 +0,0 @@
views {
deployment view edp-foundry-central-service {
title 'EDP Foundry Central Service'
include
otc-edpFoundry.*,
otc-edpFoundry.internalServices,
otc-edpFoundry.internalServices.*,
otc-edpFoundry.centralObservability,
otc-edpFoundry.centralObservability.*,
otc-edpFoundry.workflow.*
}
}

View file

@ -8,10 +8,17 @@ views {
otc-edp-per-tenant.cce,
otc-edp-per-tenant.cce.*,
otc-edp-per-tenant.cce.**,
otc-edp-per-tenant.cce.forgejoRunner,
otc-edp-per-tenant.cce.externalSecrets,
otc-edp-per-tenant.forgejoRunnerInfrastructure,
otc-edp-per-tenant.forgejoRunnerInfrastructure.*,
otc-edp-per-tenant.cloudServices,
otc-edp-per-tenant.cloudServices.*
style otc-edp-per-tenant {
color slate
}
style otc-edp-per-tenant.cce {
color red
}
}
}

View file

@ -0,0 +1,53 @@
views {
deployment view forgejo-as-a-service {
title 'Forgejo as a Service'
include
otc-edpFoundry.*,
otc-edpFoundry.internalServices,
otc-edpFoundry.internalServices.*,
otc-edpFoundry.centralObservability,
otc-edpFoundry.centralObservability.*,
otc-edpFoundry.workflowSetupEDPInfrastructure,
otc-edpFoundry.workflowSetupEDPInfrastructure.*,
otc-edpFoundry.workflowSetupArgoCDInfrastructure,
otc-edpFoundry.workflowSetupArgoCDInfrastructure.*,
otc-edpFoundry.forgejoRunnerInfrastructure,
otc-edpFoundry.forgejoRunnerInfrastructure.*,
otc-edp-per-tenant,
otc-edp-per-tenant.*,
otc-edp-per-tenant.cce,
otc-edp-per-tenant.cce.*,
otc-edp-per-tenant.cce.**,
otc-edp-per-tenant.cce.externalSecrets,
otc-edp-per-tenant.forgejoRunnerInfrastructure,
otc-edp-per-tenant.forgejoRunnerInfrastructure.*,
otc-edp-per-tenant.cloudServices,
otc-edp-per-tenant.cloudServices.*
style otc-edp-per-tenant {
color slate
}
style otc-edpFoundry {
color slate
}
style otc-edpFoundry.workflowSetupEDPInfrastructure {
color amber
}
style otc-edpFoundry.workflowSetupArgoCDInfrastructure {
color amber
}
style otc-edpFoundry.forgejoRunnerInfrastructure {
color green
}
style otc-edp-per-tenant.cce {
color red
}
style otc-edpFoundry.cce {
color red
}
}
}

View file

@ -0,0 +1,37 @@
views {
deployment view edp-foundry-central-service {
title 'EDP Foundry Central Service'
include
otc-edpFoundry,
otc-edpFoundry.*,
otc-edpFoundry.internalServices,
otc-edpFoundry.internalServices.*,
otc-edpFoundry.centralObservability,
otc-edpFoundry.centralObservability.*,
otc-edpFoundry.workflowSetupEDPInfrastructure,
otc-edpFoundry.workflowSetupEDPInfrastructure.*,
otc-edpFoundry.workflowSetupArgoCDInfrastructure,
otc-edpFoundry.workflowSetupArgoCDInfrastructure.*,
otc-edpFoundry.workflowSetupArgoCDInfrastructure.*,
otc-edpFoundry.forgejoRunnerInfrastructure,
otc-edpFoundry.forgejoRunnerInfrastructure.*
style otc-edpFoundry.forgejoRunnerInfrastructure {
color green
}
style otc-edpFoundry.workflowSetupEDPInfrastructure {
color amber
}
style otc-edpFoundry.workflowSetupArgoCDInfrastructure {
color amber
}
style otc-edpFoundry {
color slate
}
style otc-edpFoundry.cce {
color red
}
}
}

View file

@ -1,43 +0,0 @@
views {
/**
* @likec4-generated(v1)
* iKRoYXNo2SgxYWM2ZTU2ZTY5MjgxZDY3YWQ0Y2EzOTNkZmE3MWM4MDExNWY0ZWJjqmF1dG9MYXlvdXSBqWRpcmVjdGlvbqJUQqF4JqF50fndpXdpZHRozRRepmhlaWdodM0NjKVub2Rlc94AIa5vdGMtZWRwRm91bmRyeYKhYpQmKM0MIc0FN6Fjw7JvdGMtZWRwLXBlci10ZW5hbnSCoWKUzQO40fndzQYdzQV0oWPDsm90Yy1lZHBGb3VuZHJ5LmNjZYKhYpROX80H3M0EmKFjw9ktb3RjLWVkcEZvdW5kcnkud29ya2Zsb3dTZXR1cEVEUEluZnJhc3RydWN0dXJlgqFilM0IY8yDzQGyzQPHoWPD2SJvdGMtZWRwRm91bmRyeS53b3JrZmxvd1NldHVwQXJnb0NEgqFilM0Kbc0BcM0Bss0Dx6Fjw7ZvdGMtZWRwLXBlci10ZW5hbnQuY2NlgqFilM0D4NH6FM0D0M0E7KFjw9kg
* b3RjLWVkcC1wZXItdGVuYW50LmNsb3VkU2VydmljZXOCoWKUzQfm0fpCzQHHzQTnoWPD2SNvdGMtZWRwRm91bmRyeS5jY2UuaW50ZXJuYWxTZXJ2aWNlc4KhYpR2zKfNA+rNBCihY8PZJ290Yy1lZHBGb3VuZHJ5LmNjZS5jZW50cmFsT2JzZXJ2YWJpbGl0eYKhYpTNBJzMls0DZs0CeqFjw9k7b3RjLWVkcEZvdW5kcnkud29ya2Zsb3dTZXR1cEVEUEluZnJhc3RydWN0dXJlLmZvcmdlam9SdW5uZXKCoWKUzQiczMrNAUDMtKFjwtlBb3RjLWVkcEZvdW5kcnkud29ya2Zsb3dTZXR1cEVEUEluZnJhc3RydWN0dXJlLmZvcmdlam9SdW5uZXJXb3JrZXKCoWKUzQiVzQIXzQFNzLShY8LZOW90Yy1lZHBGb3VuZHJ5LndvcmtmbG93U2V0dXBFRFBJbmZyYXN0cnVjdHVyZS5l
* ZHB3b3JrZmxvd4KhYpTNCJnNA2TNAUbMtKFjwtkwb3RjLWVkcEZvdW5kcnkud29ya2Zsb3dTZXR1cEFyZ29DRC5mb3JnZWpvUnVubmVygqFilM0Kps0Bt80BQMy0oWPC2TZvdGMtZWRwRm91bmRyeS53b3JrZmxvd1NldHVwQXJnb0NELmZvcmdlam9SdW5uZXJXb3JrZXKCoWKUzQqfzQMEzQFNzLShY8LZLm90Yy1lZHBGb3VuZHJ5LndvcmtmbG93U2V0dXBBcmdvQ0QuZWRwd29ya2Zsb3eCoWKUzQqjzQRRzQFGzLShY8K6b3RjLWVkcC1wZXItdGVuYW50LmNjZS5lZHCCoWKUzQQI0fpLzQOAzQSNoWPD2SlvdGMtZWRwLXBlci10ZW5hbnQuY2xvdWRTZXJ2aWNlcy5wb3N0Z3Jlc4KhYpTNCBDR/k3NAWLMtKFjwtkmb3RjLWVkcC1wZXItdGVuYW50LmNsb3VkU2Vydmlj
* ZXMucmVkaXOCoWKUzQge0fp5zQFnzLShY8LZLm90Yy1lZHAtcGVyLXRlbmFudC5jbG91ZFNlcnZpY2VzLm9iamVjdHN0b3JhZ2WCoWKUzQgY0fuazQFAzLShY8LZLm90Yy1lZHAtcGVyLXRlbmFudC5jbG91ZFNlcnZpY2VzLmVsYXN0aWNzZWFyY2iCoWKUzQgL0f0IzQFyzLShY8LZM290Yy1lZHBGb3VuZHJ5LmNjZS5pbnRlcm5hbFNlcnZpY2VzLmV4dGVybmFsU2VjcmV0c4KhYpTM5czezQFAzLShY8LZMG90Yy1lZHBGb3VuZHJ5LmNjZS5pbnRlcm5hbFNlcnZpY2VzLmluZ3Jlc3NOZ2lueIKhYpTNAu7M3s0BQMy0oWPC2SpvdGMtZWRwRm91bmRyeS5jY2UuaW50ZXJuYWxTZXJ2aWNlcy5hcmdvQ0SCoWKUzQGOzQPyzQFAzLShY8LZK290Yy1lZHBGb3VuZHJ5LmNj
* ZS5pbnRlcm5hbFNlcnZpY2VzLmZvcmdlam+CoWKUzQLkzQIqzQFUzLShY8LZK290Yy1lZHBGb3VuZHJ5LmNjZS5pbnRlcm5hbFNlcnZpY2VzLm9wZW5iYW+CoWKUzJ7NAirNAUDMtKFjwtkvb3RjLWVkcEZvdW5kcnkuY2NlLmNlbnRyYWxPYnNlcnZhYmlsaXR5LmdyYWZhbmGCoWKUzQVRzN7NAVnMtKFjwtkyb3RjLWVkcEZvdW5kcnkuY2NlLmNlbnRyYWxPYnNlcnZhYmlsaXR5LnByb21ldGhldXOCoWKUzQTOzQIqzQFAzLShY8LZLG90Yy1lZHBGb3VuZHJ5LmNjZS5jZW50cmFsT2JzZXJ2YWJpbGl0eS5sb2tpgqFilM0GkM0CKs0BQMy0oWPC2SdvdGMtZWRwLXBlci10ZW5hbnQuY2NlLmVkcC5pbmdyZXNzTmdpbniCoWKUzQRe0fqCzQFAzLShY8LZIW90Yy1lZHAt
* cGVyLXRlbmFudC5jY2UuZWRwLmFyZ29DRIKhYpTNBDDR/fzNAUDMtKFjwtkib3RjLWVkcC1wZXItdGVuYW50LmNjZS5lZHAuZm9yZ2Vqb4KhYpTNBcbR+87NAVTMtKFjwtkob3RjLWVkcC1wZXItdGVuYW50LmNjZS5lZHAuZm9yZ2Vqb1J1bm5lcoKhYpTNBajR/SnNAUDMtKFjwtkqb3RjLWVkcC1wZXItdGVuYW50LmNjZS5lZHAuZXh0ZXJuYWxTZWNyZXRzgqFilM0GINH6gs0BQMy0oWPCpWVkZ2Vz3gAUpzE3a3J1MDGDomNwkYKheMtAhdJvQ4csNKF5y0B8pmZmZmZmoWyEoXjNAnqhec0CrKV3aWR0aCKmaGVpZ2h0EqFwmpLNAvrNAZGSzQKuzQHLks0CYc0CH5LNAmHNAoOSzQJhzQKDks0CYc0Cg5LNAmHNBnqSzQJhzQbAks0CYc0HD5LNAmHNB0ynMTcwcGMzbIKh
* bISheM0DjqF5zQHZpXdpZHRoIqZoZWlnaHQSoXCUks0Djs0BkZLNA47NAb2SzQOOzQHzks0Djs0CIKZ1NW9xYXSCoWyEoXjNAkShec0BvaV3aWR0aCKmaGVpZ2h0EqFwl5LNAu7NAXCSzQKrzQGKks0CXs0BrJLNAhzNAdOSzQH0zQHqks0BzM0CCJLNAanNAiSmcXlreGxtgqFshKF4zQW4oXnNAdmld2lkdGjMiqZoZWlnaHQSoXCUks0F180BkZLNBcTNAb6SzQWtzQHzks0Fmc0CIaZ5djQ5ejWCoWyEoXjNBpOhec0B2qV3aWR0aDWmaGVpZ2h0EqFwlJLNBlDNAZGSzQZ6zQG+ks0GrM0B9ZLNBtfNAiOmODQzOTd3g6JjcJGCoXjLQJJszMzMzM2hectAfjJNLaa3HKFshKF4zQZYoXnNAY+ld2lkdGgzpmhlaWdodBKhcJeSzQQTzQLeks0ENM0C8ZLNBFjNAwSSzQR8zQMQ
* ks0F480Dk5LNB6XNA8OSzQiVzQPVpzFobmlsNjKDomNwkYKheMtAoneXhjoecqF5y0B6vmZmZmZmoWyEoXjNCTyhec0By6V3aWR0aB+maGVpZ2h0EqFwlJLNCT/NBDmSzQk/zQRlks0JP80EmpLNCT/NBMimZWt6enR3g6JjcJGCoXjLQKJ3aHnF4Y6hectAh8czMzMzM6FshKF4zQk8oXnNAxild2lkdGg8pmhlaWdodBKhcJSSzQk/zQWGks0JP80FspLNCT/NBeeSzQk/zQYVpzF5NHBzNmWDomNwkYKheMtAlN8zMzMzM6F5y0CBGHkzS6GFoWyEoXjNB2uhec0CEaV3aWR0aDOmaGVpZ2h0EqFwmpLNBAzNAt6SzQQuzQLzks0EVc0DBZLNBHzNAxCSzQTKzQMnks0J6s0DJZLNCjjNAz6SzQpkzQNMks0Kj80DZZLNCrTNA4CnMXU2ZXdxeYOiY3CRgqF4y0Cmi5eGOh5yoXnL
* QITHMzMzMzOhbISheM0LRqF5zQK4pXdpZHRoH6ZoZWlnaHQSoXCUks0LI80EOZLNCyPNBGWSzQsjzQSaks0LI80EyKcxZnlhNHNrg6JjcJGCoXjLQKaLaHnF4Y6hectAjy8zMzMzM6FshKF4zQtGoXnNBAWld2lkdGg8pmhlaWdodBKhcJSSzQsjzQWGks0LI80FspLNCyPNBeeSzQsjzQYVpmd3b2p3dYKiY3CRgqF4y0CiYiJdbgMYoXnLQIUFmZmZmZqhcJSSzQvGzQbNks0MHM0G+JLNDITNBy2SzQzbzQdZpzFpcjcwZGSDomNwkYKheMtAk7lbeDvUR6F50fwLoWyEoXjNBOehedH8maV3aWR0aCKmaGVpZ2h0EqFwmpLNDYTNAZGSzQ2EzQHUks0NhM0CMZLNDYTNAoOSzQ2EzQKDks0NhM0Cg5LNDYTNBnqSzQ2EzQbAks0NhM0HD5LNDYTNB0ynMWtyMXdnMYOiY3CRgqF4
* y0CWVHtfnU0coXnLwJJxmZmZmZqhbISheM0Ft6F50fuCpXdpZHRoIqZoZWlnaHQSoXCUks0N580BkZLNDhrNAb6SzQ5XzQH2ks0Oi80CJKY4bXN1MXGComNwkYKheMtAnQ072oBcTqF5y8CHomZmZmZmoXCaks0Pcs0C3pLND7nNAx2SzRAFzQN3ks0QBc0D3pLNEAXNA96SzRAFzQPeks0QBc0GepLNEAXNBtWSzRBJzQceks0Qk80HUacxMjBxZTVvgqJjcJGCoXjLQJ2cyL78i++hecvAkYkzMzMzM6Fwl5LND6DNAtiSzQ/MzQLuks0P+80DB5LNECbNAx+SzRBazQM9ks0Qks0DYJLNEMPNA4CmZWFsaWF4gqJjcJGCoXjLQJ2YzMzMzM2hecvAj29gFnGfNqFwl5LND6DNApaSzRBQzQKsks0RZ80C3JLNEkXNAz6SzRJrzQNPks0Skc0DZ5LNErPNA3+nMXRyajV1NoKiY3CR
* gqF4y0CdmjTUoHLLoXnLwIqw18vE5YuhcJeSzQ+gzQKHks0Qns0CjpLNEobNAq+SzRQHzQM+ks0UMs0DTpLNFF7NA2eSzRSEzQOApzFhc20zOHqDomNwkYKheMtAokM666dVuaF5y0CA+MzMzMzNoWyEoXjNCRShec0BR6V3aWR0aMyYpmhlaWdodBKhcJqSzQm8zQbTks0J3s0G55LNCgTNBvqSzQoqzQcFks0LdM0HaZLNDuXNBxiSzRA4zQdWks0QRc0HWJLNEFPNB1uSzRBgzQdfpzFvcjgzMXmDomNwkYKheMtAoNEui0/cGKF5y0CANmZmZmZmoWyEoXjNB/ihec0BHqV3aWR0aMyPpmhlaWdodBKhcJ2SzQnizQY1ks0J+s0GLJLNChLNBiWSzQoqzQYfks0LT80F1pLNDKTNBluSzQykzQUtks0MpM0Cg5LNDKTNAoOSzQykzQKDks0MpM0CbJLNDKjNAlWSzQyvzQI+
*/
deployment view forgejo-as-a-service {
title 'Forgejo as a Service'
include
otc-edpFoundry.*,
otc-edpFoundry.internalServices,
otc-edpFoundry.internalServices.*,
otc-edpFoundry.centralObservability,
otc-edpFoundry.centralObservability.*,
otc-edpFoundry.workflowSetupEDPInfrastructure,
otc-edpFoundry.workflowSetupEDPInfrastructure.*,
otc-edpFoundry.workflowSetupArgoCD,
otc-edpFoundry.workflowSetupArgoCD.*,
otc-edp-per-tenant,
otc-edp-per-tenant.*,
otc-edp-per-tenant.cce,
otc-edp-per-tenant.cce.*,
otc-edp-per-tenant.cce.**,
otc-edp-per-tenant.cce.forgejoRunner,
otc-edp-per-tenant.cce.externalSecrets,
otc-edp-per-tenant.cloudServices,
otc-edp-per-tenant.cloudServices.*
}
}