Inital draft of architecture documentation
This commit is contained in:
parent
089273c038
commit
7437b22a08
4 changed files with 158 additions and 0 deletions
1
likec4/README.md
Normal file
1
likec4/README.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Run ´npx likec4 start´ to start dev server
|
26
likec4/deployment.c4
Normal file
26
likec4/deployment.c4
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
// Deployment model
|
||||||
|
deployment {
|
||||||
|
|
||||||
|
node customerNode {
|
||||||
|
instanceOf developer
|
||||||
|
}
|
||||||
|
|
||||||
|
environment local 'Local' {
|
||||||
|
technology 'Kind'
|
||||||
|
icon tech:kubernetes
|
||||||
|
|
||||||
|
instanceOf edp.ui
|
||||||
|
instanceOf edp.forgejo
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
views {
|
||||||
|
deployment view index {
|
||||||
|
title 'Local Deployment'
|
||||||
|
|
||||||
|
include
|
||||||
|
*,
|
||||||
|
local.**
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
110
likec4/model.c4
Normal file
110
likec4/model.c4
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
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 *
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
21
likec4/spec.c4
Normal file
21
likec4/spec.c4
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
specification {
|
||||||
|
element actor {
|
||||||
|
style {
|
||||||
|
shape person
|
||||||
|
}
|
||||||
|
}
|
||||||
|
element system
|
||||||
|
element component
|
||||||
|
element container {
|
||||||
|
style {
|
||||||
|
opacity 20%
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
deploymentNode node
|
||||||
|
deploymentNode environment {
|
||||||
|
style {
|
||||||
|
color gray
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue