added seqeuence diagram
This commit is contained in:
parent
c345d3b3b5
commit
92a1f4c1c5
5 changed files with 70 additions and 28 deletions
|
|
@ -2,8 +2,8 @@
|
|||
deployment {
|
||||
|
||||
cloud otc-edp-per-tenant 'OTC EDP per tenant cluster' {
|
||||
description 'OTC environment for EDP. EDP is the environment a customer gets from us.
|
||||
|
||||
description 'OTC environment for EDP. EDP is the environment a customer gets from us.
|
||||
|
||||
This is kubernetes clusters and other infrastructure like nodes and vms, and platform services. All is set up by IaC-pipelines in the Foundry.
|
||||
'
|
||||
technology 'OTC'
|
||||
|
|
@ -15,7 +15,7 @@ deployment {
|
|||
|
||||
cluster edp 'EDP' {
|
||||
instanceOf edp.argoCD
|
||||
instanceOf forgejoRunner
|
||||
instanceOf forgejoRunner
|
||||
instanceOf edp.forgejo {
|
||||
-> cloudServices.elasticsearch
|
||||
-> cloudServices.objectstorage
|
||||
|
|
@ -24,6 +24,7 @@ deployment {
|
|||
}
|
||||
instanceOf edp.externalSecrets
|
||||
instanceOf edp.ingressNginx
|
||||
instanceOf edp.garm
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -36,7 +37,7 @@ deployment {
|
|||
instanceOf objectstorage
|
||||
instanceOf elasticsearch
|
||||
}
|
||||
|
||||
|
||||
computeressource forgejoRunnerInfrastructure 'EDP ForgejoRunner infrastructure' {
|
||||
description 'Infrastructure for Forgejo runners like pods, vms, lxds, etc'
|
||||
instanceOf forgejoRunner {
|
||||
|
|
@ -45,5 +46,3 @@ deployment {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
5
resources/edp-likec4/models/containers/edgeconnect.c4
Normal file
5
resources/edp-likec4/models/containers/edgeconnect.c4
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
model {
|
||||
component edgeConnect 'Edge Connect' {
|
||||
description 'Provides an API to run applications on the edge'
|
||||
}
|
||||
}
|
||||
24
resources/edp-likec4/models/containers/garm.c4
Normal file
24
resources/edp-likec4/models/containers/garm.c4
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
model {
|
||||
extend edp {
|
||||
container garm 'Garm Image' {
|
||||
icon tech:docker
|
||||
component garm 'Garm' {
|
||||
description 'Provisions runners for Forgejo'
|
||||
icon tech:go
|
||||
}
|
||||
|
||||
component providerEdgeConnect 'Garm Provider for EdgeConnect' {
|
||||
icon tech:go
|
||||
description 'Acts as abstraction layer for EdgeConnect'
|
||||
}
|
||||
|
||||
component providerKubernetes 'Garm Provider for Kubernetes' {
|
||||
icon tech:go
|
||||
description 'Acts as abstraction layer for Kubernetes'
|
||||
}
|
||||
|
||||
garm -> providerEdgeConnect 'calls binary'
|
||||
garm -> providerKubernetes 'calls binary'
|
||||
}
|
||||
}
|
||||
}
|
||||
35
resources/edp-likec4/views/dynamic/cicd/forgejo-garm.c4
Normal file
35
resources/edp-likec4/views/dynamic/cicd/forgejo-garm.c4
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
views {
|
||||
dynamic view forgejoGarmInteraction {
|
||||
title 'Forgejo <-> Garm'
|
||||
|
||||
include edp, edp.garm
|
||||
include edp.forgejo with {
|
||||
title 'Forgejo'
|
||||
}
|
||||
include edp.garm.garm
|
||||
include edp.garm.providerEdgeConnect
|
||||
include edgeConnect
|
||||
|
||||
edp.forgejo -> edp.garm.garm '(Webhook) A new job is pending'
|
||||
edp.garm.garm -> edp.garm.providerEdgeConnect 'Create new runner'
|
||||
edp.garm.providerEdgeConnect -> edgeConnect 'Create App (Runner)'
|
||||
edp.garm.providerEdgeConnect -> edgeConnect 'Create AppInstance (Runner)'
|
||||
edgeConnect -> forgejoRunner 'Deploys'
|
||||
|
||||
forgejoRunner -> edp.garm.garm 'Get runner registration token'
|
||||
edp.garm.garm -> edp.forgejo 'Get runner registration token'
|
||||
edp.forgejo -> edp.garm.garm 'Token'
|
||||
edp.garm.garm -> forgejoRunner 'Token'
|
||||
forgejoRunner -> edp.forgejo 'Register runner'
|
||||
forgejoRunner -> edp.forgejo 'Fetch job'
|
||||
forgejoRunner -> forgejoRunner 'Work on job'
|
||||
forgejoRunner -> edp.forgejo 'Send result'
|
||||
edp.forgejo -> edp.forgejo 'Deregister Runner'
|
||||
forgejoRunner -> forgejoRunner 'Terminate'
|
||||
|
||||
edp.forgejo -> edp.garm.garm '(Webhook) A job finished'
|
||||
edp.garm.garm -> edp.garm.providerEdgeConnect 'Delete runner'
|
||||
edp.garm.providerEdgeConnect -> edgeConnect 'Delete AppInstance (Runner)'
|
||||
edp.garm.providerEdgeConnect -> edgeConnect 'Delete App (Runner)'
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue