schemaVersion: "1"
type: "design"
id: "new-design"
nodes:
  - id: "web-browser"
    component: "web-browser"
  - id: "backend"
    component: "container-service"
    label: "Backend"
    group: "system"
    modules:
      - id: "iam"
        label: "IAM"
      - id: "notifications"
        label: "Notifications"
      - id: "workflow"
        label: "Workflow"
      - id: "files"
        label: "Files"
      - id: "logging"
        label: "Logs"
      - id: "audit-logs"
        label: "Audit Logs"
      - id: "background-jobs"
        label: "Background Jobs"
      - id: "settings"
        label: "Settings"
      - id: "global-search"
        label: "Global Search"
      - id: "payment"
        label: "Payment"
      - id: "money-transfer"
        label: "Money transfer"
      - id: "dividens"
        label: "Dividens"
      - id: "loans"
        label: "Loans"
  - id: "backend-2"
    component: "container-service"
    label: "Frontend"
    group: "system"
  - id: "keepalived"
    component: "keepalived"
  - id: "redis"
    component: "redis"
    group: "system"
  - id: "sql-db-2"
    component: "sql-server"
    label: "SQL DB"
    props:
      backupEnabled: true
      alwaysOn: true
    group: "system-2"
  - id: "queue"
    component: "rabbitmq"
    label: "Queue"
    group: "system"
  - id: "workflow"
    component: "temporal"
    group: "system"
    label: "Workflow"
  - id: "ad"
    component: "active-directory"
    label: "Microsoft AD"
    group: "system-2"
  - id: "grafana"
    component: "grafana"
    group: "system"
  - id: "backend-3"
    component: "container-service"
    label: "Seq"
    group: "system"
  - id: "file-store"
    component: "file-store"
    group: "system-2"
  - id: "local-smtp"
    component: "smtp-server"
    label: "Local SMTP"
    group: "system-2"
edges:
  - from: "web-browser"
    to: "keepalived"
    protocol: "http"
    mode: "sync"
    label: "Https + Internal"
  - from: "backend"
    to: "workflow"
    protocol: "http"
    mode: "sync"
  - from: "keepalived"
    to: "system"
    protocol: "http"
    mode: "sync"
  - from: "backend"
    to: "backend-3"
    protocol: "http"
    mode: "sync"
  - from: "system"
    to: "system-2"
    protocol: "http"
    mode: "sync"
  - from: "backend"
    to: "queue"
    protocol: "http"
    mode: "sync"
  - from: "backend"
    to: "redis"
    protocol: "http"
    mode: "sync"
  - from: "backend"
    to: "grafana"
    protocol: "http"
    mode: "sync"
groups:
  - id: "system"
    kind: "system"
    label: "Docker-Compose"
    count: 2
  - id: "system-2"
    kind: "system"
    label: "Jadwa Managed Resources"
