Commit d7f263bd authored by Kostis Trantzas's avatar Kostis Trantzas
Browse files

Merge branch '50-add-mcp-server-to-the-openslice-helm-chart' into 'develop'

Add MCP server to helm chart

See merge request !57
parents be32171e 852fc256
Loading
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: {{ .Release.Namespace }}
  labels:
    app: {{ include "openslice.fullname" . }}
    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
    {{- include "openslice.labels" . | nindent 4 }}
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: "/$1"
  name: {{ include "openslice.fullname" . }}-mcpserver-ingress
spec:
  ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
  rules:
    - http:
        paths:
          - pathType: ImplementationSpecific
            path: "/mcpserver/(.*)"
            backend:
              service:
                name: {{ include "openslice.fullname" . }}-mcpserver
                port:
                  number: 13015
+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": "{{ .Values.rooturl }}/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": "{{ .Values.rooturl }}/auth/realms/openslice", 
                  "springdoc.oAuthFlow.authorizationUrl": "{{ .Values.rooturl }}/auth/realms/openslice/protocol/openid-connect/auth", 
                  "springdoc.oAuthFlow.tokenUrl": "{{ .Values.rooturl }}/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 }}
+12 −0
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
@@ -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: ~