apiVersion: v1 kind: Namespace metadata: name: graphrag --- apiVersion: apps/v1 kind: Deployment metadata: name: graphrag namespace: graphrag spec: replicas: 1 selector: matchLabels: app: graphrag template: metadata: labels: app: graphrag spec: containers: - name: graphrag image: tigergraph/graphrag:latest imagePullPolicy: IfNotPresent ports: - containerPort: 8000 env: - name: SERVER_CONFIG value: "/code/configs/server_config.json" - name: LOGLEVEL value: "INFO" - name: USE_CYPHER value: "true" volumeMounts: - name: configs mountPath: /code/configs volumes: - name: configs hostPath: path: /path/to/graphrag/configs # <-- path on the node type: DirectoryOrCreate --- apiVersion: v1 kind: Service metadata: name: graphrag namespace: graphrag spec: selector: app: graphrag ports: - port: 8000 targetPort: 8000 --- apiVersion: apps/v1 kind: Deployment metadata: name: graphrag-ecc namespace: graphrag spec: replicas: 1 selector: matchLabels: app: graphrag-ecc template: metadata: labels: app: graphrag-ecc spec: containers: - name: graphrag-ecc image: tigergraph/graphrag-ecc:latest imagePullPolicy: IfNotPresent ports: - containerPort: 8001 env: - name: SERVER_CONFIG value: "/code/configs/server_config.json" - name: LOGLEVEL value: "INFO" - name: INIT_EMBED_STORE value: "false" volumeMounts: - name: configs mountPath: /code/configs volumes: - name: configs hostPath: path: /path/to/graphrag/configs type: DirectoryOrCreate --- apiVersion: v1 kind: Service metadata: name: graphrag-ecc namespace: graphrag spec: selector: app: graphrag-ecc ports: - port: 8001 targetPort: 8001 --- apiVersion: apps/v1 kind: Deployment metadata: name: chat-history namespace: graphrag spec: replicas: 1 selector: matchLabels: app: chat-history template: metadata: labels: app: chat-history spec: containers: - name: chat-history image: tigergraph/chat-history:latest imagePullPolicy: IfNotPresent ports: - containerPort: 8002 env: - name: CONFIG_FILES value: "/configs/server_config.json" - name: LOGLEVEL value: "INFO" volumeMounts: - name: configs mountPath: /configs volumes: - name: configs hostPath: path: /path/to/graphrag/configs type: DirectoryOrCreate --- apiVersion: v1 kind: Service metadata: name: chat-history namespace: graphrag spec: selector: app: chat-history ports: - port: 8002 targetPort: 8002 --- apiVersion: apps/v1 kind: Deployment metadata: name: graphrag-ui namespace: graphrag spec: replicas: 1 selector: matchLabels: app: graphrag-ui template: metadata: labels: app: graphrag-ui spec: containers: - name: graphrag-ui image: tigergraph/graphrag-ui:latest imagePullPolicy: IfNotPresent ports: - containerPort: 3000 --- apiVersion: v1 kind: Service metadata: name: graphrag-ui namespace: graphrag spec: selector: app: graphrag-ui ports: - port: 3000 targetPort: 3000 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: graphrag-ingress namespace: graphrag annotations: nginx.ingress.kubernetes.io/use-regex: "true" nginx.ingress.kubernetes.io/proxy-read-timeout: "86400" nginx.ingress.kubernetes.io/proxy-http-version: "1.1" nginx.ingress.kubernetes.io/proxy-set-headers: "Upgrade=$http_upgrade,Connection=Upgrade" spec: ingressClassName: nginx rules: - http: paths: # /chat-, /chat, /chat-dialog - path: /chat- pathType: Prefix backend: service: name: graphrag-ui port: number: 3000 - path: /chat pathType: Prefix backend: service: name: graphrag-ui port: number: 3000 # Regex path: /.+/graphrag/.+ - path: /.+/graphrag/.+ pathType: ImplementationSpecific backend: service: name: graphrag port: number: 8000 # Regex path: /.+/supportai/.+ - path: /.+/supportai/.+ pathType: ImplementationSpecific backend: service: name: graphrag port: number: 8000 # Regex path: /ui/.*/chat - path: /ui/.*/chat pathType: ImplementationSpecific backend: service: name: graphrag port: number: 8000 # /ui/ fallback - path: /ui/ pathType: Prefix backend: service: name: graphrag port: number: 8000 # Root path - path: / pathType: Prefix backend: service: name: graphrag-ui port: number: 3000