Commit acb184a8 authored by Dimitrios Giannopoulos's avatar Dimitrios Giannopoulos
Browse files

feat: add mcp server to helm chart and expose values

parent be32171e
Loading
Loading
Loading
Loading
+76 −0
Original line number Diff line number Diff line
{{- if .Values.mcpserver.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: {{ .Release.Namespace }}
  labels:
    app: {{ include "openslice.fullname" . }}
    org.etsi.osl.service: mcpserver
    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
    {{- include "openslice.labels" . | nindent 4 }}
  name: {{ include "openslice.fullname" . }}-mcpserver
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: {{ include "openslice.fullname" . }}
      org.etsi.osl.service: mcpserver
      {{- include "openslice.selectorLabels" . | nindent 6 }}
  template:
    metadata:
      labels:
        app: {{ include "openslice.fullname" . }}
        org.etsi.osl.service: mcpserver
        {{- include "openslice.selectorLabels" . | nindent 8 }}
    spec:
      containers:
        - name: {{ include "openslice.fullname" . }}-mcpserver
          image: "{{ .Values.image.mcpserver.repository }}:{{ .Values.image.mcpserver.tag | default .Chart.AppVersion }}"
          imagePullPolicy: {{ .Values.image.mcpserver.pullPolicy | default "Always" }}
          env:
            - name: SPRING_APPLICATION_JSON
              value: >-
                {
                  "spring.datasource.url": "jdbc:mysql://{{ include "openslice.fullname" . }}-mysql/osdb?createDatabaseIfNotExist=true",
                  "spring.datasource.username": "{{ .Values.oscreds.mysql.username }}",
                  "spring.datasource.password": "{{ .Values.oscreds.mysql.password }}",
                  "spring-addons.issuers[0].uri": "http://keycloak:8080/auth/realms/openslice",
                  "spring-addons.issuers[0].username-json-path":"$.preferred_username",
                  "spring-addons.issuers[0].claims[0].jsonPath":"$.realm_access.roles",
                  "spring-addons.issuers[0].claims[1].jsonPath":"$.resource_access.*.roles",
                  "spring.security.oauth2.resourceserver.jwt.issuer-uri": "http://keycloak:8080/auth/realms/openslice",
                  "springdoc.oAuthFlow.authorizationUrl": "http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/auth",
                  "springdoc.oAuthFlow.tokenUrl": "http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/token",
                  "springdoc.oauth.client-id": "osapiWebClientId",
                  "springdoc.oauth.clientsecret": "{{ .Values.mcpserver.springdoc.clientSecret }}",
                  "spring.activemq.brokerUrl": "tcp://{{ include "openslice.fullname" . }}-artemis:61616?jms.watchTopicAdvisories=false",
                  "spring.activemq.user": "{{ .Values.oscreds.activemq.user }}",
                  "spring.activemq.password": "{{ .Values.oscreds.activemq.password }}",
                  "logging.level.org.springframework": "{{ .Values.mcpserver.spring.logLevel | default "INFO" }}"
                }
          ports:
            - containerPort: 13015
          resources:
            {{- toYaml .Values.resources | nindent 12 }}
      restartPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
  namespace: {{ .Release.Namespace }}
  labels:
    app: {{ include "openslice.fullname" . }}
    org.etsi.osl.service: mcpserver
    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
    {{- include "openslice.labels" . | nindent 4 }}
  name: {{ include "openslice.fullname" . }}-mcpserver
spec:
  ports:
    - name: "13015"
      port: 13015
      targetPort: 13015
  selector:
    app: {{ include "openslice.fullname" . }}
    org.etsi.osl.service: mcpserver
    {{- include "openslice.selectorLabels" . | nindent 4 }}
{{- end }}
+14 −2
Original line number Diff line number Diff line
@@ -85,6 +85,11 @@ image:
    pullPolicy: Always
    # Overrides the image tag whose default is the chart appVersion.
    tag: "develop"
  mcpserver:
    repository: labs.etsi.org:5050/osl/code/org.etsi.osl.mcp.server
    # Overrides the image tag whose default is the chart appVersion.
    tag: develop
    pullPolicy: Always

bugzillaurl: example.com:443/bugzilla
bugzillakey: VH2Vw0iI5aYgALFFzVDWqhACwt6Hu3bXla9kSC1Z
@@ -114,7 +119,7 @@ spring:
  oauthClientSecret: secret

mysql:
  storage: 10Gi
  storage: 100Mi

metrico:
  enabled: true
@@ -123,7 +128,7 @@ metrico:
    loglevel: DEBUG
  
cridge:
  enabled: true
  enabled: false
  logLevel: INFO
  spring:
    loglevel: INFO
@@ -154,6 +159,13 @@ osscapi:
  spring:
    loglevel: INFO

mcpserver:
  enabled: true
  springdoc:
    clientSecret: secret
  spring:
    logLevel: INFO

# Storage class to be used for provisioning. Default is manual
# storageClass: ~