diff --git a/templates/components/azure.jsonnet b/templates/components/azure.jsonnet index feb63a6e..78f3a827 100644 --- a/templates/components/azure.jsonnet +++ b/templates/components/azure.jsonnet @@ -19,6 +19,18 @@ local url = import "url.jsonnet"; "-t", "0.0", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "text-completion-rag": base + { @@ -40,6 +52,18 @@ local url = import "url.jsonnet"; "-o", "non-persistent://tg/response/text-completion-rag-response", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, }, diff --git a/templates/components/bedrock.jsonnet b/templates/components/bedrock.jsonnet index 34bfcae1..37432a73 100644 --- a/templates/components/bedrock.jsonnet +++ b/templates/components/bedrock.jsonnet @@ -15,6 +15,18 @@ local url = import "url.jsonnet"; "--chunk-overlap", "100", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "text-completion": base + { @@ -36,6 +48,18 @@ local url = import "url.jsonnet"; "-m", "mistral.mixtral-8x7b-instruct-v0:1", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "text-completion-rag": base + { @@ -63,6 +87,18 @@ local url = import "url.jsonnet"; "-o", "non-persistent://tg/response/text-completion-rag-response", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, }, diff --git a/templates/components/cassandra.jsonnet b/templates/components/cassandra.jsonnet index d1a7defc..c99af011 100644 --- a/templates/components/cassandra.jsonnet +++ b/templates/components/cassandra.jsonnet @@ -17,6 +17,18 @@ cassandra + { "-g", cassandra_hosts, ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "query-triples": base + { @@ -28,6 +40,18 @@ cassandra + { "-g", cassandra_hosts, ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '512M' + }, + reservations: { + cpus: '0.1', + memory: '512M' + } + } + }, }, }, diff --git a/templates/components/claude.jsonnet b/templates/components/claude.jsonnet index 679d4594..db673876 100644 --- a/templates/components/claude.jsonnet +++ b/templates/components/claude.jsonnet @@ -17,6 +17,18 @@ local url = import "url.jsonnet"; "-t", "0.0", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "text-completion-rag": base + { @@ -36,6 +48,18 @@ local url = import "url.jsonnet"; "-o", "non-persistent://tg/response/text-completion-rag-response", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, }, diff --git a/templates/components/cohere.jsonnet b/templates/components/cohere.jsonnet index 69d38c15..8e76e524 100644 --- a/templates/components/cohere.jsonnet +++ b/templates/components/cohere.jsonnet @@ -15,6 +15,18 @@ local url = import "url.jsonnet"; "--chunk-overlap", "10", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "text-completion": base + { @@ -28,6 +40,18 @@ local url = import "url.jsonnet"; "-t", "0.0", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "text-completion-rag": base + { @@ -45,6 +69,18 @@ local url = import "url.jsonnet"; "-o", "non-persistent://tg/response/text-completion-rag-response", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, }, diff --git a/templates/components/grafana.jsonnet b/templates/components/grafana.jsonnet index f29525a9..2b0bd0fb 100644 --- a/templates/components/grafana.jsonnet +++ b/templates/components/grafana.jsonnet @@ -15,6 +15,18 @@ local images = import "images.jsonnet"; "./prometheus:/etc/prometheus", "prometheus-data:/prometheus", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, grafana: base + { image: images.grafana, @@ -34,6 +46,18 @@ local images = import "images.jsonnet"; GF_ORG_NAME: "trustgraph.ai", // GF_SERVER_ROOT_URL: "https://example.com", }, + deploy: { + resources: { + limits: { + cpus: '1.0', + memory: '256M' + }, + reservations: { + cpus: '0.5', + memory: '256M' + } + } + }, }, }, } diff --git a/templates/components/milvus.jsonnet b/templates/components/milvus.jsonnet index 141c708e..0f09399d 100644 --- a/templates/components/milvus.jsonnet +++ b/templates/components/milvus.jsonnet @@ -16,6 +16,18 @@ milvus + { "-t", url.milvus, ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "query-graph-embeddings": base + { @@ -27,6 +39,18 @@ milvus + { "-t", url.milvus, ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, } diff --git a/templates/components/neo4j.jsonnet b/templates/components/neo4j.jsonnet index ea635f9a..15f56de3 100644 --- a/templates/components/neo4j.jsonnet +++ b/templates/components/neo4j.jsonnet @@ -16,6 +16,18 @@ neo4j + { "-g", "bolt://neo4j:7687", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "store-triples": base + { @@ -27,6 +39,18 @@ neo4j + { "-g", "bolt://neo4j:7687", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, } }, diff --git a/templates/components/ollama.jsonnet b/templates/components/ollama.jsonnet index 47fd27db..251a5a20 100644 --- a/templates/components/ollama.jsonnet +++ b/templates/components/ollama.jsonnet @@ -15,6 +15,18 @@ local url = import "url.jsonnet"; "-r", "${OLLAMA_HOST}", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "text-completion-rag": base + { @@ -32,6 +44,18 @@ local url = import "url.jsonnet"; "-o", "non-persistent://tg/response/text-completion-rag-response", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, }, diff --git a/templates/components/openai.jsonnet b/templates/components/openai.jsonnet index a8039400..96fc1720 100644 --- a/templates/components/openai.jsonnet +++ b/templates/components/openai.jsonnet @@ -17,6 +17,18 @@ local url = import "url.jsonnet"; "-t", "0.0", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "text-completion-rag": base + { @@ -36,6 +48,18 @@ local url = import "url.jsonnet"; "-o", "non-persistent://tg/response/text-completion-rag-response", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, }, diff --git a/templates/components/pulsar.jsonnet b/templates/components/pulsar.jsonnet index c1943d56..9980ead1 100644 --- a/templates/components/pulsar.jsonnet +++ b/templates/components/pulsar.jsonnet @@ -13,10 +13,25 @@ local images = import "images.jsonnet"; "6650:6650", "8080:8080", ], + environment: { + "PULSAR_MEM": "-Xms300M -Xmx300M" + }, volumes: [ "pulsar-conf:/pulsar/conf", "pulsar-data:/pulsar/data", - ] + ], + deploy: { + resources: { + limits: { + cpus: '1.0', + memory: '900M' + }, + reservations: { + cpus: '0.5', + memory: '900M' + } + } + }, }, "init-pulsar": base + { image: images.pulsar, @@ -30,6 +45,18 @@ local images = import "images.jsonnet"; condition: "service_started", } }, + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "pulsar-manager": base + { image: images.pulsar_manager, @@ -39,7 +66,19 @@ local images = import "images.jsonnet"; ], environment: { SPRING_CONFIGURATION_FILE: "/pulsar-manager/pulsar-manager/application.properties", - }, + }, + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, } } diff --git a/templates/components/stores/cassandra.jsonnet b/templates/components/stores/cassandra.jsonnet index 4bd1205b..fb4a7414 100644 --- a/templates/components/stores/cassandra.jsonnet +++ b/templates/components/stores/cassandra.jsonnet @@ -11,9 +11,24 @@ local images = import "../images.jsonnet"; ports: [ "9042:9042" ], + environment: { + JVM_OPTS: "-Xms256M -Xmx256M", + }, volumes: [ "cassandra:/var/lib/cassandra" ], + deploy: { + resources: { + limits: { + cpus: '1.0', + memory: '512M' + }, + reservations: { + cpus: '0.5', + memory: '512M' + } + } + }, }, }, diff --git a/templates/components/stores/milvus.jsonnet b/templates/components/stores/milvus.jsonnet index b53f967d..03eb571c 100644 --- a/templates/components/stores/milvus.jsonnet +++ b/templates/components/stores/milvus.jsonnet @@ -33,7 +33,17 @@ local images = import "../images.jsonnet"; volumes: [ "etcd:/etcd" ], - }, + resources: { + limits: { + cpus: '0.25', + memory: '128M' + }, + reservations: { + cpus: '0.25', + memory: '128M' + } + }, + }, minio: base + { image: images.minio, @@ -54,6 +64,18 @@ local images = import "../images.jsonnet"; volumes: [ "minio-data:/minio_data", ], + deploy: { + resources: { + limits: { + cpus: '0.25', + memory: '128M' + }, + reservations: { + cpus: '0.25', + memory: '128M' + } + } + }, }, milvus: base + { @@ -72,6 +94,18 @@ local images = import "../images.jsonnet"; volumes: [ "milvus:/var/lib/milvus" ], + deploy: { + resources: { + limits: { + cpus: '1.0', + memory: '256M' + }, + reservations: { + cpus: '0.5', + memory: '256M' + } + } + }, }, }, diff --git a/templates/components/stores/neo4j.jsonnet b/templates/components/stores/neo4j.jsonnet index 6c37ecca..2d887a10 100644 --- a/templates/components/stores/neo4j.jsonnet +++ b/templates/components/stores/neo4j.jsonnet @@ -23,6 +23,18 @@ local images = import "../images.jsonnet"; volumes: [ "neo4j:/data" ], + deploy: { + resources: { + limits: { + cpus: '1.0', + memory: '256M' + }, + reservations: { + cpus: '0.5', + memory: '256M' + } + } + }, }, }, diff --git a/templates/components/trustgraph.jsonnet b/templates/components/trustgraph.jsonnet index 459e284a..7eec757c 100644 --- a/templates/components/trustgraph.jsonnet +++ b/templates/components/trustgraph.jsonnet @@ -15,6 +15,18 @@ local url = import "url.jsonnet"; "-p", url.pulsar, ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, chunker: base + { @@ -28,6 +40,18 @@ local url = import "url.jsonnet"; "--chunk-overlap", "15", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, vectorize: base + { @@ -37,6 +61,18 @@ local url = import "url.jsonnet"; "-p", url.pulsar, ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, embeddings: base + { @@ -48,6 +84,18 @@ local url = import "url.jsonnet"; "-m", "all-MiniLM-L6-v2", ], + deploy: { + resources: { + limits: { + cpus: '1.0', + memory: '256M' + }, + reservations: { + cpus: '0.5', + memory: '256M' + } + } + }, }, "kg-extract-definitions": base + { @@ -57,6 +105,18 @@ local url = import "url.jsonnet"; "-p", url.pulsar, ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "kg-extract-relationships": base + { @@ -66,6 +126,18 @@ local url = import "url.jsonnet"; "-p", url.pulsar, ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "graph-rag": base + { @@ -85,6 +157,18 @@ local url = import "url.jsonnet"; "--max-subgraph-size", "3000", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "prompt": base + { @@ -98,6 +182,18 @@ local url = import "url.jsonnet"; "--text-completion-response-queue", "non-persistent://tg/response/text-completion-response", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "prompt-rag": base + { @@ -115,6 +211,18 @@ local url = import "url.jsonnet"; "--text-completion-response-queue", "non-persistent://tg/response/text-completion-rag-response", ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, }, diff --git a/templates/components/vertexai.jsonnet b/templates/components/vertexai.jsonnet index 00ca5a51..fb76d931 100644 --- a/templates/components/vertexai.jsonnet +++ b/templates/components/vertexai.jsonnet @@ -22,6 +22,18 @@ local url = import "url.jsonnet"; volumes: [ "./vertexai:/vertexai" ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, "text-completion-rag": base + { @@ -46,6 +58,18 @@ local url = import "url.jsonnet"; volumes: [ "./vertexai:/vertexai" ], + deploy: { + resources: { + limits: { + cpus: '0.1', + memory: '128M' + }, + reservations: { + cpus: '0.1', + memory: '128M' + } + } + }, }, },