From cf80000daf9e099d6fe73eec2168acd1c147c35c Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Tue, 6 May 2025 20:19:15 +0200 Subject: [PATCH] doc(c4): added deployment otc-edp-per-tenant --- likec4/deployment/otc-edp.c4 | 30 ++++++++++++++++--- likec4/models/containers/elasticsearch.c4 | 13 ++++++++ likec4/models/containers/objectstorage.c4 | 8 +++++ likec4/models/containers/postgres.c4 | 13 ++++++++ likec4/models/containers/redis.c4 | 9 ++++++ likec4/views/deployment/otc/edp-per-tenant.c4 | 17 +++++++++++ 6 files changed, 86 insertions(+), 4 deletions(-) create mode 100644 likec4/models/containers/elasticsearch.c4 create mode 100644 likec4/models/containers/objectstorage.c4 create mode 100644 likec4/models/containers/postgres.c4 create mode 100644 likec4/models/containers/redis.c4 create mode 100644 likec4/views/deployment/otc/edp-per-tenant.c4 diff --git a/likec4/deployment/otc-edp.c4 b/likec4/deployment/otc-edp.c4 index 749a042..145da02 100644 --- a/likec4/deployment/otc-edp.c4 +++ b/likec4/deployment/otc-edp.c4 @@ -1,17 +1,39 @@ // Deployment model deployment { - cloud otc-edp 'OTC EDP clusters' { + cloud otc-edp-per-tenant 'OTC EDP per tenant cluster' { description 'OTC cluster environment for EDP' technology 'OTC' - icon tech:kubernetes - cluster kubernetes 'EDP Kubernetes Services' { - + kubernetes cce 'OTC CCE' { + description 'OTC Container Cluster Engine' + icon tech:kubernetes + technology 'Kubernetes' + + cluster edp 'EDP' { + instanceOf edp.argoCD + instanceOf forgejoRunner + instanceOf edp.forgejo { + -> cloudServices.elasticsearch + -> cloudServices.objectstorage + -> cloudServices.postgres + -> cloudServices.redis + } + instanceOf edp.externalSecrets + instanceOf edp.ingressNginx + } } paas cloudServices 'EDP Cloud Services' { + description 'EDP Cloud Services' + technology 'Cloud Services' + + instanceOf postgres + instanceOf redis + instanceOf objectstorage + instanceOf elasticsearch } } } + \ No newline at end of file diff --git a/likec4/models/containers/elasticsearch.c4 b/likec4/models/containers/elasticsearch.c4 new file mode 100644 index 0000000..c50a766 --- /dev/null +++ b/likec4/models/containers/elasticsearch.c4 @@ -0,0 +1,13 @@ +model { + + container elasticsearch 'Elasticsearch' { + description ' + Elasticsearch is a distributed, RESTful search and analytics engine capable of + addressing a growing number of use cases. It centrally stores your data so you can + discover the expected and uncover the unexpected. + ' + icon tech:elasticsearch + technology 'Elasticsearch' + } + +} \ No newline at end of file diff --git a/likec4/models/containers/objectstorage.c4 b/likec4/models/containers/objectstorage.c4 new file mode 100644 index 0000000..d1a9550 --- /dev/null +++ b/likec4/models/containers/objectstorage.c4 @@ -0,0 +1,8 @@ +model { + + container objectstorage 's3 Object Storage' { + description 's3 Object Storage' + technology 'S3 Object Storage' + } + +} \ No newline at end of file diff --git a/likec4/models/containers/postgres.c4 b/likec4/models/containers/postgres.c4 new file mode 100644 index 0000000..a77cc73 --- /dev/null +++ b/likec4/models/containers/postgres.c4 @@ -0,0 +1,13 @@ +model { + + container postgres 'PostgreSQL' { + description ' + PostgreSQL is a powerful, open source object-relational database system. + It has more than 15 years of active development and a proven architecture + that has earned it a strong reputation for reliability, data integrity, + and correctness.' + icon tech:postgresql + technology 'PostgreSQL' + } + +} \ No newline at end of file diff --git a/likec4/models/containers/redis.c4 b/likec4/models/containers/redis.c4 new file mode 100644 index 0000000..4173b72 --- /dev/null +++ b/likec4/models/containers/redis.c4 @@ -0,0 +1,9 @@ +model { + + container redis 'Redis' { + description 'Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.' + icon tech:redis + technology 'Redis' + } + +} \ No newline at end of file diff --git a/likec4/views/deployment/otc/edp-per-tenant.c4 b/likec4/views/deployment/otc/edp-per-tenant.c4 new file mode 100644 index 0000000..4dba307 --- /dev/null +++ b/likec4/views/deployment/otc/edp-per-tenant.c4 @@ -0,0 +1,17 @@ +views { + deployment view edp-per-tenant { + title 'EDP per tenant' + + include + 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.* + } +} +