Added more models

This commit is contained in:
Waldemar 2025-03-31 16:26:46 +02:00 committed by Stephan Lo
parent 9d757a7432
commit f9a7d18df4
3 changed files with 166 additions and 14 deletions

View file

@ -11,6 +11,8 @@ deployment {
instanceOf edp.ui
instanceOf edp.forgejo
instanceOf edp.keycloak
instanceOf edp.crossplane
}
}

View file

@ -4,13 +4,28 @@ model {
}
edp = system 'EDP' {
container ui 'Backstage' {
description 'Deeveloper Portal'
component backstage 'Backstage' {
style {
icon tech:react
shape browser
}
}
component database 'Database' {
technology 'Postgresql'
icon tech:postgresql
style {
shape storage
}
}
backstage -> database 'reads/writes'
}
container forgejo 'CI/CD Service' {
description '
Fully managed DevOps Platfrom
@ -23,6 +38,7 @@ model {
technology 'Golang'
icon tech:go
}
component forgejoRunner 'CI Runner'{
technology 'Golang'
icon tech:go
@ -30,25 +46,42 @@ model {
multiple true
}
}
forgejoRunner -> forgejo 'executes pipelines'
}
container argoCD 'ArgoCD' {
description 'GitOps Service'
component argocdServer 'ArgoCD Server'
component argocdAppController 'ApplicationController'
component argocdAppSetController 'ApplicationSeetController'
component argocdRedis 'Redis'
component argocdRepoServer 'Repo Server'
}
container keycloak 'Keycloak' {
description '
Single Sign On for all EDP products
'
component keycloak 'Keycloak' {
technology 'Keycloak'
technology 'Java'
icon tech:java
}
component postgres 'Postgres' {
component database 'Database' {
technology 'Postgresql'
icon tech:postgresql
style {
shape storage
}
// -> db 'reads/writes'
}
keycloak -> database 'reads/writes'
}
container crossplane 'Crossplane' {
description 'Managing cloud infrastructure'
description 'Declarative management of ressources'
component crossplane 'Crossplane'
component crossplaneFunction 'Function Patch and Transform'
component crossplaneRbacManager 'RBAC Manager'
@ -57,12 +90,86 @@ model {
component providerShell 'Shell Provider'
}
/*db = component 'Database' {
icon tech:postgresql
container externalSecrets 'external-secrets' {
description 'Provider to access externally stored Kubernetes secrets'
internalComponent externalSecrets 'external-secrets controller'
internalComponent certController 'cert-controller'
internalComponent webhook 'webhook'
}
container minio 'Minio' {
description 'S3 compatible blob storage'
component minio 'S3 Blob Storage' {
technology 'Minio'
style {
shape storage
}
}*/
}
}
container velero 'Velero' {
description 'Backup Kubernetes resources'
component velero 'Velero'
}
velero.velero -> minio.minio 'store backups'
container openbao 'OpenBao' {
description 'Secure secret storage'
component openbao 'Openbao' {
technology 'Openbao'
style {
shape storage
}
}
component agentInjector 'Agent Injector'
}
container monitoring 'Monitoring' {
description 'Observability system to monitor deployed components'
component alloy 'Alloy' {
description 'Open Telemetry Collector'
style {
multiple true
}
}
container loki 'Loki' {
description 'Log aggregation system'
component queryFrontend 'Query Frontend'
component distributor 'Distributor'
component gateway 'Gateway'
component ingestor 'Ingestor'
component querier 'Querier'
}
alloy -> loki 'pushes logs'
}
container ingressNginx 'Ingress' {
description 'Ingress Controller for incoming http(s) traffic'
component ingressNginx 'ingress-nginx'{
technology 'Nginx'
icon tech:nginx
}
ingressNginx -> forgejo 'Ingress'
ingressNginx -> keycloak 'Ingress'
ingressNginx -> openbao 'Ingress'
ingressNginx -> argocdServer 'Ingress'
ingressNginx -> backstage 'Ingress'
ingressNginx -> minio 'Ingress'
ingressNginx -> alloy 'Ingress'
}
// UI requests data from the Backend
// ui -> backend 'fetches via HTTPS'
@ -84,6 +191,7 @@ views {
view edp of edp {
title 'Context view'
include *
exclude ingressNginx ->
style * {
opacity 25%
@ -94,14 +202,49 @@ views {
}
view keycloak of keycloak {
include *
include
*,
ingressNginx ->
}
view forgejo of forgejo {
include *
include
*,
ingressNginx ->
}
view crossplane of crossplane {
include
*,
ingressNginx ->
}
view externalSecrets of externalSecrets {
include
*,
ingressNginx ->
}
view velero of velero {
include
*,
ingressNginx ->
}
view minio of minio {
include
*,
ingressNginx ->
}
view monitoring of monitoring {
include
*,
ingressNginx ->,
loki.*
}
view ingressNginx of ingressNginx {
include *
}

View file

@ -2,6 +2,7 @@ specification {
element actor {
style {
shape person
color green
}
}
element system
@ -11,6 +12,12 @@ specification {
opacity 20%
}
}
element internalComponent {
style {
color muted
opacity 15%
}
}
deploymentNode node
deploymentNode environment {