More tweaks to architecture diagrams
This commit is contained in:
parent
bc96681b7d
commit
3bbd29b47a
3 changed files with 80 additions and 29 deletions
|
@ -1,18 +1,66 @@
|
||||||
// Deployment model
|
// Deployment model
|
||||||
deployment {
|
deployment {
|
||||||
|
|
||||||
node customerNode {
|
|
||||||
instanceOf developer
|
|
||||||
}
|
|
||||||
|
|
||||||
environment local 'Local' {
|
environment local 'Local' {
|
||||||
technology 'Kind'
|
technology 'Kind'
|
||||||
icon tech:kubernetes
|
icon tech:kubernetes
|
||||||
|
|
||||||
instanceOf edp.ui
|
namespace backstage {
|
||||||
instanceOf edp.forgejo
|
instanceOf edp.ui.backstage
|
||||||
instanceOf edp.keycloak
|
instanceOf edp.ui.database
|
||||||
instanceOf edp.crossplane
|
}
|
||||||
|
|
||||||
|
namespace gitea {
|
||||||
|
instanceOf edp.forgejo.forgejo
|
||||||
|
instanceOf edp.forgejo.forgejoRunner
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace keycloak {
|
||||||
|
instanceOf edp.keycloak.keycloak
|
||||||
|
instanceOf edp.keycloak.keycloakDB
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace crossplane 'crossplane-system' {
|
||||||
|
instanceOf edp.crossplane.crossplane
|
||||||
|
instanceOf edp.crossplane.crossplaneFunction
|
||||||
|
instanceOf edp.crossplane.crossplaneRbacManager
|
||||||
|
instanceOf edp.crossplane.providerArgoCD
|
||||||
|
instanceOf edp.crossplane.providerKind
|
||||||
|
instanceOf edp.crossplane.providerShell
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace externalSecrets 'external-secrets' {
|
||||||
|
instanceOf edp.externalSecrets.certController
|
||||||
|
instanceOf edp.externalSecrets.externalSecrets
|
||||||
|
instanceOf edp.externalSecrets.webhook
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace velero {
|
||||||
|
instanceOf edp.velero.velero
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace minio 'minio-backup' {
|
||||||
|
instanceOf edp.minio.minio
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace monitoring {
|
||||||
|
instanceOf edp.monitoring.alloy
|
||||||
|
instanceOf edp.monitoring.distributor
|
||||||
|
instanceOf edp.monitoring.gateway
|
||||||
|
instanceOf edp.monitoring.ingestor
|
||||||
|
instanceOf edp.monitoring.loki
|
||||||
|
instanceOf edp.monitoring.querier
|
||||||
|
instanceOf edp.monitoring.queryFrontend
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace ingressNginx 'ingress-nginx'{
|
||||||
|
instanceOf edp.ingressNginx.ingressNginx
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace openbao {
|
||||||
|
instanceOf edp.openbao.openbao
|
||||||
|
instanceOf edp.openbao.agentInjector
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ model {
|
||||||
edp = system 'EDP' {
|
edp = system 'EDP' {
|
||||||
|
|
||||||
container ui 'Backstage' {
|
container ui 'Backstage' {
|
||||||
description 'Deeveloper Portal'
|
description 'Developer Portal'
|
||||||
|
|
||||||
component backstage 'Backstage' {
|
component backstage 'Backstage' {
|
||||||
style {
|
style {
|
||||||
|
@ -69,17 +69,18 @@ model {
|
||||||
icon tech:java
|
icon tech:java
|
||||||
}
|
}
|
||||||
|
|
||||||
component database 'Database' {
|
component keycloakDB 'Database' {
|
||||||
technology 'Postgresql'
|
technology 'Postgresql'
|
||||||
icon tech:postgresql
|
icon tech:postgresql
|
||||||
style {
|
style {
|
||||||
shape storage
|
shape storage
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
keycloak -> database 'reads/writes'
|
keycloak -> keycloakDB 'reads/writes'
|
||||||
}
|
}
|
||||||
|
|
||||||
container crossplane 'Crossplane' {
|
container crossplane 'Crossplane' {
|
||||||
|
#internal
|
||||||
description 'Declarative management of ressources'
|
description 'Declarative management of ressources'
|
||||||
|
|
||||||
component crossplane 'Crossplane'
|
component crossplane 'Crossplane'
|
||||||
|
@ -91,11 +92,12 @@ model {
|
||||||
}
|
}
|
||||||
|
|
||||||
container externalSecrets 'external-secrets' {
|
container externalSecrets 'external-secrets' {
|
||||||
|
#internal
|
||||||
description 'Provider to access externally stored Kubernetes secrets'
|
description 'Provider to access externally stored Kubernetes secrets'
|
||||||
|
|
||||||
internalComponent externalSecrets 'external-secrets controller'
|
component externalSecrets 'external-secrets controller'
|
||||||
internalComponent certController 'cert-controller'
|
component certController 'cert-controller'
|
||||||
internalComponent webhook 'webhook'
|
component webhook 'webhook'
|
||||||
}
|
}
|
||||||
|
|
||||||
container minio 'Minio' {
|
container minio 'Minio' {
|
||||||
|
@ -110,6 +112,7 @@ model {
|
||||||
}
|
}
|
||||||
|
|
||||||
container velero 'Velero' {
|
container velero 'Velero' {
|
||||||
|
#internal
|
||||||
description 'Backup Kubernetes resources'
|
description 'Backup Kubernetes resources'
|
||||||
|
|
||||||
component velero 'Velero'
|
component velero 'Velero'
|
||||||
|
@ -137,12 +140,14 @@ model {
|
||||||
description 'Open Telemetry Collector'
|
description 'Open Telemetry Collector'
|
||||||
|
|
||||||
style {
|
style {
|
||||||
|
icon tech:grafana
|
||||||
multiple true
|
multiple true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
container loki 'Loki' {
|
container loki 'Loki' {
|
||||||
description 'Log aggregation system'
|
description 'Log aggregation system'
|
||||||
|
icon tech:grafana
|
||||||
|
|
||||||
component queryFrontend 'Query Frontend'
|
component queryFrontend 'Query Frontend'
|
||||||
component distributor 'Distributor'
|
component distributor 'Distributor'
|
||||||
|
@ -155,6 +160,7 @@ model {
|
||||||
}
|
}
|
||||||
|
|
||||||
container ingressNginx 'Ingress' {
|
container ingressNginx 'Ingress' {
|
||||||
|
#internal
|
||||||
description 'Ingress Controller for incoming http(s) traffic'
|
description 'Ingress Controller for incoming http(s) traffic'
|
||||||
|
|
||||||
component ingressNginx 'ingress-nginx'{
|
component ingressNginx 'ingress-nginx'{
|
||||||
|
@ -162,13 +168,13 @@ model {
|
||||||
icon tech:nginx
|
icon tech:nginx
|
||||||
}
|
}
|
||||||
|
|
||||||
ingressNginx -> forgejo 'Ingress'
|
ingressNginx -> forgejo.forgejo 'https'
|
||||||
ingressNginx -> keycloak 'Ingress'
|
ingressNginx -> keycloak.keycloak 'https'
|
||||||
ingressNginx -> openbao 'Ingress'
|
ingressNginx -> openbao.openbao 'https'
|
||||||
ingressNginx -> argocdServer 'Ingress'
|
ingressNginx -> argoCD.argocdServer 'https'
|
||||||
ingressNginx -> backstage 'Ingress'
|
ingressNginx -> ui.backstage 'https'
|
||||||
ingressNginx -> minio 'Ingress'
|
ingressNginx -> minio.minio 'https'
|
||||||
ingressNginx -> alloy 'Ingress'
|
ingressNginx -> monitoring.alloy 'https'
|
||||||
}
|
}
|
||||||
|
|
||||||
// UI requests data from the Backend
|
// UI requests data from the Backend
|
||||||
|
@ -192,13 +198,11 @@ views {
|
||||||
title 'Context view'
|
title 'Context view'
|
||||||
include *
|
include *
|
||||||
exclude ingressNginx ->
|
exclude ingressNginx ->
|
||||||
|
exclude element.tag = #internal
|
||||||
|
|
||||||
style * {
|
style * {
|
||||||
opacity 25%
|
opacity 25%
|
||||||
}
|
}
|
||||||
style developer {
|
|
||||||
color muted
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
view keycloak of keycloak {
|
view keycloak of keycloak {
|
||||||
|
|
|
@ -20,9 +20,8 @@ specification {
|
||||||
}
|
}
|
||||||
|
|
||||||
deploymentNode node
|
deploymentNode node
|
||||||
deploymentNode environment {
|
deploymentNode environment
|
||||||
style {
|
deploymentNode namespace
|
||||||
color gray
|
|
||||||
}
|
tag internal
|
||||||
}
|
|
||||||
}
|
}
|
Loading…
Reference in a new issue