edp-doc/likec4/model.c4

111 lines
2.2 KiB
Text
Raw Normal View History

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 *
}
}