From 1a2795251144c53d81d84e7bfedd2aad1f1eb0a7 Mon Sep 17 00:00:00 2001 From: Mateo Florido <32885896+mateoflorido@users.noreply.github.com> Date: Wed, 10 Apr 2024 10:31:49 -0500 Subject: [PATCH] Add Charm Architecture DSL (#326) * Add Charm Architecture DSL --------- Co-authored-by: Konstantinos Tsakalozos --- docs/src/assets/charm-arch.dsl | 67 ++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 docs/src/assets/charm-arch.dsl diff --git a/docs/src/assets/charm-arch.dsl b/docs/src/assets/charm-arch.dsl new file mode 100644 index 000000000..1184d2e07 --- /dev/null +++ b/docs/src/assets/charm-arch.dsl @@ -0,0 +1,67 @@ +workspace { + + model { + user = person "Administrator" + + + jujuSystem = softwareSystem "Juju" { + + k8sCharm = container "K8s" "K8s Charm" { + technology "Charmed Operator" + + } + + + charmWorker = container "K8s Worker" "K8s Worker Charm" { + technology "Charmed Operator" + } + + k8sWorkerRelationData = container "K8s Worker Relation Data" { + technology "Juju Relation Databag" + k8sCharm -> this "Share Cluster Data" + charmWorker -> this "Reads from and writes to" + this -> charmWorker "Retrieves Peer Data" + } + + + jujuController = container "Juju Controller" { + technology "Snap Package" + this -> k8sCharm "Manages" + this -> charmWorker "Manages" + } + + jujuCLI = container "Juju Client" { + technology "Snap Package" + user -> this "Uses" + this -> jujuController "Manages" + } + + k8sRelationData = container "K8s Relation Data" { + k8sCharm -> this "Reads from and writes to" + this -> k8sCharm "Retrieves Peer Data" + } + + externalCharms = container "Compatible Charms" "Other Compatible Canonical Charms" { + k8sCharm -> this "Integrates with" + charmWorker -> this "Integrates with + k8sRelationData -> this "Reads from and writes to" + k8sWorkerRelationData -> this "Reads from and writes to" + } + + + + } + + } + + views { + + container jujuSystem { + include * + autolayout tb + } + + theme default + } + +}