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.ui
|
||||||
instanceOf edp.forgejo
|
instanceOf edp.forgejo
|
||||||
|
instanceOf edp.keycloak
|
||||||
|
instanceOf edp.crossplane
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
171
likec4/model.c4
171
likec4/model.c4
|
@ -4,13 +4,28 @@ model {
|
||||||
}
|
}
|
||||||
|
|
||||||
edp = system 'EDP' {
|
edp = system 'EDP' {
|
||||||
|
|
||||||
container ui 'Backstage' {
|
container ui 'Backstage' {
|
||||||
description 'Deeveloper Portal'
|
description 'Deeveloper Portal'
|
||||||
style {
|
|
||||||
icon tech:react
|
component backstage 'Backstage' {
|
||||||
shape browser
|
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' {
|
container forgejo 'CI/CD Service' {
|
||||||
description '
|
description '
|
||||||
Fully managed DevOps Platfrom
|
Fully managed DevOps Platfrom
|
||||||
|
@ -23,6 +38,7 @@ model {
|
||||||
technology 'Golang'
|
technology 'Golang'
|
||||||
icon tech:go
|
icon tech:go
|
||||||
}
|
}
|
||||||
|
|
||||||
component forgejoRunner 'CI Runner'{
|
component forgejoRunner 'CI Runner'{
|
||||||
technology 'Golang'
|
technology 'Golang'
|
||||||
icon tech:go
|
icon tech:go
|
||||||
|
@ -30,25 +46,42 @@ model {
|
||||||
multiple true
|
multiple true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
forgejoRunner -> forgejo 'executes pipelines'
|
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' {
|
container keycloak 'Keycloak' {
|
||||||
description '
|
description '
|
||||||
Single Sign On for all EDP products
|
Single Sign On for all EDP products
|
||||||
'
|
'
|
||||||
component keycloak 'Keycloak' {
|
component keycloak 'Keycloak' {
|
||||||
technology 'Keycloak'
|
technology 'Java'
|
||||||
icon tech:java
|
icon tech:java
|
||||||
}
|
}
|
||||||
component postgres 'Postgres' {
|
|
||||||
|
component database 'Database' {
|
||||||
technology 'Postgresql'
|
technology 'Postgresql'
|
||||||
icon tech:postgresql
|
icon tech:postgresql
|
||||||
|
style {
|
||||||
|
shape storage
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// -> db 'reads/writes'
|
keycloak -> database 'reads/writes'
|
||||||
}
|
}
|
||||||
|
|
||||||
container crossplane 'Crossplane' {
|
container crossplane 'Crossplane' {
|
||||||
description 'Managing cloud infrastructure'
|
description 'Declarative management of ressources'
|
||||||
|
|
||||||
component crossplane 'Crossplane'
|
component crossplane 'Crossplane'
|
||||||
component crossplaneFunction 'Function Patch and Transform'
|
component crossplaneFunction 'Function Patch and Transform'
|
||||||
component crossplaneRbacManager 'RBAC Manager'
|
component crossplaneRbacManager 'RBAC Manager'
|
||||||
|
@ -57,12 +90,86 @@ model {
|
||||||
component providerShell 'Shell Provider'
|
component providerShell 'Shell Provider'
|
||||||
}
|
}
|
||||||
|
|
||||||
/*db = component 'Database' {
|
container externalSecrets 'external-secrets' {
|
||||||
icon tech:postgresql
|
description 'Provider to access externally stored Kubernetes secrets'
|
||||||
style {
|
|
||||||
shape storage
|
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 requests data from the Backend
|
||||||
// ui -> backend 'fetches via HTTPS'
|
// ui -> backend 'fetches via HTTPS'
|
||||||
|
@ -84,6 +191,7 @@ views {
|
||||||
view edp of edp {
|
view edp of edp {
|
||||||
title 'Context view'
|
title 'Context view'
|
||||||
include *
|
include *
|
||||||
|
exclude ingressNginx ->
|
||||||
|
|
||||||
style * {
|
style * {
|
||||||
opacity 25%
|
opacity 25%
|
||||||
|
@ -94,14 +202,49 @@ views {
|
||||||
}
|
}
|
||||||
|
|
||||||
view keycloak of keycloak {
|
view keycloak of keycloak {
|
||||||
include *
|
include
|
||||||
|
*,
|
||||||
|
ingressNginx ->
|
||||||
}
|
}
|
||||||
|
|
||||||
view forgejo of forgejo {
|
view forgejo of forgejo {
|
||||||
include *
|
include
|
||||||
|
*,
|
||||||
|
ingressNginx ->
|
||||||
}
|
}
|
||||||
|
|
||||||
view crossplane of crossplane {
|
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 *
|
include *
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ specification {
|
||||||
element actor {
|
element actor {
|
||||||
style {
|
style {
|
||||||
shape person
|
shape person
|
||||||
|
color green
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
element system
|
element system
|
||||||
|
@ -11,6 +12,12 @@ specification {
|
||||||
opacity 20%
|
opacity 20%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
element internalComponent {
|
||||||
|
style {
|
||||||
|
color muted
|
||||||
|
opacity 15%
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
deploymentNode node
|
deploymentNode node
|
||||||
deploymentNode environment {
|
deploymentNode environment {
|
||||||
|
|
Loading…
Reference in a new issue