Public Information
This commit is contained in:
170
dsl/workspace.dsl
Normal file
170
dsl/workspace.dsl
Normal file
@@ -0,0 +1,170 @@
|
||||
workspace {
|
||||
!identifiers hierarchical
|
||||
|
||||
model {
|
||||
properties {
|
||||
"structurizr.groupSeparator" "/"
|
||||
}
|
||||
|
||||
/* **************************************************************
|
||||
* Services and Components running in the K8s cluster *
|
||||
************************************************************** */
|
||||
|
||||
group "Kubernetes Cluster" {
|
||||
ingressController = softwareSystem "Kubernetes Ingress Controller" "Layer 7 Load Balancer" "Kubernetes - ds"
|
||||
clusterIssuer = softwareSystem "Cert Manager Cluster Issuer" "provides certificates" "Kubernetes - crd"
|
||||
group "Namespace" {
|
||||
!include "environment.dsl"
|
||||
group "Instance" {
|
||||
!include "database.dsl"
|
||||
!include "rs.dsl"
|
||||
!include "nstl.dsl"
|
||||
group "nscale Application Layer Cluster" {
|
||||
!include "nappl.dsl"
|
||||
!include "nappljobs.dsl"
|
||||
!include "pipelinercm.dsl"
|
||||
!include "clusterService.dsl"
|
||||
}
|
||||
!include "web.dsl"
|
||||
!include "pipelinerac.dsl"
|
||||
!include "cmis.dsl"
|
||||
!include "webdav.dsl"
|
||||
!include "ilm.dsl"
|
||||
!include "mon.dsl"
|
||||
!include "pam.dsl"
|
||||
!include "sharepoint.dsl"
|
||||
|
||||
!include "adminserver.dsl"
|
||||
!include "application.dsl"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* **************************************************************
|
||||
* Client Applications, accessing the Services and Components *
|
||||
************************************************************** */
|
||||
|
||||
adminclient = softwareSystem "nscale Administrator" "Eclipse RCP Administrator Client" {
|
||||
tags "richclient, nscale"
|
||||
-> adminserver.l3lb "Remote Management" "RMS and https Protocols"
|
||||
}
|
||||
mobileclient = softwareSystem "nscale Mobile" "Rich Mobile Client" {
|
||||
tags "mobileclient, nscale"
|
||||
-> ingressController "https /nscalealinst1"
|
||||
}
|
||||
cockpitclient = softwareSystem "nscale Cockpit" "Rich Windows Client" {
|
||||
tags "richtclient, nscale"
|
||||
-> ingressController "https /nscalealinst1"
|
||||
}
|
||||
webclient = softwareSystem "nscale Web" "Thin Web Client" {
|
||||
tags "webclient, nscale"
|
||||
-> ingressController "https /nscale_web"
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* **************************************************************
|
||||
* Users running the clients above *
|
||||
************************************************************** */
|
||||
|
||||
user = person "User" {
|
||||
description "uses the Business Applications running in the Environment"
|
||||
-> mobileclient "use"
|
||||
-> cockpitclient "use"
|
||||
-> webclient "use"
|
||||
}
|
||||
admin = person "Admin" {
|
||||
description "Maintains and Operates the Environment"
|
||||
-> adminclient "use"
|
||||
-> nplus.davserver "mount"
|
||||
-> nplus.toolbox "use"
|
||||
}
|
||||
|
||||
|
||||
/* **************************************************************
|
||||
* 3rd Party Applications accessing the Services and Components *
|
||||
************************************************************** */
|
||||
|
||||
sap = softwareSystem "SAP" "SAP Server" {
|
||||
-> ingressController "consume AL" "SAP Archive Link Protocol"
|
||||
-> ingressController "consume ILM" "SAP Information Lifecycle Management Protocol"
|
||||
}
|
||||
|
||||
o365sp = softwareSystem "SharePoint" "SharePoint Server" {
|
||||
}
|
||||
|
||||
/* when you run a SAP System, you most likely also want to access it for replication */
|
||||
nappl.replicaset.main -> sap "consume SNC" "SAP SNC Access"
|
||||
|
||||
|
||||
app = softwareSystem "3rd Party Software" "Any Application with Access Rights" {
|
||||
-> ingressController "AC" "nscale Advanced Connect API
|
||||
-> ingressController "REST" "nscale REST API"
|
||||
-> ingressController "CMIS REST" "cmis REST API"
|
||||
-> ingressController "CMIS SOAP" "cmis SOAP API"
|
||||
-> ingressController "Pipeliner DAV" "DAV Payload Dropoff Service"
|
||||
}
|
||||
|
||||
/* **************************************************************
|
||||
* 3rd Party Identity and Authentication Services *
|
||||
************************************************************** */
|
||||
|
||||
idp = softwareSystem "Identity Provider" {
|
||||
description "Provider or Broker for Identity Information and SSO Services"
|
||||
-> nappl "Authorize" "Single Sign On with optional Multi Factor" "saml, openid"
|
||||
-> nappljobs "Import" "Periodic Import of Account / Group Information via LDAP"
|
||||
user -> this "authenticate"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
views {
|
||||
|
||||
theme https://static.structurizr.com/themes/kubernetes-v0.3/theme.json
|
||||
|
||||
# As soon as we use our own views, all default views are gone...
|
||||
!include "views.dsl"
|
||||
|
||||
styles {
|
||||
element "Person" {
|
||||
shape Person
|
||||
}
|
||||
element "Kubernetes - svc" {
|
||||
shape hexagon
|
||||
}
|
||||
element "Database" {
|
||||
background #707070
|
||||
color #ffffff
|
||||
shape cylinder
|
||||
}
|
||||
element "Kubernetes - pvc" {
|
||||
shape cylinder
|
||||
}
|
||||
element "nscale" {
|
||||
color #FFFFFF
|
||||
background #11a63c
|
||||
}
|
||||
element "nplus" {
|
||||
color #FFFFFF
|
||||
background #424c63
|
||||
}
|
||||
element "planned" {
|
||||
opacity 30
|
||||
}
|
||||
element "mobileclient" {
|
||||
shape "MobileDeviceLandscape"
|
||||
}
|
||||
element "richclient" {
|
||||
shape "Window"
|
||||
}
|
||||
element "webclient" {
|
||||
shape "WebBrowser"
|
||||
}
|
||||
element "Group" {
|
||||
color #ff00ff
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user