diff --git a/likec4/deployment/kind-edp.c4 b/likec4/deployment/kind/edp.c4 similarity index 100% rename from likec4/deployment/kind-edp.c4 rename to likec4/deployment/kind/edp.c4 diff --git a/likec4/deployment/otc-edp.c4 b/likec4/deployment/otc/edp.c4 similarity index 63% rename from likec4/deployment/otc-edp.c4 rename to likec4/deployment/otc/edp.c4 index 145da02..c5b51b5 100644 --- a/likec4/deployment/otc-edp.c4 +++ b/likec4/deployment/otc/edp.c4 @@ -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' + } + } } } diff --git a/likec4/deployment/otc-edp-foundry.c4 b/likec4/deployment/otc/foundry.c4 similarity index 66% rename from likec4/deployment/otc-edp-foundry.c4 rename to likec4/deployment/otc/foundry.c4 index 99e0a90..dcd1197 100644 --- a/likec4/deployment/otc-edp-foundry.c4 +++ b/likec4/deployment/otc/foundry.c4 @@ -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' + } + } + } } diff --git a/likec4/models/spec.c4 b/likec4/models/spec.c4 index 0e32fdf..c00ac40 100644 --- a/likec4/models/spec.c4 +++ b/likec4/models/spec.c4 @@ -25,7 +25,7 @@ specification { deploymentNode cloud deploymentNode environment - deploymentNode node + deploymentNode computeressource deploymentNode paas deploymentNode kubernetes deploymentNode cluster diff --git a/likec4/views/deployment/kind.c4 b/likec4/views/deployment/kind/kind.c4 similarity index 100% rename from likec4/views/deployment/kind.c4 rename to likec4/views/deployment/kind/kind.c4 diff --git a/likec4/views/deployment/otc/edp-foundry-central-service.c4 b/likec4/views/deployment/otc/edp-foundry-central-service.c4 deleted file mode 100644 index db179c8..0000000 --- a/likec4/views/deployment/otc/edp-foundry-central-service.c4 +++ /dev/null @@ -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.* - } -} - diff --git a/likec4/views/deployment/otc/edp-per-tenant.c4 b/likec4/views/deployment/otc/edp.c4 similarity index 62% rename from likec4/views/deployment/otc/edp-per-tenant.c4 rename to likec4/views/deployment/otc/edp.c4 index 4dba307..b5d9d0b 100644 --- a/likec4/views/deployment/otc/edp-per-tenant.c4 +++ b/likec4/views/deployment/otc/edp.c4 @@ -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 + } } } diff --git a/likec4/views/deployment/otc/foundry-and-edp.c4 b/likec4/views/deployment/otc/foundry-and-edp.c4 new file mode 100644 index 0000000..ee0794d --- /dev/null +++ b/likec4/views/deployment/otc/foundry-and-edp.c4 @@ -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 + } + } +} + diff --git a/likec4/views/deployment/otc/foundry.c4 b/likec4/views/deployment/otc/foundry.c4 new file mode 100644 index 0000000..b07546c --- /dev/null +++ b/likec4/views/deployment/otc/foundry.c4 @@ -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 + } + } +} + diff --git a/likec4/views/deployment/otc/otc.c4 b/likec4/views/deployment/otc/otc.c4 deleted file mode 100644 index 46ae200..0000000 --- a/likec4/views/deployment/otc/otc.c4 +++ /dev/null @@ -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.* - - } -} -