111 lines
2.2 KiB
Text
111 lines
2.2 KiB
Text
|
model {
|
||
|
developer = actor 'Developer' {
|
||
|
description 'The regular user of the platform'
|
||
|
}
|
||
|
|
||
|
edp = system 'EDP' {
|
||
|
container ui 'Backstage' {
|
||
|
description 'Deeveloper Portal'
|
||
|
style {
|
||
|
icon tech:react
|
||
|
shape browser
|
||
|
}
|
||
|
}
|
||
|
container forgejo 'CI/CD Service' {
|
||
|
description '
|
||
|
Fully managed DevOps Platfrom
|
||
|
offering capabilities like
|
||
|
code version controling
|
||
|
collaboration and ticketing
|
||
|
and security scanning
|
||
|
'
|
||
|
component forgejo 'Forgejo' {
|
||
|
technology 'Golang'
|
||
|
icon tech:go
|
||
|
}
|
||
|
component forgejoRunner 'CI Runner'{
|
||
|
technology 'Golang'
|
||
|
icon tech:go
|
||
|
style {
|
||
|
multiple true
|
||
|
}
|
||
|
}
|
||
|
forgejoRunner -> forgejo 'executes pipelines'
|
||
|
}
|
||
|
container keycloak 'Keycloak' {
|
||
|
description '
|
||
|
Single Sign On for all EDP products
|
||
|
'
|
||
|
component keycloak 'Keycloak' {
|
||
|
technology 'Keycloak'
|
||
|
icon tech:java
|
||
|
}
|
||
|
component postgres 'Postgres' {
|
||
|
technology 'Postgresql'
|
||
|
icon tech:postgresql
|
||
|
}
|
||
|
// -> db 'reads/writes'
|
||
|
}
|
||
|
|
||
|
container crossplane 'Crossplane' {
|
||
|
description 'Managing cloud infrastructure'
|
||
|
component crossplane 'Crossplane'
|
||
|
component crossplaneFunction 'Function Patch and Transform'
|
||
|
component crossplaneRbacManager 'RBAC Manager'
|
||
|
component providerArgoCD 'ArgoCD Provider'
|
||
|
component providerKind 'Kind Provider'
|
||
|
component providerShell 'Shell Provider'
|
||
|
}
|
||
|
|
||
|
/*db = component 'Database' {
|
||
|
icon tech:postgresql
|
||
|
style {
|
||
|
shape storage
|
||
|
}
|
||
|
}*/
|
||
|
|
||
|
// UI requests data from the Backend
|
||
|
// ui -> backend 'fetches via HTTPS'
|
||
|
}
|
||
|
|
||
|
developer -> ui 'manages project'
|
||
|
developer -> forgejo 'manages code'
|
||
|
developer -> keycloak 'authenticates'
|
||
|
}
|
||
|
|
||
|
views {
|
||
|
|
||
|
view overview {
|
||
|
title 'Landscape view'
|
||
|
|
||
|
include *
|
||
|
}
|
||
|
|
||
|
view edp of edp {
|
||
|
title 'Context view'
|
||
|
include *
|
||
|
|
||
|
style * {
|
||
|
opacity 25%
|
||
|
}
|
||
|
style developer {
|
||
|
color muted
|
||
|
}
|
||
|
}
|
||
|
|
||
|
view keycloak of keycloak {
|
||
|
include *
|
||
|
}
|
||
|
|
||
|
view forgejo of forgejo {
|
||
|
include *
|
||
|
}
|
||
|
|
||
|
view crossplane of crossplane {
|
||
|
include *
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|