feat(c4-context): added/changed context of EDFoundry/EDP
This commit is contained in:
parent
d8a5101efb
commit
884be568ab
14 changed files with 210 additions and 7 deletions
21
.vscode/settings.json
vendored
21
.vscode/settings.json
vendored
|
@ -1,3 +1,22 @@
|
|||
{
|
||||
"peacock.color": "#832561"
|
||||
"peacock.color": "#832561",
|
||||
"workbench.colorCustomizations": {
|
||||
"activityBar.activeBackground": "#ab307e",
|
||||
"activityBar.background": "#ab307e",
|
||||
"activityBar.foreground": "#e7e7e7",
|
||||
"activityBar.inactiveForeground": "#e7e7e799",
|
||||
"activityBarBadge.background": "#25320e",
|
||||
"activityBarBadge.foreground": "#e7e7e7",
|
||||
"commandCenter.border": "#e7e7e799",
|
||||
"sash.hoverBorder": "#ab307e",
|
||||
"statusBar.background": "#832561",
|
||||
"statusBar.foreground": "#e7e7e7",
|
||||
"statusBarItem.hoverBackground": "#ab307e",
|
||||
"statusBarItem.remoteBackground": "#832561",
|
||||
"statusBarItem.remoteForeground": "#e7e7e7",
|
||||
"titleBar.activeBackground": "#832561",
|
||||
"titleBar.activeForeground": "#e7e7e7",
|
||||
"titleBar.inactiveBackground": "#83256199",
|
||||
"titleBar.inactiveForeground": "#e7e7e799"
|
||||
}
|
||||
}
|
13
likec4/components/tools.c4
Normal file
13
likec4/components/tools.c4
Normal file
|
@ -0,0 +1,13 @@
|
|||
model {
|
||||
component edfbuilder "edfbuilder" {
|
||||
description 'EDP Foundry Builder'
|
||||
technology 'Golang'
|
||||
icon tech:go
|
||||
style {
|
||||
shape rectangle
|
||||
}
|
||||
-> edf "boots one"
|
||||
platformdeveloper -> edfbuilder "runs"
|
||||
}
|
||||
|
||||
}
|
|
@ -1,5 +1,30 @@
|
|||
model {
|
||||
developer = actor 'Developer' {
|
||||
description 'The regular user of the platform'
|
||||
-> localbox 'inner loop development'
|
||||
-> edp 'outer loop development'
|
||||
-> edp.ui 'manages project'
|
||||
-> edp.forgejo 'manages code'
|
||||
-> edp.keycloak 'authenticates'
|
||||
-> edp.argoCD 'manages deployments'
|
||||
}
|
||||
platformdeveloper = actor 'Platform Developer' {
|
||||
description 'The EDP engineer'
|
||||
style {
|
||||
color gray
|
||||
shape person
|
||||
}
|
||||
}
|
||||
otherProductLifecycleRoles = actor 'Reviewer, Tester, Auditors, Operators' {
|
||||
description 'The EDP engineer'
|
||||
-> edp 'act according to responibility'
|
||||
}
|
||||
customers = actor 'End Customers' {
|
||||
description 'Consumers of your Application'
|
||||
style {
|
||||
color amber
|
||||
shape person
|
||||
}
|
||||
-> cloud 'uses your app'
|
||||
}
|
||||
}
|
6
likec4/context/cloud.c4
Normal file
6
likec4/context/cloud.c4
Normal file
|
@ -0,0 +1,6 @@
|
|||
model {
|
||||
cloud = system 'Cloud' {
|
||||
description 'Cloud environments'
|
||||
technology 'IaaS/PaaS'
|
||||
}
|
||||
}
|
|
@ -2,9 +2,33 @@ views {
|
|||
|
||||
view overview {
|
||||
title 'Landscape view'
|
||||
autoLayout LeftRight 100 100
|
||||
|
||||
include *
|
||||
exclude developer, localbox, edp, otherProductLifecycleRoles
|
||||
exclude element.kind = workflow
|
||||
|
||||
group 'developer-scope' {
|
||||
color green
|
||||
opacity 20%
|
||||
border none
|
||||
include developer
|
||||
include otherProductLifecycleRoles
|
||||
|
||||
group 'Devops inner-loop' {
|
||||
color gray
|
||||
opacity 30%
|
||||
border none
|
||||
|
||||
include localbox
|
||||
}
|
||||
group 'Devops outer-loop' {
|
||||
color gray
|
||||
opacity 30%
|
||||
border none
|
||||
include edp
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
view edp of edp {
|
||||
|
|
6
likec4/context/customer-systems.c4
Normal file
6
likec4/context/customer-systems.c4
Normal file
|
@ -0,0 +1,6 @@
|
|||
model {
|
||||
enterprise = system 'Customers Enterprise Systems' {
|
||||
description 'The customers enterprise systems'
|
||||
-> cloud 'probably some app specific dependencies'
|
||||
}
|
||||
}
|
6
likec4/context/desc.md
Normal file
6
likec4/context/desc.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Containers
|
||||
|
||||
## Inner loop, outer loop
|
||||
|
||||

|
||||
* [What software delivery leaders need to know about inner & outer loops](https://curiositysoftware.medium.com/what-software-delivery-leaders-need-to-know-about-inner-outer-loops-9da765b0ca2c)
|
9
likec4/context/edfoundry.c4
Normal file
9
likec4/context/edfoundry.c4
Normal file
|
@ -0,0 +1,9 @@
|
|||
model {
|
||||
edf = system 'EDF' {
|
||||
description 'EDP Foundry, the EDP builder'
|
||||
technology 'Kubernetes'
|
||||
icon tech:kubernetes
|
||||
-> edp 'builds many'
|
||||
platformdeveloper -> edf "develops EDP and EDF"
|
||||
}
|
||||
}
|
|
@ -1,5 +1,9 @@
|
|||
model {
|
||||
edp = system 'EDP' {
|
||||
description 'EDP Edge Development platform'
|
||||
technology 'Kubernetes'
|
||||
-> enterprise 'integrates'
|
||||
-> cloud 'deploys and observes'
|
||||
|
||||
container ui 'Backstage' {
|
||||
description 'Developer Portal'
|
||||
|
@ -216,12 +220,8 @@ model {
|
|||
|
||||
// UI requests data from the Backend
|
||||
// ui -> backend 'fetches via HTTPS'
|
||||
}
|
||||
|
||||
developer -> ui 'manages project'
|
||||
developer -> forgejo 'manages code'
|
||||
developer -> keycloak 'authenticates'
|
||||
developer -> argoCD 'manages deployments'
|
||||
developer -> edp 'outer loop development'
|
||||
|
||||
-> localbox // inner-outer loop synchronization
|
||||
}
|
||||
}
|
||||
|
8
likec4/context/localbox.c4
Normal file
8
likec4/context/localbox.c4
Normal file
|
@ -0,0 +1,8 @@
|
|||
model {
|
||||
localbox = system 'localbox' {
|
||||
description 'A local development system'
|
||||
technology 'Linux/Windows/Mac'
|
||||
-> edp 'inner-outer-loop synchronization'
|
||||
-> enterprise 'compyny integration'
|
||||
}
|
||||
}
|
BIN
likec4/context/localdev.png
Normal file
BIN
likec4/context/localdev.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 238 KiB |
14
likec4/devbox.json
Normal file
14
likec4/devbox.json
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.14.0/.schema/devbox.schema.json",
|
||||
"packages": ["nodejs@latest"],
|
||||
"shell": {
|
||||
"init_hook": [
|
||||
"echo 'Welcome to devbox!' > /dev/null"
|
||||
],
|
||||
"scripts": {
|
||||
"test": [
|
||||
"echo \"Error: no test specified\" && exit 1"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
73
likec4/devbox.lock
Normal file
73
likec4/devbox.lock
Normal file
|
@ -0,0 +1,73 @@
|
|||
{
|
||||
"lockfile_version": "1",
|
||||
"packages": {
|
||||
"github:NixOS/nixpkgs/nixpkgs-unstable": {
|
||||
"resolved": "github:NixOS/nixpkgs/250b695f41e0e2f5afbf15c6b12480de1fe0001b?lastModified=1743814133&narHash=sha256-drDyYyUmjeYGiHmwB9eOPTQRjmrq3Yz26knwmMPLZFk%3D"
|
||||
},
|
||||
"nodejs@latest": {
|
||||
"last_modified": "2025-03-16T16:17:41Z",
|
||||
"plugin_version": "0.0.2",
|
||||
"resolved": "github:NixOS/nixpkgs/8f76cf16b17c51ae0cc8e55488069593f6dab645#nodejs_23",
|
||||
"source": "devbox-search",
|
||||
"version": "23.10.0",
|
||||
"systems": {
|
||||
"aarch64-darwin": {
|
||||
"outputs": [
|
||||
{
|
||||
"name": "out",
|
||||
"path": "/nix/store/dihlffh62qmgzsrxq1igwxicdyr3fn8a-nodejs-23.10.0",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "libv8",
|
||||
"path": "/nix/store/ks94i4365833bykrzg3d3mqxnciygyrn-nodejs-23.10.0-libv8"
|
||||
}
|
||||
],
|
||||
"store_path": "/nix/store/dihlffh62qmgzsrxq1igwxicdyr3fn8a-nodejs-23.10.0"
|
||||
},
|
||||
"aarch64-linux": {
|
||||
"outputs": [
|
||||
{
|
||||
"name": "out",
|
||||
"path": "/nix/store/m7j1lf8a4z5bfla1m78pa3y12888hl7b-nodejs-23.10.0",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "libv8",
|
||||
"path": "/nix/store/kfvlfxx83n2w2fyb8hiz4p4dc165r035-nodejs-23.10.0-libv8"
|
||||
}
|
||||
],
|
||||
"store_path": "/nix/store/m7j1lf8a4z5bfla1m78pa3y12888hl7b-nodejs-23.10.0"
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"outputs": [
|
||||
{
|
||||
"name": "out",
|
||||
"path": "/nix/store/nj0d1lc4nanqj7v4ibcgd26m3p5yfb0h-nodejs-23.10.0",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "libv8",
|
||||
"path": "/nix/store/k5rvmvqyibamfxa7cfzjfd5ldmi38kf3-nodejs-23.10.0-libv8"
|
||||
}
|
||||
],
|
||||
"store_path": "/nix/store/nj0d1lc4nanqj7v4ibcgd26m3p5yfb0h-nodejs-23.10.0"
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"outputs": [
|
||||
{
|
||||
"name": "out",
|
||||
"path": "/nix/store/m7imcmwi4hschl257dzc33gxciqlf4bm-nodejs-23.10.0",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "libv8",
|
||||
"path": "/nix/store/wy7ysxmd2ygdc5zpbhf9ripwgvvvnwsd-nodejs-23.10.0-libv8"
|
||||
}
|
||||
],
|
||||
"store_path": "/nix/store/m7imcmwi4hschl257dzc33gxciqlf4bm-nodejs-23.10.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue