Added more models
This commit is contained in:
parent
9d757a7432
commit
f9a7d18df4
3 changed files with 166 additions and 14 deletions
|
@ -11,6 +11,8 @@ deployment {
|
|||
|
||||
instanceOf edp.ui
|
||||
instanceOf edp.forgejo
|
||||
instanceOf edp.keycloak
|
||||
instanceOf edp.crossplane
|
||||
}
|
||||
}
|
||||
|
||||
|
|
161
likec4/model.c4
161
likec4/model.c4
|
@ -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 *
|
||||
}
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue