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