snow-flow 1.1.76 → 1.1.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/.claude-flow/queen/queen-memory.db +0 -0
  2. package/CLAUDE.md +34 -5
  3. package/README.md +256 -384
  4. package/dist/agents/base-agent.d.ts +92 -0
  5. package/dist/agents/base-agent.d.ts.map +1 -0
  6. package/dist/agents/base-agent.js +228 -0
  7. package/dist/agents/base-agent.js.map +1 -0
  8. package/dist/agents/coordinator.d.ts +200 -0
  9. package/dist/agents/coordinator.d.ts.map +1 -0
  10. package/dist/agents/coordinator.js +775 -0
  11. package/dist/agents/coordinator.js.map +1 -0
  12. package/dist/agents/flow-builder-agent.d.ts +18 -0
  13. package/dist/agents/flow-builder-agent.d.ts.map +1 -0
  14. package/dist/agents/flow-builder-agent.js +536 -0
  15. package/dist/agents/flow-builder-agent.js.map +1 -0
  16. package/dist/agents/index.d.ts +18 -0
  17. package/dist/agents/index.d.ts.map +1 -0
  18. package/dist/agents/index.js +61 -0
  19. package/dist/agents/index.js.map +1 -0
  20. package/dist/agents/queen-agent-example.d.ts +23 -0
  21. package/dist/agents/queen-agent-example.d.ts.map +1 -0
  22. package/dist/agents/queen-agent-example.js +241 -0
  23. package/dist/agents/queen-agent-example.js.map +1 -0
  24. package/dist/agents/queen-agent.d.ts +180 -0
  25. package/dist/agents/queen-agent.d.ts.map +1 -0
  26. package/dist/agents/queen-agent.js +909 -0
  27. package/dist/agents/queen-agent.js.map +1 -0
  28. package/dist/agents/queen-agent.test.d.ts +6 -0
  29. package/dist/agents/queen-agent.test.d.ts.map +1 -0
  30. package/dist/agents/queen-agent.test.js.map +1 -0
  31. package/dist/agents/script-writer-agent.d.ts +22 -0
  32. package/dist/agents/script-writer-agent.d.ts.map +1 -0
  33. package/dist/agents/script-writer-agent.js +695 -0
  34. package/dist/agents/script-writer-agent.js.map +1 -0
  35. package/dist/agents/security-agent.d.ts +23 -0
  36. package/dist/agents/security-agent.d.ts.map +1 -0
  37. package/dist/agents/security-agent.js +619 -0
  38. package/dist/agents/security-agent.js.map +1 -0
  39. package/dist/agents/test-agent.d.ts +26 -0
  40. package/dist/agents/test-agent.d.ts.map +1 -0
  41. package/dist/agents/test-agent.js +735 -0
  42. package/dist/agents/test-agent.js.map +1 -0
  43. package/dist/agents/test-agents.d.ts +7 -0
  44. package/dist/agents/test-agents.d.ts.map +1 -0
  45. package/dist/agents/test-agents.js +65 -0
  46. package/dist/agents/test-agents.js.map +1 -0
  47. package/dist/agents/widget-creator-agent.d.ts +18 -0
  48. package/dist/agents/widget-creator-agent.d.ts.map +1 -0
  49. package/dist/agents/widget-creator-agent.js +440 -0
  50. package/dist/agents/widget-creator-agent.js.map +1 -0
  51. package/dist/cli/snow-flow-cli-integration.d.ts +30 -0
  52. package/dist/cli/snow-flow-cli-integration.d.ts.map +1 -0
  53. package/dist/cli/snow-flow-cli-integration.js +385 -0
  54. package/dist/cli/snow-flow-cli-integration.js.map +1 -0
  55. package/dist/cli.js +466 -150
  56. package/dist/cli.js.map +1 -1
  57. package/dist/config/snow-flow-config.d.ts +1454 -0
  58. package/dist/config/snow-flow-config.d.ts.map +1 -0
  59. package/dist/config/snow-flow-config.js +403 -0
  60. package/dist/config/snow-flow-config.js.map +1 -0
  61. package/dist/health/system-health.d.ts +123 -0
  62. package/dist/health/system-health.d.ts.map +1 -0
  63. package/dist/health/system-health.js +580 -0
  64. package/dist/health/system-health.js.map +1 -0
  65. package/dist/index.d.ts +12 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +19 -3
  68. package/dist/index.js.map +1 -1
  69. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts +58 -0
  70. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts.map +1 -0
  71. package/dist/mcp/servicenow-deployment-mcp-refactored.js +651 -0
  72. package/dist/mcp/servicenow-deployment-mcp-refactored.js.map +1 -0
  73. package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts +43 -0
  74. package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts.map +1 -0
  75. package/dist/mcp/servicenow-intelligent-mcp-refactored.js +576 -0
  76. package/dist/mcp/servicenow-intelligent-mcp-refactored.js.map +1 -0
  77. package/dist/mcp/servicenow-intelligent-mcp.d.ts +102 -1
  78. package/dist/mcp/servicenow-intelligent-mcp.d.ts.map +1 -1
  79. package/dist/mcp/servicenow-intelligent-mcp.js +2 -0
  80. package/dist/mcp/servicenow-intelligent-mcp.js.map +1 -1
  81. package/dist/mcp/shared/agent-context-provider.d.ts +77 -0
  82. package/dist/mcp/shared/agent-context-provider.d.ts.map +1 -0
  83. package/dist/mcp/shared/agent-context-provider.js +292 -0
  84. package/dist/mcp/shared/agent-context-provider.js.map +1 -0
  85. package/dist/mcp/shared/base-mcp-server.d.ts +97 -0
  86. package/dist/mcp/shared/base-mcp-server.d.ts.map +1 -0
  87. package/dist/mcp/shared/base-mcp-server.js +216 -0
  88. package/dist/mcp/shared/base-mcp-server.js.map +1 -0
  89. package/dist/mcp/shared/mcp-memory-manager.d.ts +87 -0
  90. package/dist/mcp/shared/mcp-memory-manager.d.ts.map +1 -0
  91. package/dist/mcp/shared/mcp-memory-manager.js +423 -0
  92. package/dist/mcp/shared/mcp-memory-manager.js.map +1 -0
  93. package/dist/memory/index.d.ts +9 -0
  94. package/dist/memory/index.d.ts.map +1 -0
  95. package/dist/memory/index.js +20 -0
  96. package/dist/memory/index.js.map +1 -0
  97. package/dist/memory/mcp-integration-example.d.ts +6 -0
  98. package/dist/memory/mcp-integration-example.d.ts.map +1 -0
  99. package/dist/memory/mcp-integration-example.js +282 -0
  100. package/dist/memory/mcp-integration-example.js.map +1 -0
  101. package/dist/memory/memory-client.d.ts +184 -0
  102. package/dist/memory/memory-client.d.ts.map +1 -0
  103. package/dist/memory/memory-client.js +325 -0
  104. package/dist/memory/memory-client.js.map +1 -0
  105. package/dist/memory/memory-operations.d.ts +170 -0
  106. package/dist/memory/memory-operations.d.ts.map +1 -0
  107. package/dist/memory/memory-operations.js +639 -0
  108. package/dist/memory/memory-operations.js.map +1 -0
  109. package/dist/memory/memory-system.d.ts +118 -0
  110. package/dist/memory/memory-system.d.ts.map +1 -0
  111. package/dist/memory/memory-system.js +477 -0
  112. package/dist/memory/memory-system.js.map +1 -0
  113. package/dist/memory/memory-test.d.ts +6 -0
  114. package/dist/memory/memory-test.d.ts.map +1 -0
  115. package/dist/memory/memory-test.js +162 -0
  116. package/dist/memory/memory-test.js.map +1 -0
  117. package/dist/memory/swarm-memory.d.ts +135 -0
  118. package/dist/memory/swarm-memory.d.ts.map +1 -0
  119. package/dist/memory/swarm-memory.js +378 -0
  120. package/dist/memory/swarm-memory.js.map +1 -0
  121. package/dist/monitoring/performance-tracker.d.ts +157 -0
  122. package/dist/monitoring/performance-tracker.d.ts.map +1 -0
  123. package/dist/monitoring/performance-tracker.js +571 -0
  124. package/dist/monitoring/performance-tracker.js.map +1 -0
  125. package/dist/queen/agent-factory.d.ts +3 -0
  126. package/dist/queen/agent-factory.d.ts.map +1 -1
  127. package/dist/queen/agent-factory.js +52 -0
  128. package/dist/queen/agent-factory.js.map +1 -1
  129. package/dist/queen/queen-memory.d.ts +8 -2
  130. package/dist/queen/queen-memory.d.ts.map +1 -1
  131. package/dist/queen/queen-memory.js +46 -4
  132. package/dist/queen/queen-memory.js.map +1 -1
  133. package/dist/snow-flow-system.d.ts +132 -0
  134. package/dist/snow-flow-system.d.ts.map +1 -0
  135. package/dist/snow-flow-system.js +396 -0
  136. package/dist/snow-flow-system.js.map +1 -0
  137. package/dist/types/todo.types.d.ts +61 -0
  138. package/dist/types/todo.types.d.ts.map +1 -0
  139. package/dist/types/todo.types.js +7 -0
  140. package/dist/types/todo.types.js.map +1 -0
  141. package/dist/utils/error-recovery.d.ts +101 -0
  142. package/dist/utils/error-recovery.d.ts.map +1 -0
  143. package/dist/utils/error-recovery.js +548 -0
  144. package/dist/utils/error-recovery.js.map +1 -0
  145. package/dist/version.d.ts +1 -1
  146. package/dist/version.js +1 -1
  147. package/package.json +7 -2
  148. package/deploy.sh +0 -366
  149. package/docker/base/Dockerfile.base +0 -45
  150. package/docker/generate-services.js +0 -244
  151. package/docker/nginx/Dockerfile +0 -71
  152. package/docker/nginx/consul-template.hcl +0 -64
  153. package/docker/nginx/healthcheck.sh +0 -178
  154. package/docker/nginx/nginx.conf +0 -210
  155. package/docker/nginx/supervisord.conf +0 -57
  156. package/docker/nginx/templates/upstreams.conf.tpl +0 -48
  157. package/docker/services/automation-mcp/Dockerfile +0 -32
  158. package/docker/services/automation-mcp/config/service.json +0 -28
  159. package/docker/services/automation-mcp/entrypoint.js +0 -51
  160. package/docker/services/deployment-mcp/Dockerfile +0 -32
  161. package/docker/services/deployment-mcp/entrypoint.js +0 -51
  162. package/docker/services/flow-composer-mcp/Dockerfile +0 -32
  163. package/docker/services/flow-composer-mcp/config/service.json +0 -28
  164. package/docker/services/flow-composer-mcp/entrypoint.js +0 -51
  165. package/docker/services/graph-memory-mcp/Dockerfile +0 -32
  166. package/docker/services/graph-memory-mcp/config/service.json +0 -28
  167. package/docker/services/graph-memory-mcp/entrypoint.js +0 -51
  168. package/docker/services/integration-mcp/Dockerfile +0 -32
  169. package/docker/services/integration-mcp/config/service.json +0 -28
  170. package/docker/services/integration-mcp/entrypoint.js +0 -51
  171. package/docker/services/intelligent-mcp/Dockerfile +0 -32
  172. package/docker/services/intelligent-mcp/config/service.json +0 -28
  173. package/docker/services/intelligent-mcp/entrypoint.js +0 -51
  174. package/docker/services/operations-mcp/Dockerfile +0 -32
  175. package/docker/services/operations-mcp/config/service.json +0 -28
  176. package/docker/services/operations-mcp/entrypoint.js +0 -51
  177. package/docker/services/platform-development-mcp/Dockerfile +0 -32
  178. package/docker/services/platform-development-mcp/config/service.json +0 -28
  179. package/docker/services/platform-development-mcp/entrypoint.js +0 -51
  180. package/docker/services/reporting-analytics-mcp/Dockerfile +0 -32
  181. package/docker/services/reporting-analytics-mcp/config/service.json +0 -28
  182. package/docker/services/reporting-analytics-mcp/entrypoint.js +0 -51
  183. package/docker/services/security-compliance-mcp/Dockerfile +0 -32
  184. package/docker/services/security-compliance-mcp/config/service.json +0 -28
  185. package/docker/services/security-compliance-mcp/entrypoint.js +0 -51
  186. package/docker/services/update-set-mcp/Dockerfile +0 -32
  187. package/docker/services/update-set-mcp/config/service.json +0 -28
  188. package/docker/services/update-set-mcp/entrypoint.js +0 -51
  189. package/docker-compose.override.yml +0 -132
  190. package/docker-compose.prod.yml +0 -340
  191. package/docker-compose.yml +0 -579
  192. package/k8s/automation-mcp.yaml +0 -232
  193. package/k8s/configmap.yaml +0 -237
  194. package/k8s/deployment-mcp.yaml +0 -232
  195. package/k8s/flow-composer-mcp.yaml +0 -232
  196. package/k8s/generate-k8s-manifests.js +0 -453
  197. package/k8s/graph-memory-mcp.yaml +0 -232
  198. package/k8s/infrastructure.yaml +0 -456
  199. package/k8s/ingress.yaml +0 -361
  200. package/k8s/integration-mcp.yaml +0 -232
  201. package/k8s/intelligent-mcp.yaml +0 -232
  202. package/k8s/kustomization.yaml +0 -111
  203. package/k8s/mcp-services.yaml +0 -2552
  204. package/k8s/monitoring.yaml +0 -515
  205. package/k8s/namespace.yaml +0 -80
  206. package/k8s/operations-mcp.yaml +0 -232
  207. package/k8s/platform-development-mcp.yaml +0 -232
  208. package/k8s/rbac.yaml +0 -140
  209. package/k8s/reporting-analytics-mcp.yaml +0 -232
  210. package/k8s/security-compliance-mcp.yaml +0 -232
  211. package/k8s/update-set-mcp.yaml +0 -232
  212. package/test-clean-install/.claude/config.json +0 -12
  213. package/test-clean-install/.env.example +0 -49
  214. package/test-clean-install/CLAUDE.md +0 -26
  215. package/test-clean-install/README.md +0 -23
  216. package/test-global-install/.claude/config.json +0 -12
  217. package/test-global-install/CLAUDE.md +0 -26
  218. package/test-global-install/README.md +0 -23
  219. package/test-global-install/test-global-install/.claude/config.json +0 -12
  220. package/test-global-install/test-global-install/CLAUDE.md +0 -26
  221. package/test-global-install/test-global-install/README.md +0 -23
  222. package/test-global-install/test-global-install/test-global-install/.claude/config.json +0 -12
  223. package/test-global-install/test-global-install/test-global-install/.env.example +0 -49
  224. package/test-global-install/test-global-install/test-global-install/CLAUDE.md +0 -26
  225. package/test-global-install/test-global-install/test-global-install/README.md +0 -23
  226. package/test-init-debug/.claude/config.json +0 -12
  227. package/test-init-debug/CLAUDE.md +0 -693
  228. package/test-init-debug/README.md +0 -392
  229. package/test-init-real/.claude/config.json +0 -12
  230. package/test-init-real/.claude/mcp-config.json +0 -128
  231. package/test-init-real/.claude/settings.json +0 -37
  232. package/test-init-real/CLAUDE.md +0 -693
  233. package/test-init-real/README.md +0 -392
  234. package/test-init-real/activate-mcp.sh +0 -15
@@ -1,232 +0,0 @@
1
- # ServiceNow Graph Memory MCP Deployment
2
- apiVersion: apps/v1
3
- kind: Deployment
4
- metadata:
5
- name: graph-memory-mcp
6
- namespace: servicenow-mcp
7
- labels:
8
- app.kubernetes.io/name: graph-memory-mcp
9
- app.kubernetes.io/instance: graph-memory-mcp
10
- app.kubernetes.io/version: "1.0.0"
11
- app.kubernetes.io/component: mcp-service
12
- app.kubernetes.io/part-of: servicenow-mcp
13
- app.kubernetes.io/managed-by: kubectl
14
- spec:
15
- replicas: 2
16
- strategy:
17
- type: RollingUpdate
18
- rollingUpdate:
19
- maxSurge: 1
20
- maxUnavailable: 0
21
- selector:
22
- matchLabels:
23
- app.kubernetes.io/name: graph-memory-mcp
24
- app.kubernetes.io/instance: graph-memory-mcp
25
- template:
26
- metadata:
27
- labels:
28
- app.kubernetes.io/name: graph-memory-mcp
29
- app.kubernetes.io/instance: graph-memory-mcp
30
- app.kubernetes.io/version: "1.0.0"
31
- app.kubernetes.io/component: mcp-service
32
- annotations:
33
- prometheus.io/scrape: "true"
34
- prometheus.io/port: "3005"
35
- prometheus.io/path: "/metrics"
36
- spec:
37
- serviceAccountName: mcp-service-account
38
- securityContext:
39
- runAsNonRoot: true
40
- runAsUser: 1001
41
- runAsGroup: 1001
42
- fsGroup: 1001
43
- containers:
44
- - name: graph-memory-mcp
45
- image: servicenow-mcp/graph-memory-mcp:latest
46
- imagePullPolicy: IfNotPresent
47
- ports:
48
- - name: http
49
- containerPort: 3005
50
- protocol: TCP
51
- env:
52
- - name: SERVICE_NAME
53
- value: "graph-memory-mcp"
54
- - name: SERVER_PORT
55
- value: "3005"
56
- - name: SERVICE_IP
57
- valueFrom:
58
- fieldRef:
59
- fieldPath: status.podIP
60
- - name: HOSTNAME
61
- valueFrom:
62
- fieldRef:
63
- fieldPath: metadata.name
64
- envFrom:
65
- - configMapRef:
66
- name: mcp-config
67
- - secretRef:
68
- name: servicenow-credentials
69
- - secretRef:
70
- name: neo4j-credentials
71
- livenessProbe:
72
- httpGet:
73
- path: /health
74
- port: http
75
- initialDelaySeconds: 30
76
- periodSeconds: 30
77
- timeoutSeconds: 10
78
- failureThreshold: 3
79
- successThreshold: 1
80
- readinessProbe:
81
- httpGet:
82
- path: /ready
83
- port: http
84
- initialDelaySeconds: 15
85
- periodSeconds: 10
86
- timeoutSeconds: 5
87
- failureThreshold: 3
88
- successThreshold: 1
89
- resources:
90
- requests:
91
- memory: "512Mi"
92
- cpu: "500m"
93
- limits:
94
- memory: "1Gi"
95
- cpu: "1000m"
96
- securityContext:
97
- allowPrivilegeEscalation: false
98
- readOnlyRootFilesystem: true
99
- capabilities:
100
- drop:
101
- - ALL
102
- volumeMounts:
103
- - name: tmp
104
- mountPath: /tmp
105
- - name: logs
106
- mountPath: /app/logs
107
- volumes:
108
- - name: tmp
109
- emptyDir: {}
110
- - name: logs
111
- emptyDir: {}
112
- affinity:
113
- podAntiAffinity:
114
- preferredDuringSchedulingIgnoredDuringExecution:
115
- - weight: 100
116
- podAffinityTerm:
117
- labelSelector:
118
- matchExpressions:
119
- - key: app.kubernetes.io/name
120
- operator: In
121
- values:
122
- - graph-memory-mcp
123
- topologyKey: kubernetes.io/hostname
124
- terminationGracePeriodSeconds: 30
125
- ---
126
- # ServiceNow Graph Memory MCP Service
127
- apiVersion: v1
128
- kind: Service
129
- metadata:
130
- name: graph-memory-mcp
131
- namespace: servicenow-mcp
132
- labels:
133
- app.kubernetes.io/name: graph-memory-mcp
134
- app.kubernetes.io/instance: graph-memory-mcp
135
- app.kubernetes.io/version: "1.0.0"
136
- app.kubernetes.io/component: mcp-service
137
- app.kubernetes.io/part-of: servicenow-mcp
138
- annotations:
139
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
140
- spec:
141
- type: ClusterIP
142
- ports:
143
- - port: 3005
144
- targetPort: http
145
- protocol: TCP
146
- name: http
147
- selector:
148
- app.kubernetes.io/name: graph-memory-mcp
149
- app.kubernetes.io/instance: graph-memory-mcp
150
- ---
151
- # ServiceNow Graph Memory MCP Horizontal Pod Autoscaler
152
- apiVersion: autoscaling/v2
153
- kind: HorizontalPodAutoscaler
154
- metadata:
155
- name: graph-memory-mcp-hpa
156
- namespace: servicenow-mcp
157
- labels:
158
- app.kubernetes.io/name: graph-memory-mcp
159
- app.kubernetes.io/instance: graph-memory-mcp
160
- app.kubernetes.io/component: autoscaler
161
- spec:
162
- scaleTargetRef:
163
- apiVersion: apps/v1
164
- kind: Deployment
165
- name: graph-memory-mcp
166
- minReplicas: 2
167
- maxReplicas: 6
168
- metrics:
169
- - type: Resource
170
- resource:
171
- name: cpu
172
- target:
173
- type: Utilization
174
- averageUtilization: 70
175
- - type: Resource
176
- resource:
177
- name: memory
178
- target:
179
- type: Utilization
180
- averageUtilization: 80
181
- behavior:
182
- scaleUp:
183
- stabilizationWindowSeconds: 60
184
- policies:
185
- - type: Percent
186
- value: 50
187
- periodSeconds: 60
188
- scaleDown:
189
- stabilizationWindowSeconds: 300
190
- policies:
191
- - type: Percent
192
- value: 25
193
- periodSeconds: 60
194
- ---
195
- # ServiceNow Graph Memory MCP ServiceMonitor for Prometheus
196
- apiVersion: monitoring.coreos.com/v1
197
- kind: ServiceMonitor
198
- metadata:
199
- name: graph-memory-mcp
200
- namespace: servicenow-mcp
201
- labels:
202
- app.kubernetes.io/name: graph-memory-mcp
203
- app.kubernetes.io/instance: graph-memory-mcp
204
- app.kubernetes.io/component: monitoring
205
- spec:
206
- selector:
207
- matchLabels:
208
- app.kubernetes.io/name: graph-memory-mcp
209
- app.kubernetes.io/instance: graph-memory-mcp
210
- endpoints:
211
- - port: http
212
- interval: 30s
213
- path: /metrics
214
- scrapeTimeout: 10s
215
- ---
216
- # ServiceNow Graph Memory MCP Pod Disruption Budget
217
- apiVersion: policy/v1
218
- kind: PodDisruptionBudget
219
- metadata:
220
- name: graph-memory-mcp-pdb
221
- namespace: servicenow-mcp
222
- labels:
223
- app.kubernetes.io/name: graph-memory-mcp
224
- app.kubernetes.io/instance: graph-memory-mcp
225
- app.kubernetes.io/component: availability
226
- spec:
227
- minAvailable: 1
228
- selector:
229
- matchLabels:
230
- app.kubernetes.io/name: graph-memory-mcp
231
- app.kubernetes.io/instance: graph-memory-mcp
232
- ---
@@ -1,456 +0,0 @@
1
- # Infrastructure services for ServiceNow MCP
2
- # Consul for service discovery
3
- apiVersion: apps/v1
4
- kind: Deployment
5
- metadata:
6
- name: consul
7
- namespace: servicenow-mcp
8
- labels:
9
- app.kubernetes.io/name: consul
10
- app.kubernetes.io/component: service-discovery
11
- spec:
12
- replicas: 3
13
- strategy:
14
- type: RollingUpdate
15
- rollingUpdate:
16
- maxSurge: 1
17
- maxUnavailable: 1
18
- selector:
19
- matchLabels:
20
- app.kubernetes.io/name: consul
21
- template:
22
- metadata:
23
- labels:
24
- app.kubernetes.io/name: consul
25
- app.kubernetes.io/component: service-discovery
26
- spec:
27
- serviceAccountName: mcp-service-account
28
- containers:
29
- - name: consul
30
- image: hashicorp/consul:1.16
31
- ports:
32
- - containerPort: 8500
33
- name: http
34
- - containerPort: 8600
35
- name: dns
36
- - containerPort: 8300
37
- name: server
38
- env:
39
- - name: CONSUL_BIND_INTERFACE
40
- value: "eth0"
41
- - name: CONSUL_CLIENT_INTERFACE
42
- value: "eth0"
43
- command:
44
- - consul
45
- - agent
46
- - -server
47
- - -bootstrap-expect=3
48
- - -data-dir=/consul/data
49
- - -ui
50
- - -bind=0.0.0.0
51
- - -client=0.0.0.0
52
- - -retry-join=consul-0.consul.servicenow-mcp.svc.cluster.local
53
- - -retry-join=consul-1.consul.servicenow-mcp.svc.cluster.local
54
- - -retry-join=consul-2.consul.servicenow-mcp.svc.cluster.local
55
- resources:
56
- requests:
57
- memory: "256Mi"
58
- cpu: "250m"
59
- limits:
60
- memory: "512Mi"
61
- cpu: "500m"
62
- volumeMounts:
63
- - name: consul-data
64
- mountPath: /consul/data
65
- livenessProbe:
66
- httpGet:
67
- path: /v1/status/leader
68
- port: 8500
69
- initialDelaySeconds: 30
70
- periodSeconds: 30
71
- readinessProbe:
72
- httpGet:
73
- path: /v1/status/leader
74
- port: 8500
75
- initialDelaySeconds: 10
76
- periodSeconds: 10
77
- volumes:
78
- - name: consul-data
79
- persistentVolumeClaim:
80
- claimName: consul-data-pvc
81
- ---
82
- # Consul Service
83
- apiVersion: v1
84
- kind: Service
85
- metadata:
86
- name: consul
87
- namespace: servicenow-mcp
88
- labels:
89
- app.kubernetes.io/name: consul
90
- app.kubernetes.io/component: service-discovery
91
- spec:
92
- type: ClusterIP
93
- ports:
94
- - port: 8500
95
- targetPort: 8500
96
- protocol: TCP
97
- name: http
98
- - port: 8600
99
- targetPort: 8600
100
- protocol: UDP
101
- name: dns
102
- selector:
103
- app.kubernetes.io/name: consul
104
- ---
105
- # Consul Headless Service for StatefulSet
106
- apiVersion: v1
107
- kind: Service
108
- metadata:
109
- name: consul-headless
110
- namespace: servicenow-mcp
111
- labels:
112
- app.kubernetes.io/name: consul
113
- app.kubernetes.io/component: service-discovery
114
- spec:
115
- clusterIP: None
116
- ports:
117
- - port: 8500
118
- targetPort: 8500
119
- name: http
120
- - port: 8300
121
- targetPort: 8300
122
- name: server
123
- selector:
124
- app.kubernetes.io/name: consul
125
- ---
126
- # Consul PVC
127
- apiVersion: v1
128
- kind: PersistentVolumeClaim
129
- metadata:
130
- name: consul-data-pvc
131
- namespace: servicenow-mcp
132
- labels:
133
- app.kubernetes.io/name: consul
134
- app.kubernetes.io/component: service-discovery
135
- spec:
136
- accessModes:
137
- - ReadWriteOnce
138
- resources:
139
- requests:
140
- storage: 10Gi
141
- storageClassName: fast-ssd # Adjust based on your storage class
142
- ---
143
- # Redis for caching and memory
144
- apiVersion: apps/v1
145
- kind: Deployment
146
- metadata:
147
- name: redis
148
- namespace: servicenow-mcp
149
- labels:
150
- app.kubernetes.io/name: redis
151
- app.kubernetes.io/component: cache
152
- spec:
153
- replicas: 1
154
- strategy:
155
- type: Recreate
156
- selector:
157
- matchLabels:
158
- app.kubernetes.io/name: redis
159
- template:
160
- metadata:
161
- labels:
162
- app.kubernetes.io/name: redis
163
- app.kubernetes.io/component: cache
164
- spec:
165
- serviceAccountName: mcp-service-account
166
- containers:
167
- - name: redis
168
- image: redis:7-alpine
169
- ports:
170
- - containerPort: 6379
171
- name: redis
172
- command:
173
- - redis-server
174
- - --appendonly
175
- - "yes"
176
- - --maxmemory
177
- - "800mb"
178
- - --maxmemory-policy
179
- - "allkeys-lru"
180
- resources:
181
- requests:
182
- memory: "512Mi"
183
- cpu: "250m"
184
- limits:
185
- memory: "1Gi"
186
- cpu: "500m"
187
- volumeMounts:
188
- - name: redis-data
189
- mountPath: /data
190
- livenessProbe:
191
- exec:
192
- command:
193
- - redis-cli
194
- - ping
195
- initialDelaySeconds: 30
196
- periodSeconds: 30
197
- readinessProbe:
198
- exec:
199
- command:
200
- - redis-cli
201
- - ping
202
- initialDelaySeconds: 5
203
- periodSeconds: 5
204
- volumes:
205
- - name: redis-data
206
- persistentVolumeClaim:
207
- claimName: redis-data-pvc
208
- ---
209
- # Redis Service
210
- apiVersion: v1
211
- kind: Service
212
- metadata:
213
- name: redis
214
- namespace: servicenow-mcp
215
- labels:
216
- app.kubernetes.io/name: redis
217
- app.kubernetes.io/component: cache
218
- spec:
219
- type: ClusterIP
220
- ports:
221
- - port: 6379
222
- targetPort: 6379
223
- protocol: TCP
224
- name: redis
225
- selector:
226
- app.kubernetes.io/name: redis
227
- ---
228
- # Redis PVC
229
- apiVersion: v1
230
- kind: PersistentVolumeClaim
231
- metadata:
232
- name: redis-data-pvc
233
- namespace: servicenow-mcp
234
- labels:
235
- app.kubernetes.io/name: redis
236
- app.kubernetes.io/component: cache
237
- spec:
238
- accessModes:
239
- - ReadWriteOnce
240
- resources:
241
- requests:
242
- storage: 20Gi
243
- storageClassName: standard
244
- ---
245
- # Neo4j for graph memory
246
- apiVersion: apps/v1
247
- kind: Deployment
248
- metadata:
249
- name: neo4j
250
- namespace: servicenow-mcp
251
- labels:
252
- app.kubernetes.io/name: neo4j
253
- app.kubernetes.io/component: graph-database
254
- spec:
255
- replicas: 1
256
- strategy:
257
- type: Recreate
258
- selector:
259
- matchLabels:
260
- app.kubernetes.io/name: neo4j
261
- template:
262
- metadata:
263
- labels:
264
- app.kubernetes.io/name: neo4j
265
- app.kubernetes.io/component: graph-database
266
- spec:
267
- serviceAccountName: mcp-service-account
268
- containers:
269
- - name: neo4j
270
- image: neo4j:5-community
271
- ports:
272
- - containerPort: 7474
273
- name: http
274
- - containerPort: 7687
275
- name: bolt
276
- env:
277
- - name: NEO4J_AUTH
278
- valueFrom:
279
- secretKeyRef:
280
- name: neo4j-credentials
281
- key: NEO4J_AUTH
282
- - name: NEO4J_PLUGINS
283
- value: '["apoc"]'
284
- - name: NEO4J_apoc_export_file_enabled
285
- value: "true"
286
- - name: NEO4J_apoc_import_file_enabled
287
- value: "true"
288
- - name: NEO4J_dbms_memory_heap_initial__size
289
- value: "1G"
290
- - name: NEO4J_dbms_memory_heap_max__size
291
- value: "2G"
292
- - name: NEO4J_dbms_memory_pagecache_size
293
- value: "1G"
294
- resources:
295
- requests:
296
- memory: "2Gi"
297
- cpu: "500m"
298
- limits:
299
- memory: "4Gi"
300
- cpu: "1000m"
301
- volumeMounts:
302
- - name: neo4j-data
303
- mountPath: /data
304
- - name: neo4j-logs
305
- mountPath: /logs
306
- livenessProbe:
307
- exec:
308
- command:
309
- - cypher-shell
310
- - -u
311
- - neo4j
312
- - -p
313
- - $(NEO4J_PASSWORD)
314
- - "RETURN 1"
315
- initialDelaySeconds: 60
316
- periodSeconds: 60
317
- readinessProbe:
318
- httpGet:
319
- path: /
320
- port: 7474
321
- initialDelaySeconds: 30
322
- periodSeconds: 30
323
- volumes:
324
- - name: neo4j-data
325
- persistentVolumeClaim:
326
- claimName: neo4j-data-pvc
327
- - name: neo4j-logs
328
- emptyDir: {}
329
- ---
330
- # Neo4j Service
331
- apiVersion: v1
332
- kind: Service
333
- metadata:
334
- name: neo4j
335
- namespace: servicenow-mcp
336
- labels:
337
- app.kubernetes.io/name: neo4j
338
- app.kubernetes.io/component: graph-database
339
- spec:
340
- type: ClusterIP
341
- ports:
342
- - port: 7474
343
- targetPort: 7474
344
- protocol: TCP
345
- name: http
346
- - port: 7687
347
- targetPort: 7687
348
- protocol: TCP
349
- name: bolt
350
- selector:
351
- app.kubernetes.io/name: neo4j
352
- ---
353
- # Neo4j PVC
354
- apiVersion: v1
355
- kind: PersistentVolumeClaim
356
- metadata:
357
- name: neo4j-data-pvc
358
- namespace: servicenow-mcp
359
- labels:
360
- app.kubernetes.io/name: neo4j
361
- app.kubernetes.io/component: graph-database
362
- spec:
363
- accessModes:
364
- - ReadWriteOnce
365
- resources:
366
- requests:
367
- storage: 50Gi
368
- storageClassName: fast-ssd # Adjust based on your storage class
369
- ---
370
- # Load Balancer (Nginx)
371
- apiVersion: apps/v1
372
- kind: Deployment
373
- metadata:
374
- name: nginx-lb
375
- namespace: servicenow-mcp
376
- labels:
377
- app.kubernetes.io/name: nginx-lb
378
- app.kubernetes.io/component: load-balancer
379
- spec:
380
- replicas: 2
381
- strategy:
382
- type: RollingUpdate
383
- rollingUpdate:
384
- maxSurge: 1
385
- maxUnavailable: 0
386
- selector:
387
- matchLabels:
388
- app.kubernetes.io/name: nginx-lb
389
- template:
390
- metadata:
391
- labels:
392
- app.kubernetes.io/name: nginx-lb
393
- app.kubernetes.io/component: load-balancer
394
- annotations:
395
- checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
396
- spec:
397
- serviceAccountName: mcp-service-account
398
- containers:
399
- - name: nginx
400
- image: nginx:alpine
401
- ports:
402
- - containerPort: 80
403
- name: http
404
- resources:
405
- requests:
406
- memory: "128Mi"
407
- cpu: "100m"
408
- limits:
409
- memory: "256Mi"
410
- cpu: "200m"
411
- volumeMounts:
412
- - name: nginx-config
413
- mountPath: /etc/nginx/nginx.conf
414
- subPath: nginx.conf
415
- - name: nginx-config
416
- mountPath: /etc/nginx/proxy.conf
417
- subPath: proxy.conf
418
- - name: nginx-logs
419
- mountPath: /var/log/nginx
420
- livenessProbe:
421
- httpGet:
422
- path: /health
423
- port: 80
424
- initialDelaySeconds: 30
425
- periodSeconds: 30
426
- readinessProbe:
427
- httpGet:
428
- path: /health
429
- port: 80
430
- initialDelaySeconds: 5
431
- periodSeconds: 5
432
- volumes:
433
- - name: nginx-config
434
- configMap:
435
- name: nginx-config
436
- - name: nginx-logs
437
- emptyDir: {}
438
- ---
439
- # Nginx Load Balancer Service
440
- apiVersion: v1
441
- kind: Service
442
- metadata:
443
- name: nginx-lb
444
- namespace: servicenow-mcp
445
- labels:
446
- app.kubernetes.io/name: nginx-lb
447
- app.kubernetes.io/component: load-balancer
448
- spec:
449
- type: LoadBalancer # Change to ClusterIP if using an Ingress
450
- ports:
451
- - port: 80
452
- targetPort: 80
453
- protocol: TCP
454
- name: http
455
- selector:
456
- app.kubernetes.io/name: nginx-lb