Skip to content

Commit 251edb7

Browse files
committed
Add OpenShift configurations for MCP Gateway
Signed-off-by: Siteshwar Vashisht <[email protected]>
1 parent 0a6989a commit 251edb7

14 files changed

+190
-20
lines changed

beeai/openshift/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
JIRA_PERSONAL_TOKEN
1818
JIRA_URL
1919
```
20+
21+
`mcp-server-keytab`:
22+
```
23+
oc create secret generic mcp-server-keytab --from-file=jotnar-bot.keytab
24+
```
2025

2126
Values of these secrets are documented in [README](https://github.com/packit/jotnar?tab=readme-ov-file#service-accounts--authentication).
2227

beeai/openshift/configmap-x-beeai-agent-configmap.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ data:
44
MAX_RETRIES: "3"
55
MCP_JIRA_URL: http://mcp-atlassian:9000/sse
66
REDIS_URL: redis://valkey:6379/0
7+
MCP_GATEWAY_URL: http://mcp-gateway:8000/sse
8+
GIT_REPO_BASEPATH: /git-repos
79
immutable: false
810
kind: ConfigMap
911
metadata:
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: v1
2+
data:
3+
SSE_PORT: "8000"
4+
KEYTAB_FILE: "/home/mcp/mcp-server-keytab/jotnar-bot.keytab"
5+
KRB5CCNAME: "FILE:/tmp/krb5cc"
6+
immutable: false
7+
kind: ConfigMap
8+
metadata:
9+
name: mcp-gateway

beeai/openshift/deployment-backport-agent.yml

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,17 @@ spec:
4646
configMapKeyRef:
4747
key: MAX_RETRIES
4848
name: x-beeai-agent-configmap
49-
- name: GITLAB_TOKEN
49+
- name: MCP_GATEWAY_URL
5050
valueFrom:
51-
secretKeyRef:
52-
key: GITLAB_TOKEN
53-
name: beeai-agent-secrets
51+
configMapKeyRef:
52+
key: MCP_GATEWAY_URL
53+
name: x-beeai-agent-configmap
54+
- name: GIT_REPO_BASEPATH
55+
valueFrom:
56+
configMapKeyRef:
57+
key: GIT_REPO_BASEPATH
58+
name: x-beeai-agent-configmap
59+
5460
- name: GITLAB_USER
5561
valueFrom:
5662
secretKeyRef:
@@ -66,9 +72,10 @@ spec:
6672
secretKeyRef:
6773
key: GEMINI_API_KEY
6874
name: beeai-agent-secrets
75+
6976
- name: DRY_RUN
7077
value: "true"
71-
image: 'image-registry.openshift-image-registry.svc:5000/jotnar-prod/beeai-agent@sha256:649cc82f9529d48c6f4f61654d87fee6e18155944054acfa074928e5e73844a8'
78+
image: 'beeai-agent:prod'
7279
imagePullPolicy: Always
7380
name: backport-agent
7481
ports:
@@ -78,9 +85,16 @@ spec:
7885
resources: {}
7986
terminationMessagePath: /dev/termination-log
8087
terminationMessagePolicy: File
88+
volumeMounts:
89+
- mountPath: /git-repos
90+
name: mcp-server-git-repos
8191
dnsPolicy: ClusterFirst
8292
restartPolicy: Always
8393
schedulerName: default-scheduler
8494
securityContext: {}
8595
# TODO: this should be reset when we have enough data.
8696
terminationGracePeriodSeconds: 30
97+
volumes:
98+
- name: mcp-server-git-repos
99+
persistentVolumeClaim:
100+
claimName: mcp-server-git-repos

beeai/openshift/deployment-mcp-atlassian.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ spec:
3838
secretKeyRef:
3939
key: JIRA_URL
4040
name: mcp-atlassian-secret
41-
image: image-registry.openshift-image-registry.svc:5000/jotnar-prod/mcp-atlassian@sha256:0a33e7a171cf54297dceb3b2cd473133b172978d5dbde9b68bf088d201696b3c
41+
image: mcp-atlassian:prod
4242
imagePullPolicy: Always
4343
name: mcp-atlassian
4444
ports:
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: mcp-gateway
5+
spec:
6+
progressDeadlineSeconds: 600
7+
replicas: 1
8+
revisionHistoryLimit: 10
9+
selector:
10+
matchLabels:
11+
app: mcp-gateway
12+
strategy:
13+
rollingUpdate:
14+
maxSurge: 25%
15+
maxUnavailable: 25%
16+
type: RollingUpdate
17+
template:
18+
metadata:
19+
labels:
20+
app: mcp-gateway
21+
deployment: mcp-gateway
22+
spec:
23+
containers:
24+
- args:
25+
- mcp_server/gateway.py
26+
command:
27+
- /usr/bin/python
28+
env:
29+
- name: SSE_PORT
30+
valueFrom:
31+
configMapKeyRef:
32+
key: SSE_PORT
33+
name: mcp-gateway
34+
35+
- name: GITLAB_TOKEN
36+
valueFrom:
37+
secretKeyRef:
38+
key: GITLAB_TOKEN
39+
name: beeai-agent-secrets
40+
41+
- name: JIRA_TOKEN
42+
valueFrom:
43+
secretKeyRef:
44+
key: JIRA_PERSONAL_TOKEN
45+
name: mcp-atlassian-secret
46+
- name: JIRA_URL
47+
valueFrom:
48+
secretKeyRef:
49+
key: JIRA_URL
50+
name: mcp-atlassian-secret
51+
52+
image: mcp-server:prod
53+
imagePullPolicy: Always
54+
name: mcp-gateway
55+
ports:
56+
- containerPort: 8000
57+
protocol: TCP
58+
# TODO: add limits on cpu and memory.
59+
resources: {}
60+
terminationMessagePath: /dev/termination-log
61+
terminationMessagePolicy: File
62+
volumeMounts:
63+
- mountPath: /git-repos
64+
name: mcp-server-git-repos
65+
- mountPath: /home/mcp/mcp-server-keytab
66+
name: mcp-server-keytab
67+
dnsPolicy: ClusterFirst
68+
restartPolicy: Always
69+
schedulerName: default-scheduler
70+
securityContext: {}
71+
terminationGracePeriodSeconds: 30
72+
volumes:
73+
- name: mcp-server-git-repos
74+
persistentVolumeClaim:
75+
claimName: mcp-server-git-repos
76+
- name: mcp-server-keytab
77+
secret:
78+
secretName: mcp-server-keytab

beeai/openshift/deployment-phoenix.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ spec:
2626
value: /mnt/data
2727
- name: PHOENIX_PORT
2828
value: "6006"
29-
image: image-registry.openshift-image-registry.svc:5000/jotnar-prod/phoenix@sha256:6b2cbca1e7b2516b174d3fe844a4462236e4cf6b1b747b941f92a57db29b4390
29+
image: phoenix:prod
3030
imagePullPolicy: IfNotPresent
3131
name: phoenix
3232
ports:

beeai/openshift/deployment-rebase-agent.yml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,19 @@ spec:
5656
secretKeyRef:
5757
key: GEMINI_API_KEY
5858
name: beeai-agent-secrets
59-
- name: GITLAB_TOKEN
60-
valueFrom:
61-
secretKeyRef:
62-
key: GITLAB_TOKEN
63-
name: beeai-agent-secrets
6459
- name: GITLAB_USER
6560
valueFrom:
6661
secretKeyRef:
6762
key: GITLAB_USER
6863
name: beeai-agent-secrets
6964
- name: DRY_RUN
7065
value: "true"
71-
image: 'image-registry.openshift-image-registry.svc:5000/jotnar-prod/beeai-agent@sha256:649cc82f9529d48c6f4f61654d87fee6e18155944054acfa074928e5e73844a8'
66+
- name: MCP_GATEWAY_URL
67+
valueFrom:
68+
configMapKeyRef:
69+
key: MCP_GATEWAY_URL
70+
name: x-beeai-agent-configmap
71+
image: 'beeai-agent:prod'
7272
imagePullPolicy: Always
7373
name: rebase-agent
7474
ports:
@@ -78,9 +78,16 @@ spec:
7878
resources: {}
7979
terminationMessagePath: /dev/termination-log
8080
terminationMessagePolicy: File
81+
volumeMounts:
82+
- mountPath: /git-repos
83+
name: mcp-server-git-repos
8184
dnsPolicy: ClusterFirst
8285
restartPolicy: Always
8386
schedulerName: default-scheduler
8487
securityContext: {}
8588
# TODO: this should be reset when we have enough data.
8689
terminationGracePeriodSeconds: 30
90+
volumes:
91+
- name: mcp-server-git-repos
92+
persistentVolumeClaim:
93+
claimName: mcp-server-git-repos

beeai/openshift/deployment-redis-commander.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ spec:
2424
- env:
2525
- name: REDIS_HOSTS
2626
value: local:valkey:6379
27-
image: image-registry.openshift-image-registry.svc:5000/jotnar-prod/redis-commander@sha256:d33e338d4d441a75b7bdc23fc148c9353233707ccd0234176e51f1b2fbb97ceb
27+
image: redis-commander:prod
2828
imagePullPolicy: IfNotPresent
2929
name: redis-commander
3030
ports:

beeai/openshift/deployment-triage-agent.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,12 @@ spec:
6161
secretKeyRef:
6262
key: GITLAB_USER
6363
name: beeai-agent-secrets
64-
- name: GITLAB_TOKEN
64+
- name: MCP_GATEWAY_URL
6565
valueFrom:
66-
secretKeyRef:
67-
key: GITLAB_TOKEN
68-
name: beeai-agent-secrets
69-
image: 'image-registry.openshift-image-registry.svc:5000/jotnar-prod/beeai-agent@sha256:649cc82f9529d48c6f4f61654d87fee6e18155944054acfa074928e5e73844a8'
66+
configMapKeyRef:
67+
key: MCP_GATEWAY_URL
68+
name: x-beeai-agent-configmap
69+
image: 'beeai-agent:prod'
7070
imagePullPolicy: Always
7171
name: triage-agent
7272
ports:
@@ -76,9 +76,16 @@ spec:
7676
resources: {}
7777
terminationMessagePath: /dev/termination-log
7878
terminationMessagePolicy: File
79+
volumeMounts:
80+
- mountPath: /git-repos
81+
name: mcp-server-git-repos
7982
dnsPolicy: ClusterFirst
8083
restartPolicy: Always
8184
schedulerName: default-scheduler
8285
securityContext: {}
8386
# TODO: this should be reset when we have enough data.
8487
terminationGracePeriodSeconds: 30
88+
volumes:
89+
- name: mcp-server-git-repos
90+
persistentVolumeClaim:
91+
claimName: mcp-server-git-repos

0 commit comments

Comments
 (0)