# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # # Mount crendentials to each component proxy: configData: # Authentication settings of the broker itself. Used when the broker connects to other brokers, or when the proxy connects to brokers, either in same or other clusters brokerClientAuthenticationPlugin: "org.apache.pulsar.client.impl.auth.oauth2.AuthenticationOAuth2" brokerClientAuthenticationParameters: '{"privateKey":"file:///pulsar/auth/proxy/credentials_file.json","audience":"account","issuerUrl":"http://keycloak-ci-headless:8080/realms/pulsar"}' extraVolumes: - name: pulsar-proxy-credentials secret: secretName: pulsar-proxy-credentials extraVolumeMounts: - name: pulsar-proxy-credentials mountPath: "/pulsar/auth/proxy" readOnly: true broker: configData: # Authentication settings of the broker itself. Used when the broker connects to other brokers, or when the proxy connects to brokers, either in same or other clusters brokerClientAuthenticationPlugin: "org.apache.pulsar.client.impl.auth.oauth2.AuthenticationOAuth2" brokerClientAuthenticationParameters: '{"privateKey":"file:///pulsar/auth/broker/credentials_file.json","audience":"account","issuerUrl":"http://keycloak-ci-headless:8080/realms/pulsar"}' extraVolumes: - name: pulsar-broker-credentials secret: secretName: pulsar-broker-credentials extraVolumeMounts: - name: pulsar-broker-credentials mountPath: "/pulsar/auth/broker" readOnly: true toolset: configData: authPlugin: "org.apache.pulsar.client.impl.auth.oauth2.AuthenticationOAuth2" authParams: '{"privateKey":"file:///pulsar/auth/admin/credentials_file.json","audience":"account","issuerUrl":"http://keycloak-ci-headless:8080/realms/pulsar"}' extraVolumes: - name: pulsar-admin-credentials secret: secretName: pulsar-admin-credentials extraVolumeMounts: - name: pulsar-admin-credentials mountPath: "/pulsar/auth/admin" readOnly: true auth: authentication: enabled: true openid: # Enable openid authentication enabled: true # https://pulsar.apache.org/docs/next/security-openid-connect/#enable-openid-connect-authentication-in-the-broker-and-proxy openIDAllowedTokenIssuers: - http://keycloak-ci-headless:8080/realms/pulsar openIDAllowedAudiences: - account #openIDTokenIssuerTrustCertsFilePath: openIDRoleClaim: "sub" openIDAcceptedTimeLeewaySeconds: "0" openIDCacheSize: "5" openIDCacheRefreshAfterWriteSeconds: "64800" openIDCacheExpirationSeconds: "86400" openIDHttpConnectionTimeoutMillis: "10000" openIDHttpReadTimeoutMillis: "10000" openIDKeyIdCacheMissRefreshSeconds: "300" openIDRequireIssuersUseHttps: "false" openIDFallbackDiscoveryMode: "DISABLED" authorization: enabled: true superUsers: # broker to broker communication broker: "broker-admin" # proxy to broker communication proxy: "proxy-admin" # pulsar-admin client to broker/proxy communication client: "admin" # pulsar manager to broker manager: "manager-admin"