{
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "Kratos.ai",
  "schemaVersion": "designs.meshery.io/v1beta1",
  "version": "0.0.2",
  "components": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "schemaVersion": "",
      "version": "",
      "displayName": "kratos-node-gateway",
      "description": "",
      "format": "",
      "model": null,
      "modelReference": {
        "displayName": "",
        "id": "00000000-0000-0000-0000-000000000000",
        "model": {
          "version": ""
        },
        "name": "",
        "registrant": {
          "kind": ""
        },
        "version": ""
      },
      "styles": null,
      "capabilities": null,
      "status": null,
      "metadata": {
        "configurationUISchema": "",
        "genealogy": "",
        "instanceDetails": null,
        "isAnnotation": false,
        "isNamespaced": false,
        "published": false
      },
      "configuration": {
        "apiVersion": "apps/v1",
        "kind": "Deployment",
        "metadata": {
          "labels": {
            "app": "kratos-ai",
            "tier": "gateway"
          },
          "name": "kratos-node-gateway"
        },
        "spec": {
          "replicas": 2,
          "selector": {
            "matchLabels": {
              "app": "kratos-ai",
              "tier": "gateway"
            }
          },
          "template": {
            "metadata": {
              "labels": {
                "app": "kratos-ai",
                "tier": "gateway"
              }
            },
            "spec": {
              "containers": [
                {
                  "env": [
                    {
                      "name": "FASTAPI_SERVICE_URL",
                      "value": "http://kratos-fastapi-service:8000"
                    },
                    {
                      "name": "REDIS_URL",
                      "value": "redis://kratos-redis:6379"
                    },
                    {
                      "name": "MONGODB_URI",
                      "valueFrom": {
                        "secretKeyRef": {
                          "key": "mongodb-uri",
                          "name": "kratos-secrets"
                        }
                      }
                    }
                  ],
                  "image": "kratos-ai/node-gateway:latest",
                  "name": "node-gateway",
                  "ports": [
                    {
                      "containerPort": 4000
                    }
                  ],
                  "resources": {
                    "limits": {
                      "cpu": "500m",
                      "memory": "512Mi"
                    },
                    "requests": {
                      "cpu": "250m",
                      "memory": "256Mi"
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "component": {
        "version": "v1",
        "kind": "Deployment",
        "schema": ""
      },
      "created_at": "0001-01-01T00:00:00Z",
      "updated_at": "0001-01-01T00:00:00Z"
    },
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "schemaVersion": "",
      "version": "",
      "displayName": "kratos-node-gateway-svc",
      "description": "",
      "format": "",
      "model": null,
      "modelReference": {
        "displayName": "",
        "id": "00000000-0000-0000-0000-000000000000",
        "model": {
          "version": ""
        },
        "name": "",
        "registrant": {
          "kind": ""
        },
        "version": ""
      },
      "styles": null,
      "capabilities": null,
      "status": null,
      "metadata": {
        "configurationUISchema": "",
        "genealogy": "",
        "instanceDetails": null,
        "isAnnotation": false,
        "isNamespaced": false,
        "published": false
      },
      "configuration": {
        "apiVersion": "v1",
        "kind": "Service",
        "metadata": {
          "labels": {
            "app": "kratos-ai",
            "tier": "gateway"
          },
          "name": "kratos-node-gateway"
        },
        "spec": {
          "ports": [
            {
              "port": 4000,
              "protocol": "TCP",
              "targetPort": 4000
            }
          ],
          "selector": {
            "app": "kratos-ai",
            "tier": "gateway"
          },
          "type": "ClusterIP"
        }
      },
      "component": {
        "version": "v1",
        "kind": "Service",
        "schema": ""
      },
      "created_at": "0001-01-01T00:00:00Z",
      "updated_at": "0001-01-01T00:00:00Z"
    },
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "schemaVersion": "",
      "version": "",
      "displayName": "kratos-fastapi-service",
      "description": "",
      "format": "",
      "model": null,
      "modelReference": {
        "displayName": "",
        "id": "00000000-0000-0000-0000-000000000000",
        "model": {
          "version": ""
        },
        "name": "",
        "registrant": {
          "kind": ""
        },
        "version": ""
      },
      "styles": null,
      "capabilities": null,
      "status": null,
      "metadata": {
        "configurationUISchema": "",
        "genealogy": "",
        "instanceDetails": null,
        "isAnnotation": false,
        "isNamespaced": false,
        "published": false
      },
      "configuration": {
        "apiVersion": "apps/v1",
        "kind": "Deployment",
        "metadata": {
          "labels": {
            "app": "kratos-ai",
            "tier": "ml-service"
          },
          "name": "kratos-fastapi-service"
        },
        "spec": {
          "replicas": 2,
          "selector": {
            "matchLabels": {
              "app": "kratos-ai",
              "tier": "ml-service"
            }
          },
          "template": {
            "metadata": {
              "labels": {
                "app": "kratos-ai",
                "tier": "ml-service"
              }
            },
            "spec": {
              "containers": [
                {
                  "env": [
                    {
                      "name": "REDIS_URL",
                      "value": "redis://kratos-redis:6379"
                    },
                    {
                      "name": "MODEL_PATH",
                      "value": "/models/lstm-gru-encoder.pt"
                    },
                    {
                      "name": "FINBERT_MODEL_PATH",
                      "value": "/models/finbert"
                    }
                  ],
                  "image": "kratos-ai/fastapi-service:latest",
                  "name": "fastapi-service",
                  "ports": [
                    {
                      "containerPort": 8000
                    }
                  ],
                  "resources": {
                    "limits": {
                      "cpu": "1",
                      "memory": "2Gi"
                    },
                    "requests": {
                      "cpu": "500m",
                      "memory": "1Gi"
                    }
                  },
                  "volumeMounts": [
                    {
                      "mountPath": "/models",
                      "name": "model-store"
                    }
                  ]
                }
              ],
              "volumes": [
                {
                  "name": "model-store",
                  "persistentVolumeClaim": {
                    "claimName": "kratos-model-pvc"
                  }
                }
              ]
            }
          }
        }
      },
      "component": {
        "version": "v1",
        "kind": "Deployment",
        "schema": ""
      },
      "created_at": "0001-01-01T00:00:00Z",
      "updated_at": "0001-01-01T00:00:00Z"
    },
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "schemaVersion": "",
      "version": "",
      "displayName": "kratos-fastapi-service-svc",
      "description": "",
      "format": "",
      "model": null,
      "modelReference": {
        "displayName": "",
        "id": "00000000-0000-0000-0000-000000000000",
        "model": {
          "version": ""
        },
        "name": "",
        "registrant": {
          "kind": ""
        },
        "version": ""
      },
      "styles": null,
      "capabilities": null,
      "status": null,
      "metadata": {
        "configurationUISchema": "",
        "genealogy": "",
        "instanceDetails": null,
        "isAnnotation": false,
        "isNamespaced": false,
        "published": false
      },
      "configuration": {
        "apiVersion": "v1",
        "kind": "Service",
        "metadata": {
          "labels": {
            "app": "kratos-ai",
            "tier": "ml-service"
          },
          "name": "kratos-fastapi-service"
        },
        "spec": {
          "ports": [
            {
              "port": 8000,
              "protocol": "TCP",
              "targetPort": 8000
            }
          ],
          "selector": {
            "app": "kratos-ai",
            "tier": "ml-service"
          },
          "type": "ClusterIP"
        }
      },
      "component": {
        "version": "v1",
        "kind": "Service",
        "schema": ""
      },
      "created_at": "0001-01-01T00:00:00Z",
      "updated_at": "0001-01-01T00:00:00Z"
    },
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "schemaVersion": "",
      "version": "",
      "displayName": "kratos-redis",
      "description": "",
      "format": "",
      "model": null,
      "modelReference": {
        "displayName": "",
        "id": "00000000-0000-0000-0000-000000000000",
        "model": {
          "version": ""
        },
        "name": "",
        "registrant": {
          "kind": ""
        },
        "version": ""
      },
      "styles": null,
      "capabilities": null,
      "status": null,
      "metadata": {
        "configurationUISchema": "",
        "genealogy": "",
        "instanceDetails": null,
        "isAnnotation": false,
        "isNamespaced": false,
        "published": false
      },
      "configuration": {
        "apiVersion": "apps/v1",
        "kind": "Deployment",
        "metadata": {
          "labels": {
            "app": "kratos-ai",
            "tier": "cache"
          },
          "name": "kratos-redis"
        },
        "spec": {
          "replicas": 1,
          "selector": {
            "matchLabels": {
              "app": "kratos-ai",
              "tier": "cache"
            }
          },
          "template": {
            "metadata": {
              "labels": {
                "app": "kratos-ai",
                "tier": "cache"
              }
            },
            "spec": {
              "containers": [
                {
                  "image": "redis:7-alpine",
                  "name": "redis",
                  "ports": [
                    {
                      "containerPort": 6379
                    }
                  ],
                  "resources": {
                    "limits": {
                      "cpu": "250m",
                      "memory": "256Mi"
                    },
                    "requests": {
                      "cpu": "100m",
                      "memory": "128Mi"
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "component": {
        "version": "v1",
        "kind": "Deployment",
        "schema": ""
      },
      "created_at": "0001-01-01T00:00:00Z",
      "updated_at": "0001-01-01T00:00:00Z"
    },
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "schemaVersion": "",
      "version": "",
      "displayName": "kratos-redis-svc",
      "description": "",
      "format": "",
      "model": null,
      "modelReference": {
        "displayName": "",
        "id": "00000000-0000-0000-0000-000000000000",
        "model": {
          "version": ""
        },
        "name": "",
        "registrant": {
          "kind": ""
        },
        "version": ""
      },
      "styles": null,
      "capabilities": null,
      "status": null,
      "metadata": {
        "configurationUISchema": "",
        "genealogy": "",
        "instanceDetails": null,
        "isAnnotation": false,
        "isNamespaced": false,
        "published": false
      },
      "configuration": {
        "apiVersion": "v1",
        "kind": "Service",
        "metadata": {
          "labels": {
            "app": "kratos-ai",
            "tier": "cache"
          },
          "name": "kratos-redis"
        },
        "spec": {
          "ports": [
            {
              "port": 6379,
              "protocol": "TCP",
              "targetPort": 6379
            }
          ],
          "selector": {
            "app": "kratos-ai",
            "tier": "cache"
          },
          "type": "ClusterIP"
        }
      },
      "component": {
        "version": "v1",
        "kind": "Service",
        "schema": ""
      },
      "created_at": "0001-01-01T00:00:00Z",
      "updated_at": "0001-01-01T00:00:00Z"
    },
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "schemaVersion": "",
      "version": "",
      "displayName": "kratos-model-pvc",
      "description": "",
      "format": "",
      "model": null,
      "modelReference": {
        "displayName": "",
        "id": "00000000-0000-0000-0000-000000000000",
        "model": {
          "version": ""
        },
        "name": "",
        "registrant": {
          "kind": ""
        },
        "version": ""
      },
      "styles": null,
      "capabilities": null,
      "status": null,
      "metadata": {
        "configurationUISchema": "",
        "genealogy": "",
        "instanceDetails": null,
        "isAnnotation": false,
        "isNamespaced": false,
        "published": false
      },
      "configuration": {
        "apiVersion": "v1",
        "kind": "PersistentVolumeClaim",
        "metadata": {
          "labels": {
            "app": "kratos-ai"
          },
          "name": "kratos-model-pvc"
        },
        "spec": {
          "accessModes": [
            "ReadWriteOnce"
          ],
          "resources": {
            "requests": {
              "storage": "5Gi"
            }
          }
        }
      },
      "component": {
        "version": "v1",
        "kind": "PersistentVolumeClaim",
        "schema": ""
      },
      "created_at": "0001-01-01T00:00:00Z",
      "updated_at": "0001-01-01T00:00:00Z"
    },
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "schemaVersion": "",
      "version": "",
      "displayName": "kratos-secrets",
      "description": "",
      "format": "",
      "model": null,
      "modelReference": {
        "displayName": "",
        "id": "00000000-0000-0000-0000-000000000000",
        "model": {
          "version": ""
        },
        "name": "",
        "registrant": {
          "kind": ""
        },
        "version": ""
      },
      "styles": null,
      "capabilities": null,
      "status": null,
      "metadata": {
        "configurationUISchema": "",
        "genealogy": "",
        "instanceDetails": null,
        "isAnnotation": false,
        "isNamespaced": false,
        "published": false
      },
      "configuration": {
        "apiVersion": "v1",
        "kind": "Secret",
        "metadata": {
          "labels": {
            "app": "kratos-ai"
          },
          "name": "kratos-secrets"
        },
        "stringData": {
          "mongodb-uri": "REPLACE_WITH_MONGODB_ATLAS_CONNECTION_STRING"
        },
        "type": "Opaque"
      },
      "component": {
        "version": "v1",
        "kind": "Secret",
        "schema": ""
      },
      "created_at": "0001-01-01T00:00:00Z",
      "updated_at": "0001-01-01T00:00:00Z"
    }
  ],
  "relationships": null
}