Überblick der gesamten B2B Kubernetes Installation

Das B2B System kann mit allen UIs und Keycloak über Docker Images und Helm Charts in Kubernetes Clustern betrieben werden. Wir empfehlen für den produktiven Einsatz den Betrieb in einem Kubernetes Cluster.

Es folgt die Template-Struktur eines unserer Kubernetes Entwicklungssysteme für eigene Deployments.

B2B-Services im Kubernetes

Anmerkungen

Die B2B-Services haben unterschiedliche Abhängigkeiten aufeinander und auf externe Umsysteme, wie z.B. die Datenbanken, Keycloak, SOLR, RabbitMQ etc. Entsprechend ist die Reihenfolge der Installation der Services und Bereitstellung von Umsystemen zuvor zu beachten.

Der Keycloak und SOLR B2B-Index sind in diesem Deployment integriert und werden über Helm-Charts der Hersteller installiert.

B2B-Services im Kubernetes

Das folgende Helm-Chart yaml Datei beinhaltet die B2B Services für ein Deployment aller Microservices (Backends und UIs) im Kubernetes Cluster. Als kann als Beispiel/Template für eigene Installationen genutzt werden.

values.yaml Konfigurationsdatei

global:
  systemTimeZone: Europe/Berlin
  imageRegistry: devnortheuropemgmtacr.azurecr.io
  systemName: B2B
  as4Style: true
  backgroundColor: "#008ECC"
  activateUserMessages: true
  b2bUrl: "http://b2b-dev-b2b-rest.b2b-dev.svc.cluster.local:8080"
  b2bExternalUrl: "https://b2b-dev.level-365.com"
  fssUrl: "http://fss.b2b-dev.svc.cluster.local:3331"
  notificationUrl: "http://b2b-dev-notification.b2b-dev.svc.cluster.local:8080"
  revisionUrl: "http://b2b-dev-revision.b2b-dev.svc.cluster.local:8080"
  portalUiUrl: "http://b2b-dev-portal-ui.b2b-dev.svc.cluster.local:8080"
  as4AddressUrl: "http://as4-dev-as4-address-service.as4-dev.svc.cluster.local:8080"
  as4MessageUrl: "http://as4-dev-as4-message-service.as4-dev.svc.cluster.local:8080"
  solrUrl: "http://10.29.208.69:8983/solr"
  rabbitmqExternalUrl: "http://rabbitmq-as4-dev.level-365.com"
  keycloak:
    url: https://keycloak-dev.level-365.com
    internalUrl: http://b2b-dev-keycloak-operator-service.keycloak-operator.svc.cluster.local:8080
    realm: as4
    sslRequired: external
    b2bBackendSecret: '***'
  b2b:
    b2bUiServicePath: "/B2B-UI"
    b2bAdminUiServicePath: "/B2B-Admin-UI"
    portalUiServicePath: "/B2B-Portal-UI"
    notificationUiServicePath: "/User-Messages-UI"
    revisionUiServicePath: "/B2B-RevisionInfo-UI"
    fssUiServicePath: "/FSS-UI"
    indexUiServicePath: "/solr"
    postgresql:
      url: jdbc:postgresql://b2b-postgres.b2b-dev.svc.cluster.local:5432/b2b?currentSchema=b2bbp
      driver: org.postgresql.Driver
      username: b2b
      password: "***"
  rabbitmq:
    host: rabbitmq-cluster.as4-dev.svc.cluster.local
    port: 5672
    user: rabbitmq-admin
    password: '***'

b2b-message-service:
  enabled: true
  image:
    tag: 2025-11-13
  replicaCount: 1
  resources:
    limits:
      cpu: 1200m
      memory: 1024Mi
    requests:
      cpu: 400m
      memory: 1024Mi
  env:
    TZ: Europe/Berlin
    SPRING_RABBITMQ_HOST: rabbitmq-cluster.as4-dev.svc.cluster.local
    SPRING_RABBITMQ_PORT: '5672'
    SPRING_RABBITMQ_USERNAME: rabbitmq-admin
    SPRING_RABBITMQ_PASSWORD: '***'
    DATASOURCE_URL: 'jdbc:postgresql://b2b-postgres.b2b-dev.svc.cluster.local:5432/b2b?currentSchema=b2bbp'
    DATASOURCE_USERNAME: 'b2b' 
    DATASOURCE_PASSWORD: '***'
    DATASOURCE_SCHEMA: 'b2bbp'
    INBOUNDEDIFACTROUTINGKEY: 'https://www.bdew.de/as4/communication/services/MP,https://www.bdew.de/as4/communication/services/FP'
    SPRING_CLOUD_STREAM_RABBIT_BINDINGS_RECEIVEDAS4MESSAGECONSUMERIN0_CONSUMER_BINDINGROUTINGKEYDELIMITER: ','
    OUTBOUNDAS4RECEIPTROUTINGKEY: 'https://www.bdew.de/as4/communication/services/MP,https://www.bdew.de/as4/communication/services/FP'
    SPRING_CLOUD_STREAM_RABBIT_BINDINGS_OUTBOUNDAS4RECEIPTCONSUMERIN0_CONSUMER_BINDINGROUTINGKEYDELIMITER: ','
    OUTBOX_OUTBOXRELAY: 'true'
    OUTBOX_OUTBOXEXCHANGE: 'as4.outbound.request'
    OUTBOX_OUTBOXEXCHANGETYPE: 'direct'
    B2BQUEUEPRIORITY_DEFAULTPRIORITY: 'low'
    B2BQUEUEPRIORITY_PRIORITYCLASSES_0_TYPE: 'ALOCAT'
    B2BQUEUEPRIORITY_PRIORITYCLASSES_0_LEVEL: 'ultra'
    B2BQUEUEPRIORITY_PRIORITYCLASSES_1_SERVICEID: 'https://www.bdew.de/as4/communication/services/FP'
    B2BQUEUEPRIORITY_PRIORITYCLASSES_1_LEVEL: 'high'
    DUPLICATEDETECTION: 'false'
  probes:
      liveness:
        enabled: true
        custom: true
        spec:
          httpGet:
            path: /aep-b2b-message-service/actuator/health
            port: http
      readiness:
        enabled: true
        custom: true
        spec:
          httpGet:
            path: /aep-b2b-message-service/actuator/health
            port: http
      startup:
        enabled: true
        custom: true
        spec:
          httpGet:
            path: /aep-b2b-message-service/actuator/health
            port: http
          failureThreshold: 900
          periodSeconds: 5
          
admin-ui:
  enabled: true
  env:
    TZ: ".Values.global.systemTimeZone"
    SYSTEM_NAME: ".Values.global.systemName"
    AS4_STYLE: ".Values.global.as4Style"
    KC_REALM: ".Values.global.keycloak.realm"
    KC_URL: ".Values.global.keycloak.url"
    KC_SSL_REQUIRED: ".Values.global.keycloak.sslRequired"
    KC_CLIENT: "b2b-admin-ui"
    BACKGROUND_COLOR: ".Values.global.backgroundColor"
    ACTIVATE_USER_MESSAGES: ".Values.global.activateUserMessages"
    PORTAL_UI_URL: ".Values.global.portalUiUrl"
    B2B_URL: ".Values.global.b2bUrl"
    NOTIFICATION_URL: ".Values.global.notificationUrl"
    REVISION_URL: ".Values.global.revisionUrl"
    AS4_ADDRESS_URL: ".Values.global.as4AddressUrl"
    SERVICE_PATH: ".Values.global.b2b.b2bAdminUiServicePath"
    NO_PATHSWITCH: "false"
    RESOLVER_IP: "10.0.0.10"
  ingress:
    enabled: true
    ingressClassName: "nginx"
    annotations:
      nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
      nginx.ingress.kubernetes.io/ssl-redirect: "true"
      nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
      nginx.ingress.kubernetes.io/proxy-body-size: "200m"
    hosts:
      - host: b2b-dev.level-365.com
        paths:
          - path: ".Values.global.b2b.b2bAdminUiServicePath"
            pathType: Prefix
    tls:
      - hosts:
          - b2b-dev.level-365.com
        secretName: "level-365-cert"
    resources:
      requests:
        cpu: "100m"
        memory: "128Mi"
      limits:
        cpu: "500m"
        memory: "512Mi"

b2b-ui:
  enabled: true
  image:
    repository: devnortheuropemgmtacr.azurecr.io/b2b/b2b-ui
    tag: 2025-11-12-1
    pullPolicy: IfNotPresent
  env:
    TZ: ".Values.global.systemTimeZone"
    SYSTEM_NAME: ".Values.global.systemName"
    AS4_STYLE: ".Values.global.as4Style"
    AS4_RELATION_DEFAULT_CONFIRMED: ".Values.global.as4RelationDefaultConfirmed"

    KC_REALM: ".Values.global.keycloak.realm"
    KC_URL: ".Values.global.keycloak.url"
    KC_CLIENT: "b2b-ui"
    KC_SSL_REQUIRED: ".Values.global.keycloak.sslRequired"
    BACKGROUND_COLOR: ".Values.global.backgroundColor"
    ACTIVATE_USER_MESSAGES: ".Values.global.activateUserMessages"
    PORTAL_UI_URL: ".Values.global.portalUiUrl"
    B2B_URL: ".Values.global.b2bUrl"
    NOTIFICATION_URL: ".Values.global.notificationUrl"
    REVISION_URL: ".Values.global.revisionUrl"
    AS4_ADDRESS_URL: ".Values.global.as4AddressUrl"
    AS4_ADDRESS_CONTEXT_PATH: "aep-as4-address-service"
    AS4_MESSAGE_URL: ".Values.global.as4MessageUrl"
    SERVICE_PATH: ".Values.global.b2b.b2bUiServicePath"
    AS4_ADDRESS_WRITE_HIDDEN: "true"
    B2B_MESSAGE_MONITOR_FULLTEXT_SEARCH_MIN_CHARACTERS: "0"
    B2B_MESSAGE_MONITOR_DEFAULT_PERIOD: "last-0-hours"
    B2B_MESSAGE_MONITOR_DEFAULT_TABLE_VIEW: "load-all"
    RESOLVER_IP: "10.0.0.10"

  ingress:
    enabled: true
    ingressClassName: "nginx"
    annotations:
      nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
      nginx.ingress.kubernetes.io/ssl-redirect: "true"
      nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
      nginx.ingress.kubernetes.io/proxy-body-size: "200m"
    hosts:
      - host: b2b-dev.level-365.com
        paths:
          - path: ".Values.global.b2b.b2bUiServicePath"
            pathType: Prefix
    tls:
      - hosts:
          - b2b-dev.level-365.com
        secretName: "level-365-cert"
  resources:
    requests:
      cpu: "100m"
      memory: "128Mi"
    limits:
      cpu: "500m"
      memory: "512Mi"

portal-ui:
  enabled: true
  image:
    repository: "devnortheuropemgmtacr.azurecr.io/b2b/b2b-portal-ui"
    tag: "2025-09-29"
  env:
    TZ: ".Values.global.systemTimeZone"
    SYSTEM_NAME: ".Values.global.systemName"
    BACKGROUND_COLOR: ".Values.global.backgroundColor"
    ACTIVATE_USER_MESSAGES: ".Values.global.activateUserMessages"
    KC_REALM: ".Values.global.keycloak.realm"
    KC_URL: ".Values.global.keycloak.url"
    KC_SSL_REQUIRED: ".Values.global.keycloak.sslRequired"
    KC_CLIENT: "portal-ui"
    B2B_URL: ".Values.global.b2bUrl"
    NOTIFICATION_URL: ".Values.global.notificationUrl"
    SERVICE_PATH: ".Values.global.b2b.portalUiServicePath"
    B2B_UI_URL: ".Values.global.b2bExternalUrl.Values.global.b2b.b2bUiServicePath"
    FSS_UI_URL: ".Values.global.b2bExternalUrl.Values.global.b2b.fssUiServicePath"
    NOTIFICATION_UI_URL: ".Values.global.b2bExternalUrl.Values.global.b2b.notificationUiServicePath"
    REVISION_UI_URL: ".Values.global.b2bExternalUrl.Values.global.b2b.revisionUiServicePath"
    ADMIN_UI_URL: ".Values.global.b2bExternalUrl.Values.global.b2b.b2bAdminUiServicePath"
    INDEX_UI_URL: ".Values.global.solrUrl"
    PORTAL_UI_URL: ".Values.global.b2bExternalUrl.Values.global.b2b.portalUiServicePath"
    QUEUE_MONITOR_UI_URL: ".Values.global.rabbitmqExternalUrl"
    RESOLVER_IP: "10.0.0.10"
  ingress:
    enabled: true
    ingressClassName: "nginx"
    annotations:
      nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
      nginx.ingress.kubernetes.io/ssl-redirect: "true"
      nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
      nginx.ingress.kubernetes.io/proxy-body-size: "200m"
    hosts:
      - host: b2b-dev.level-365.com
        paths:
          - path: ".Values.global.b2b.portalUiServicePath"
            pathType: Prefix
    tls:
      - hosts:
          - b2b-dev.level-365.com
        secretName: "level-365-cert"
  resources:
    requests:
      cpu: "100m"
      memory: "128Mi"
    limits:
      cpu: "500m"
      memory: "512Mi"


notification-ui:
  enabled: true
  env:
    TZ: ".Values.global.systemTimeZone"
    SYSTEM_NAME: ".Values.global.systemName"
    BACKGROUND_COLOR: ".Values.global.backgroundColor"
    ACTIVATE_USER_MESSAGES: ".Values.global.activateUserMessages"
    AS4_STYLE: ".Values.global.as4Style"
    KC_REALM: ".Values.global.keycloak.realm"
    KC_URL: ".Values.global.keycloak.url"
    KC_SSL_REQUIRED: ".Values.global.keycloak.sslRequired"
    PORTAL_UI_URL: ".Values.global.portalUiUrl"
    B2B_URL: ".Values.global.b2bUrl"
    NOTIFICATION_URL: ".Values.global.notificationUrl"
    SERVICE_PATH: ".Values.global.b2b.notificationUiServicePath"
    KC_CLIENT: "notification-ui"
  ingress:
    enabled: true
    ingressClassName: "nginx"
    annotations:
      nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
      nginx.ingress.kubernetes.io/ssl-redirect: "true"
      nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
      nginx.ingress.kubernetes.io/proxy-body-size: "200m"
    hosts:
      - host: b2b-dev.level-365.com
        paths:
          - path: ".Values.global.b2b.notificationUiServicePath"
            pathType: Prefix
    tls:
      - hosts:
          - b2b-dev.level-365.com
        secretName: "level-365-cert"
  resources:
    requests:
      cpu: "100m"
      memory: "128Mi"
    limits:
      cpu: "500m"
      memory: "512Mi"

notification-backend:
  enabled: true
  nameOverride: 'notification'
  image:
    repository: "devnortheuropemgmtacr.azurecr.io/aep/b2b/notification-service"
    tag: "2025-11-03-3"
  env:
    SPRING_DATASOURCE_URL: ".Values.global.b2b.postgresql.url"
    SPRING_DATASOURCE_USERNAME: ".Values.global.b2b.postgresql.username"
    SPRING_DATASOURCE_PASSWORD: ".Values.global.b2b.postgresql.password"
    SPRING_PROFILES_ACTIVE: keycloak-enriched
    KEYCLOAK_AUTHSERVERURL: ".Values.global.keycloak.url"
    KEYCLOAK_REALM: ".Values.global.keycloak.realm"
    KEYCLOAK_RESOURCE: notification
    KEYCLOAK_PUBLICCLIENT: 'false'
    KEYCLOAK_BEARERONLY: 'true'
    MANAGEMENT_HEALTH_MAIL_ENABLED: 'false'
    APPLICATIONINSIGHTS_ROLE_NAME: "B2B Notification Service .Release.Namespace"

revisioninfo-ui:
  enabled: true
  image:
    repository: "devnortheuropemgmtacr.azurecr.io/b2b/b2b-revisioninfo-ui"
  env:
    TZ: ".Values.global.systemTimeZone"
    SYSTEM_NAME: ".Values.global.systemName"
    AS4_STYLE: ".Values.global.as4Style"
    KC_REALM: ".Values.global.keycloak.realm"
    KC_URL: ".Values.global.keycloak.url"
    KC_SSL_REQUIRED: ".Values.global.keycloak.sslRequired"
    BACKGROUND_COLOR: ".Values.global.backgroundColor"
    ACTIVATE_USER_MESSAGES: ".Values.global.activateUserMessages"
    PORTAL_UI_URL: ".Values.global.portalUiUrl"
    B2B_URL: ".Values.global.b2bUrl"
    NOTIFICATION_URL: ".Values.global.notificationUrl"
    REVISION_URL: ".Values.global.revisionUrl"
    AS4_ADDRESS_URL: ".Values.global.as4AddressUrl"
    SERVICE_PATH: ".Values.global.b2b.revisionUiServicePath"
    KC_CLIENT: "revision-ui"
    NO_PATHSWITCH: "false"
    RESOLVER_IP: "10.0.0.10"
  ingress:
    enabled: true
    ingressClassName: "nginx"
    annotations:
      nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
      nginx.ingress.kubernetes.io/ssl-redirect: "true"
      nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
      nginx.ingress.kubernetes.io/proxy-body-size: "200m"
    hosts:
      - host: b2b-dev.level-365.com
        paths:
          - path: ".Values.global.b2b.revisionUiServicePath"
            pathType: Prefix
    tls:
      - hosts:
          - b2b-dev.level-365.com
        secretName: "level-365-cert"
  resources:
    requests:
      cpu: "100m"
      memory: "128Mi"
    limits:
      cpu: "500m"
      memory: "512Mi"

revision-backend:
  enabled: true
  nameOverride: 'revision'
  image:
    repository: "devnortheuropemgmtacr.azurecr.io/b2b/revision"
  env:
    SPRING_DATASOURCE_URL: ".Values.global.b2b.postgresql.url"
    SPRING_DATASOURCE_USERNAME: ".Values.global.b2b.postgresql.username"
    SPRING_DATASOURCE_PASSWORD: ".Values.global.b2b.postgresql.password"
    SPRING_PROFILES_ACTIVE: keycloak-enriched
    KEYCLOAK_AUTHSERVERURL: ".Values.global.keycloak.url"
    KEYCLOAK_REALM: ".Values.global.keycloak.realm"
    KEYCLOAK_RESOURCE: revision
    KEYCLOAK_PUBLICCLIENT: 'false'
    KEYCLOAK_BEARERONLY: 'true'
    MANAGEMENT_HEALTH_MAIL_ENABLED: 'false'
    APPLICATIONINSIGHTS_ROLE_NAME: "B2B Revision Service .Release.Namespace"

b2b-rest:
  enabled: true
  replicaCount: 1
  autoscaling:
    enabled: false
  env:
    DB_URL: ".Values.global.b2b.postgresql.url"
    DB_DRIVER: ".Values.global.b2b.postgresql.driver"
    DB_USERNAME: ".Values.global.b2b.postgresql.username"
    DB_PASSWORD: ".Values.global.b2b.postgresql.password"
    KC_REALM: ".Values.global.keycloak.realm"
    KC_URL: ".Values.global.keycloak.url"
    KC_INTERNAL_URL: ".Values.global.keycloak.internalUrl"
    KC_CLIENT: "b2b"
    KC_SECRET: ".Values.global.keycloak.b2bBackendSecret"
  ingress:
    enabled: true
    ingressClassName: "nginx"
    annotations:
      nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
      nginx.ingress.kubernetes.io/ssl-redirect: "true"
      nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
      nginx.ingress.kubernetes.io/proxy-body-size: "200m"
    hosts:
      - host: b2b-dev.level-365.com
        paths:
          - path: /b2bbp-engine
            pathType: Prefix
    tls:
      - hosts:
          - b2b-dev.level-365.com
        secretName: "level-365-cert"
  resources:
    limits:
      cpu: 1800m
      memory: 3Gi
    requests:
      cpu: 300m
      memory: 3Gi

b2b-queue:
  enabled: true
  replicaCount: 1
  autoscaling:
    enabled: false
  env:
    DB_URL: ".Values.global.b2b.postgresql.url"
    DB_DRIVER: ".Values.global.b2b.postgresql.driver"
    DB_USERNAME: ".Values.global.b2b.postgresql.username"
    DB_PASSWORD: ".Values.global.b2b.postgresql.password"
    KC_REALM: ".Values.global.keycloak.realm"
    KC_URL: ".Values.global.keycloak.url"
    KC_INTERNAL_URL: ".Values.global.keycloak.internalUrl"
    KC_CLIENT: "b2b"
    KC_SECRET: ".Values.global.keycloak.b2bBackendSecret"
  resources:
    limits:
      cpu: 1800m
      memory: 3Gi
    requests:
      cpu: 300m
      memory: 3Gi

b2b-index:
  enabled: true
  replicaCount: 1
  autoscaling:
    enabled: false
  env:
    DB_URL: ".Values.global.b2b.postgresql.url"
    DB_DRIVER: ".Values.global.b2b.postgresql.driver"
    DB_USERNAME: ".Values.global.b2b.postgresql.username"
    DB_PASSWORD: ".Values.global.b2b.postgresql.password"
    KC_REALM: ".Values.global.keycloak.realm"
    KC_URL: ".Values.global.keycloak.url"
    KC_INTERNAL_URL: ".Values.global.keycloak.internalUrl"
    KC_CLIENT: "b2b"
    KC_SECRET: ".Values.global.keycloak.b2bBackendSecret"
  resources:
    limits:
      cpu: 1800m
      memory: 3Gi
    requests:
      cpu: 300m
      memory: 3Gi

b2b-services:
  enabled: true
  replicaCount: 1
  autoscaling:
    enabled: false
  env:
    DB_URL: ".Values.global.b2b.postgresql.url"
    DB_DRIVER: ".Values.global.b2b.postgresql.driver"
    DB_USERNAME: ".Values.global.b2b.postgresql.username"
    DB_PASSWORD: ".Values.global.b2b.postgresql.password"
    KC_REALM: ".Values.global.keycloak.realm"
    KC_URL: ".Values.global.keycloak.url"
    KC_INTERNAL_URL: ".Values.global.keycloak.internalUrl"
    KC_CLIENT: "b2b"
    KC_SECRET: ".Values.global.keycloak.b2bBackendSecret"
  resources:
    limits:
      cpu: 1800m
      memory: 3Gi
    requests:
      cpu: 300m
      memory: 3Gi

fss-secure:
  enabled: true
  replicaCount: 1
  autoscaling:
    enabled: false
  type: statefulset
  ingress:
    enabled: true
    ingressClassName: "nginx"
    annotations:
      nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
      nginx.ingress.kubernetes.io/ssl-redirect: "true"
      nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
      nginx.ingress.kubernetes.io/proxy-body-size: "200m"
    hosts:
      - host: b2b-dev.level-365.com
        paths:
          - path: /fss
            pathType: Prefix
    tls:
      - hosts:
          - b2b-dev.level-365.com
        secretName: "level-365-cert"
  service:
    enabled: true
    type: ClusterIP
    port:
      port: 3331
      name: http
      protocol: HTTP
  forcePodRecreationOnHelmUpdate: false
  env:
    TZ: 'Europe/Berlin'
    SPRING_PROFILES_ACTIVE: 'secure'
    DB_DRIVER: 'org.postgresql.Driver'
    DB_URL: 'jdbc:postgresql://as4-postgres.as4-dev.svc.cluster.local:5432/as4?currentSchema=fss'
    DB_USERNAME: 'as4'
    DB_PASSWORD: '***'
    DB_DIALECT: org.hibernate.dialect.PostgreSQLDialect
    KEYCLOAK_ENABLED: 'true'
    AEP_SECURITY_AUTHMETHOD: 'no-secure'
    KEYCLOAK_AUTHSERVERURL: ".Values.global.keycloak.url"
    KEYCLOAK_REALM: ".Values.global.keycloak.realm"
    KEYCLOAK_RESOURCE: fss
    KEYCLOAK_CREDENTIALS_SECRET: TpEhClKu7QuJPeyohqSA00Tf4KKySRzA
    NO_DEFAULT_CERT_PURPOSE: 'true'
    SERVER_PORT: '3331'
    CLUSTER_USE_CLUSTERNODE_HOSTNAME: "true"
    JAVA_OPTS: "-Dcluster.service.period=30 -Dverify.filter.mapping=/opt/securityserver/conf/verifyFilterMapping.properties -Drevision.info.server.url=http://changeme -Djavax.net.ssl.trustStoreType=JKS -Xmx2048m -Xms512m"
  resources:
    limits:
      cpu: 800m
      memory: 1600Mi
    requests:
      cpu: 800m
      memory: 1600Mi

fss-ui:
  enabled: true
  env:
    TZ: ".Values.global.systemTimeZone"
    SYSTEM_NAME: ".Values.global.systemName"
    AS4_STYLE: ".Values.global.as4Style"
    KC_REALM: ".Values.global.keycloak.realm"
    KC_URL: ".Values.global.keycloak.url"
    KC_CLIENT: "fss-ui"
    KC_SSL_REQUIRED: ".Values.global.keycloak.sslRequired"
    BACKGROUND_COLOR: ".Values.global.backgroundColor"
    ACTIVATE_USER_MESSAGES: ".Values.global.activateUserMessages"
    PORTAL_UI_URL: ".Values.global.portalUiUrl"
    B2B_URL: ".Values.global.b2bUrl"
    FSS_URL: ".Values.global.fssUrl"
    NOTIFICATION_URL: ".Values.global.notificationUrl"
    REVISION_URL: ".Values.global.revisionUrl"
    SERVICE_PATH: ".Values.global.b2b.fssUiServicePath"
    NO_DEFAULT_CERT_PURPOSE: "true"
  ingress:
    enabled: true
    ingressClassName: "nginx"
    annotations:
      nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
      nginx.ingress.kubernetes.io/ssl-redirect: "true"
      nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
      nginx.ingress.kubernetes.io/proxy-body-size: "200m"
    hosts:
      - host: b2b-dev.level-365.com
        paths:
          - path: ".Values.global.b2b.fssUiServicePath"
            pathType: Prefix
    tls:
      - hosts:
          - b2b-dev.level-365.com
        secretName: "level-365-cert"
  resources:
    requests:
      cpu: "100m"
      memory: "128Mi"
    limits:
      cpu: "500m"
      memory: "512Mi"

solr-operator:
  enabled: true
  resources:
    limits:
      cpu: 200m
      memory: 256Mi
    requests:
      cpu: 200m
      memory: 256Mi
solr:
  image:
    repository: solr
    tag: 9.10.0
  enabled: true
  dataStorage:
    type: "persistent"
    capacity: "20Gi"
    persistent:
      reclaimPolicy: "Retain"
      pvc:
        storageClassName: "solr-storage"
        annotations: {"volume.beta.kubernetes.io/storage-provisioner: disk.csi.azure.com","volume.kubernetes.io/storage-provisioner: disk.csi.azure.com"}
        labels: {"app: b2b-dev-solrcloud"}
  resources:
    limits:
      cpu: 1024m
      memory: 2Gi
    requests:
      cpu: 1024m
      memory: 2Gi

keycloak-operator:
  enabled: true
  operator:
    replicaCount: 1
    namespace: keycloak-operator
    image:
      repository: quay.io/keycloak/keycloak-operator
      tag: "26.3.2"
    resources:
      requests:
        cpu: 400m
        memory: 1024Mi
      limits:
        cpu: 800m
        memory: 1024Mi
  keycloak:
    enabled: true
    instances: 2
    namespace: keycloak-operator
    startOptimized: false
    bootstrapAdmin:
      user:
        secret: 'keycloak-temp-admin-secret'
    image:
      repository: quay.io/keycloak/keycloak
      tag: "26.3.2"
    db:
      passwordSecret:
        name: 'keycloak-postgres-secret'
        key: 'POSTGRES_PASSWORD'
      usernameSecret:
        name: 'keycloak-postgres-secret'
        key: 'POSTGRES_USER'
      url: 'jdbc:postgresql://keycloak-postgres.keycloak-operator.svc.cluster.local:5432/keycloak'
      vendor: 'postgres'
    hostname:
      admin: https://keycloak-dev.level-365.com
      hostname: https://keycloak-dev.level-365.com
      strict: true
    http:
      tls-secret: "level-365-cert"
    ingress:
      enabled: false
    proxy:
      headers: "forwarded"
    resources:
      requests:
        cpu: 500m
        memory: 1024Mi
      limits:
        cpu: 1
        memory: 2048Mi
View Me   Edit Me