| # |
| # 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. |
| # |
| |
| #################### |
| # Worker Settings |
| #################### |
| |
| workerId: standalone |
| workerHostname: localhost |
| workerPort: 6750 |
| workerPortTls: 6751 |
| |
| # Configuration Store connection string |
| configurationStoreServers: localhost:2181 |
| # ZooKeeper session timeout in milliseconds |
| zooKeeperSessionTimeoutMillis: 30000 |
| # ZooKeeper operation timeout in seconds |
| zooKeeperOperationTimeoutSeconds: 30 |
| |
| ################################ |
| # Function package management |
| ################################ |
| |
| numFunctionPackageReplicas: 1 |
| downloadDirectory: /tmp/pulsar_functions |
| # Classname of Pluggable JVM GC metrics logger that can log GC specific metrics |
| # jvmGCMetricsLoggerClassName: |
| |
| ################################################################# |
| # Function metadata managment (assignment, scheduling, and etc) |
| ################################################################# |
| |
| # Configure the pulsar client used by function metadata management |
| # |
| # points |
| pulsarServiceUrl: pulsar://localhost:6650 |
| pulsarWebServiceUrl: http://localhost:8080 |
| # the authentication plugin to be used by the pulsar client used in worker service |
| # clientAuthenticationPlugin: |
| # the authentication parameter to be used by the pulsar client used in worker service |
| # clientAuthenticationParameters: |
| |
| # Bookie Authentication |
| # |
| # Authentication plugin to use when connecting to bookies |
| # bookkeeperClientAuthenticationPlugin: |
| # BookKeeper auth plugin implementatation specifics parameters name and values |
| # bookkeeperClientAuthenticationParametersName: |
| # Parameters for bookkeeper auth plugin |
| # bookkeeperClientAuthenticationParameters: |
| |
| |
| # pulsar topics used for function metadata management |
| |
| pulsarFunctionsNamespace: public/functions |
| pulsarFunctionsCluster: standalone |
| functionMetadataTopicName: metadata |
| clusterCoordinationTopicName: coordinate |
| # Number of threads to use for HTTP requests processing. Default is set to 8 |
| numHttpServerThreads: 8 |
| |
| # function assignment and scheduler |
| |
| schedulerClassName: "org.apache.pulsar.functions.worker.scheduler.RoundRobinScheduler" |
| functionAssignmentTopicName: "assignments" |
| failureCheckFreqMs: 30000 |
| rescheduleTimeoutMs: 60000 |
| initialBrokerReconnectMaxRetries: 60 |
| assignmentWriteMaxRetries: 60 |
| instanceLivenessCheckFreqMs: 30000 |
| # Frequency how often worker performs compaction on function-topics |
| topicCompactionFrequencySec: 1800 |
| |
| |
| ############################### |
| # Function Runtime Management |
| ############################### |
| |
| #threadContainerFactory: |
| # threadGroupName: "Thread Function Container Group" |
| processContainerFactory: |
| logDirectory: |
| # change the jar location only when you put the java instance jar in a different location |
| javaInstanceJarLocation: |
| # change the python instance location only when you put the python instance jar in a different location |
| pythonInstanceLocation: |
| # change the extra dependencies location: |
| extraFunctionDependenciesDir: |
| #kubernetesContainerFactory: |
| # # uri to kubernetes cluster, leave it to empty and it will use the kubernetes settings in function worker |
| # k8Uri: |
| # # the kubernetes namespace to run the function instances. it is `default`, if this setting is left to be empty |
| # jobNamespace: |
| # # the docker image to run function instance. by default it is `apachepulsar/pulsar` |
| # pulsarDockerImageName: |
| # # the root directory of pulsar home directory in `pulsarDockerImageName`. by default it is `/pulsar`. |
| # # if you are using your own built image in `pulsarDockerImageName`, you need to set this setting accordingly |
| # pulsarRootDir: |
| # # this setting only takes effects if `k8Uri` is set to null. if your function worker is running as a k8 pod, |
| # # setting this to true is let function worker to submit functions to the same k8s cluster as function worker |
| # # is running. setting this to false if your function worker is not running as a k8 pod. |
| # submittingInsidePod: false |
| # # setting the pulsar service url that pulsar function should use to connect to pulsar |
| # # if it is not set, it will use the pulsar service url configured in worker service |
| # pulsarServiceUrl: |
| # # setting the pulsar admin url that pulsar function should use to connect to pulsar |
| # # if it is not set, it will use the pulsar admin url configured in worker service |
| # pulsarAdminUrl: |
| # # the custom labels that function worker uses to select the nodes for pods |
| # customLabels: |
| # # the directory for dropping extra function dependencies |
| # # if it is not an absolute path, it is relative to `pulsarRootDir` |
| # extraFunctionDependenciesDir: |
| # # Additional memory padding added on top of the memory requested by the function per on a per instance basis |
| # percentMemoryPadding: 10 |
| # # The ratio cpu request and cpu limit to be set for a function/source/sink. |
| # # The formula for cpu request is cpuRequest = userRequestCpu / cpuOverCommitRatio |
| # cpuOverCommitRatio: 1.0 |
| # # The ratio memory request and memory limit to be set for a function/source/sink. |
| # # The formula for memory request is memoryRequest = userRequestMemory / memoryOverCommitRatio |
| # memoryOverCommitRatio: 1.0 |
| |
| ## A set of the minimum amount of resources functions must request. |
| ## Support for this depends on function runtime. |
| ## Only kubernetes runtime currently supports this. |
| # functionInstanceMinResources: |
| # cpu: 1 |
| # ram: 1073741824 |
| # disk: 10737418240 |
| |
| ############################################ |
| # security settings for worker service |
| ############################################ |
| |
| # Enforce authentication |
| authenticationEnabled: false |
| # Enforce authorization on accessing functions api |
| authorizationEnabled: false |
| # Set of authentication provider name list, which is a list of class names |
| authenticationProviders: |
| # Authorization provider fully qualified class-name |
| authorizationProvider: org.apache.pulsar.broker.authorization.PulsarAuthorizationProvider |
| # Set of role names that are treated as "super-user", meaning they will be able to access any admin-api |
| superUserRoles: |
| |
| #### tls configuration for worker service |
| # Enable TLS |
| tlsEnabled: false |
| # Path for the TLS certificate file |
| tlsCertificateFilePath: |
| # Path for the TLS private key file |
| tlsKeyFilePath: |
| # Path for the trusted TLS certificate file |
| tlsTrustCertsFilePath: |
| # Accept untrusted TLS certificate from client |
| tlsAllowInsecureConnection: false |
| # Tls cert refresh duration in seconds (set 0 to check on every new connection) |
| tlsCertRefreshCheckDurationSec: 300 |
| |
| ######################## |
| # State Management |
| ######################## |
| |
| # the service url points to bookkeeper table service |
| # stateStorageServiceUrl: bk://localhost:4181 |
| |
| ######################## |
| # Connectors |
| ######################## |
| |
| connectorsDirectory: ./connectors |