From ab9f1359a077a72f5fac154d74fec8f6bce5041d Mon Sep 17 00:00:00 2001 From: pb Date: Tue, 2 Jul 2024 12:24:03 +0200 Subject: [PATCH] diagrams documentation --- classe_scheduler.puml | 86 ++++++++++++++++++++++++++ docs/uml/class_new_graph.puml | 32 ++++++++++ docs/uml/class_old_graph.puml | 32 ++++++++++ docs/uml/diag_class_argo_workflow.puml | 74 ++++++++++++++++++++++ 4 files changed, 224 insertions(+) create mode 100644 classe_scheduler.puml create mode 100644 docs/uml/class_new_graph.puml create mode 100644 docs/uml/class_old_graph.puml create mode 100644 docs/uml/diag_class_argo_workflow.puml diff --git a/classe_scheduler.puml b/classe_scheduler.puml new file mode 100644 index 0000000..d686034 --- /dev/null +++ b/classe_scheduler.puml @@ -0,0 +1,86 @@ +@startuml +namespace main { + class ArgoBuilder << (S,Aquamarine) >> { + - graph Graph + - branches [][]string + + + Workflow Workflow + + - createTemplates() + - createDAGstep() + - createVolumes() + - getDependency(current_computing_id string) []string + + + CreateDAG() bool + + } + class Container << (S,Aquamarine) >> { + + Image string + + Command []string + + Args []string + + VolumeMounts []VolumeMount + + } + class Dag << (S,Aquamarine) >> { + + Tasks []Task + + } + + class Link << (S,Aquamarine) >> { + + Src string + + Dst string + + } + class Parameter << (S,Aquamarine) >> { + + Name string + + Value string + + } + class Spec << (S,Aquamarine) >> { + + Entrypoint string + + Arguments []Parameter + + Volumes []VolumeClaimTemplate + + Templates []Template + + } + class Task << (S,Aquamarine) >> { + + Name string + + Template string + + Dependencies []string + + Arguments struct{[]Parameter} + + } + class Template << (S,Aquamarine) >> { + + Name string + + Inputs struct{[]Parameter} + + Container Container + + Dag Dag + + } + class VolumeClaimTemplate << (S,Aquamarine) >> { + + Metadata struct{string} + + Spec VolumeSpec + + } + class VolumeMount << (S,Aquamarine) >> { + + Name string + + MountPath string + + } + class VolumeSpec << (S,Aquamarine) >> { + + AccessModes []string + + Resources struct{struct{string}} + + } + + class Workflow << (S,Aquamarine) >> { + + ApiVersion string + + Kind string + + Metadata struct{string} + + Spec Spec + + } +} + + +@enduml diff --git a/docs/uml/class_new_graph.puml b/docs/uml/class_new_graph.puml new file mode 100644 index 0000000..6848bd4 --- /dev/null +++ b/docs/uml/class_new_graph.puml @@ -0,0 +1,32 @@ +@startuml +package "main" { + class Graph { + []DataModel Datas + []ComputingModel Computings + []DatacenterModel Datacenters + []StorageModel Storages + map[string, Link] Links + HttpQuery ws + + GetGraphList(apiurl string) (map[string]string, error) + LoadFrom(workspace string) error + GetWorkflowComponents(workflow string) + GetLinks(workflow string) + AddDataModel(id string, user_input gjson.Result, wf_id string) error + AddDatacenterModel(id string, user_input gjson.Result, wf_id string) error + AddComputingModel(id string, user_input gjson.Result, wf_id string) error + AddStorageModel(id string, user_input gjson.Result, wf_id string) error + ExportToArgo(id string) error + getListBranches(end_links map[string]Link, unvisited_links_list map[string]Link, current_branch []string) (list_branches [][]string) + ExportToHelm(id string) error + isDestination(comp_id string, link_id string) bool + isSource(comp_id string, link_id string) bool + getPreviousLink(link_id string, map_link map[string]Link) (previous_id []string) + getComponentName(id string) string + getComponentType(component_id string) string + getComponentByType(compType string, link Link) (ids []string) + } + + +} + diff --git a/docs/uml/class_old_graph.puml b/docs/uml/class_old_graph.puml new file mode 100644 index 0000000..6d1208a --- /dev/null +++ b/docs/uml/class_old_graph.puml @@ -0,0 +1,32 @@ +@startuml +package "main" { + class Graph { + []Link Links + []DataModel Datas + []ComputingModel Computings + []DatacenterModel Datacenters + []StorageModel Storages + HttpQuery ws + + GetGraphList(apiurl string) (map[string]string, error) + LoadFrom(workspace string) error + AddDataModel(id string) error + AddDatacenterModel(id string) error + AddComputingModel(id string) error + AddStorageModel(id string) error + ExportToArgo(id string) error + ExportToHelm(id string) error + } + + class Link { + string Src + string Dst + } + + class HttpQuery { + Init(apiurl string) + Get(endpoint string) ([]byte, error) + } +} + +@enduml diff --git a/docs/uml/diag_class_argo_workflow.puml b/docs/uml/diag_class_argo_workflow.puml new file mode 100644 index 0000000..e492782 --- /dev/null +++ b/docs/uml/diag_class_argo_workflow.puml @@ -0,0 +1,74 @@ +@startuml + +class Parameter { + - Name: string + - Value: string +} + +class Container { + - Image: string + - Command: string[] + - Args: string[] +} + +class VolumeMount { + - Name: string + - MountPath: string +} + +class Task { + - Name: string + - Template: string + - Dependencies: string[] +} + +class Dag { + - Tasks: Task[] +} + +class Template { + - Name: string + - Inputs: struct +} + +class VolumeClaimTemplate { + - Metadata: struct + - Spec: VolumeSpec +} + +class VolumeSpec { + - AccessModes: string[] + - Resources: struct +} + +class ArgoBuilder { + - graph: Graph + - branches: string[][] + - Workflow: Workflow +} + +class Workflow { + - ApiVersion: string + - Kind: string + - Metadata: struct +} + +class Spec { + - Entrypoint: string + - Arguments: Parameter[] + - Volumes: VolumeClaimTemplate[] + - Templates: Template[] +} + +Parameter -- Task +Container -- Template +VolumeMount -- Container +Task -- Dag +Dag -- Template +Template -- Spec +VolumeClaimTemplate -- Spec +VolumeSpec -- VolumeClaimTemplate +Workflow -- ArgoBuilder +Spec -- Workflow + +@enduml