@startuml
component oc_search
component oc_catalog 
interface catalog_api

component oc_scheduler [
    oc_scheduler

    + Receives notifications about new workflows scheduled
    + Retrieve informations about a workflow
    + Notifies when to execute a workflow
]

component oc_workflows [
    oc_workflows

    + executes argo workflows in a kubernetes cluster
    + creates processes from a workflow (not a k8s environment)
    + creates the logs stream
]

database loki

component oc_monitor [
    oc_monitor

    + retrieves logs from loki
]

catalog_api -l-> oc_catalog 
oc_scheduler -l-> catalog_api
oc_workflows -l-> loki
loki -l-> oc_monitor
oc_workflows -d-> oc_scheduler
oc_search -u-> oc_monitor
oc_search -> oc_catalog

@enduml