feat(c4-arch): added cicd-outerloop dynamic view
This commit is contained in:
parent
abeb011276
commit
09e05c3d02
9 changed files with 102 additions and 7 deletions
BIN
likec4/doc/developer-landscape/cicd-outerloop-2.png
Normal file
BIN
likec4/doc/developer-landscape/cicd-outerloop-2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 71 KiB |
BIN
likec4/doc/developer-landscape/cicd-outerloop-draft.png
Normal file
BIN
likec4/doc/developer-landscape/cicd-outerloop-draft.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 467 KiB |
BIN
likec4/doc/developer-landscape/cicd-outerloop.png
Normal file
BIN
likec4/doc/developer-landscape/cicd-outerloop.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 88 KiB |
|
@ -6,12 +6,31 @@
|
||||||
|
|
||||||
* [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)
|
* [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)
|
||||||
|
|
||||||
## Draft
|
* (original articale is here](https://www.curiositysoftware.ie/blog/software-delivery-leaders-guide-inner-outer-loops)
|
||||||
|
|
||||||
|
## Landscape
|
||||||
|
|
||||||
|
### Draft
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## C4 Result
|
### C4
|
||||||
|
|
||||||
See [developer-landscape](../../views/landscape.c4)
|
See [developer-landscape](../../views/landscape.c4)
|
||||||
|
|
||||||

|

|
||||||
|

|
||||||
|
|
||||||
|
## CI/CD Outerloop
|
||||||
|
|
||||||
|
### Draft
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
ArgoCD and Cloud are CD, Forgejo is CI
|
||||||
|
|
||||||
|
### C4
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
BIN
likec4/doc/developer-landscape/developer-landscape-view-c4-2.png
Normal file
BIN
likec4/doc/developer-landscape/developer-landscape-view-c4-2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 121 KiB |
|
@ -9,12 +9,26 @@ model {
|
||||||
collaboration and ticketing
|
collaboration and ticketing
|
||||||
and security scanning
|
and security scanning
|
||||||
'
|
'
|
||||||
component forgejo 'Forgejo' {
|
technology 'Golang'
|
||||||
technology 'Golang'
|
icon tech:go
|
||||||
icon tech:go
|
|
||||||
|
component forgejo 'Git' {
|
||||||
|
// this is ugly ... basically there should be a logical git component type
|
||||||
|
// which gets deployed and then can have multiple deployed repos
|
||||||
|
component application_gitrepo 'Git App Repo' {
|
||||||
|
description 'Git Application Repository'
|
||||||
|
technology 'Git'
|
||||||
|
icon tech:git
|
||||||
|
}
|
||||||
|
component applicationspec_gitrepo 'Git AppSpec Repo' {
|
||||||
|
description 'Git Application Specification Repository'
|
||||||
|
technology 'Git'
|
||||||
|
icon tech:git
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
component forgejoRunner 'CI Runner' {
|
component forgejoRunner 'Forgejo Actions' {
|
||||||
|
description 'Continuous Integration like Github Actions'
|
||||||
technology 'Golang'
|
technology 'Golang'
|
||||||
icon tech:go
|
icon tech:go
|
||||||
style {
|
style {
|
||||||
|
@ -22,6 +36,12 @@ model {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
component imageregistry 'OCI Image Registry' {
|
||||||
|
description 'Container Image Registry'
|
||||||
|
technology 'Golang'
|
||||||
|
icon tech:go
|
||||||
|
}
|
||||||
|
|
||||||
forgejoRunner -> forgejo 'executes pipelines'
|
forgejoRunner -> forgejo 'executes pipelines'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,5 +12,11 @@ model {
|
||||||
color primary
|
color primary
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
git = component 'git' {
|
||||||
|
description 'local git'
|
||||||
|
technology 'Git'
|
||||||
|
icon tech:git
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
24
likec4/models/deployment/git.c4
Normal file
24
likec4/models/deployment/git.c4
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
deployment {
|
||||||
|
|
||||||
|
environment apprepo 'application_repo' {
|
||||||
|
description 'Git repository for application'
|
||||||
|
technology 'Git'
|
||||||
|
icon tech:git
|
||||||
|
instanceOf edp.forgejo.application_gitrepo
|
||||||
|
}
|
||||||
|
environment appspecrepo 'appspec_repo' {
|
||||||
|
description 'Git repository for application specification'
|
||||||
|
technology 'Git'
|
||||||
|
icon tech:git
|
||||||
|
instanceOf edp.forgejo.application_gitrepo
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
views {
|
||||||
|
deployment view view_git_35 {
|
||||||
|
title 'Untitled'
|
||||||
|
|
||||||
|
include apprepo, appspecrepo
|
||||||
|
}
|
||||||
|
}
|
26
likec4/views/gitops-inner-outer-loop.c4
Normal file
26
likec4/views/gitops-inner-outer-loop.c4
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
views {
|
||||||
|
dynamic view view_gitops-inner-outer-loop_15 {
|
||||||
|
title 'outer-ci-loop'
|
||||||
|
|
||||||
|
include localbox, edp
|
||||||
|
include edp.forgejo with {
|
||||||
|
color gray
|
||||||
|
title 'Forgejo'
|
||||||
|
}
|
||||||
|
|
||||||
|
style edp._ {
|
||||||
|
color secondary
|
||||||
|
}
|
||||||
|
|
||||||
|
localbox.git -> edp.forgejo.forgejo.application_gitrepo 'git push'
|
||||||
|
edp.forgejo.forgejo.application_gitrepo -> edp.forgejoRunner 'on push'
|
||||||
|
|
||||||
|
edp.forgejoRunner -> edp.forgejo.imageregistry 'pushes new image'
|
||||||
|
edp.forgejoRunner -> edp.forgejo.forgejo.applicationspec_gitrepo 'pushes new appspec'
|
||||||
|
|
||||||
|
edp.forgejo.forgejo.applicationspec_gitrepo -> edp.argoCD 'triggers deployment'
|
||||||
|
edp.argoCD -> cloud 'deploys application'
|
||||||
|
cloud -> edp.forgejo.imageregistry 'pulls image'
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue