mirror of
https://github.com/apache/nifi.git
synced 2025-02-10 12:05:22 +00:00
The NiFi and NiFi Bootstrap processes both bind to random ephemeral ports to allow for inter-process communication (e.g. shutdown, port, ping, etc.). However, the randomness of these ephemeral ports can pose challenges for some security policies and firewall rules. This adds two configuration options, nifi.bootstrap.listen.port and nifi.listener.bootstrap.port, that allow an administrator to define which ports the two processes should bind to for this communication, making it easier to define security policies. The options default to zero to maintain the current ephemeral port behavior. NIFI-6740: Add configuration options to specify NiFi/Bootstrap communication ports Signed-off-by: Matthew Burgess <mattyb149@apache.org> This closes #5746
283 lines
19 KiB
XML
283 lines
19 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
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.
|
|
-->
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<groupId>org.apache.nifi</groupId>
|
|
<artifactId>nifi-framework</artifactId>
|
|
<version>1.16.0-SNAPSHOT</version>
|
|
</parent>
|
|
<artifactId>nifi-resources</artifactId>
|
|
<packaging>pom</packaging>
|
|
<description>holds common resources used to build installers</description>
|
|
<properties>
|
|
<!--Wrapper Properties -->
|
|
<nifi.jvm.heap.init>512m</nifi.jvm.heap.init>
|
|
<nifi.jvm.heap.max>512m</nifi.jvm.heap.max>
|
|
<nifi.run.as />
|
|
<!-- nifi.properties: core properties -->
|
|
<nifi.flowcontroller.autoResumeState>true</nifi.flowcontroller.autoResumeState>
|
|
<nifi.flowcontroller.graceful.shutdown.period>10 sec</nifi.flowcontroller.graceful.shutdown.period>
|
|
<nifi.flowservice.writedelay.interval>500 ms</nifi.flowservice.writedelay.interval>
|
|
<nifi.administrative.yield.duration>30 sec</nifi.administrative.yield.duration>
|
|
<nifi.bored.yield.duration>10 millis</nifi.bored.yield.duration>
|
|
<nifi.queue.backpressure.count>10000</nifi.queue.backpressure.count>
|
|
<nifi.queue.backpressure.size>1 GB</nifi.queue.backpressure.size>
|
|
|
|
<nifi.flow.configuration.file>./conf/flow.xml.gz</nifi.flow.configuration.file>
|
|
<nifi.flow.configuration.json.file>./conf/flow.json.gz</nifi.flow.configuration.json.file>
|
|
<nifi.flow.configuration.archive.enabled>true</nifi.flow.configuration.archive.enabled>
|
|
<nifi.flow.configuration.archive.dir>./conf/archive/</nifi.flow.configuration.archive.dir>
|
|
<nifi.flow.configuration.archive.max.time>30 days</nifi.flow.configuration.archive.max.time>
|
|
<nifi.flow.configuration.archive.max.storage>500 MB</nifi.flow.configuration.archive.max.storage>
|
|
<nifi.login.identity.provider.configuration.file>./conf/login-identity-providers.xml</nifi.login.identity.provider.configuration.file>
|
|
<nifi.authorizer.configuration.file>./conf/authorizers.xml</nifi.authorizer.configuration.file>
|
|
<nifi.templates.directory>./conf/templates</nifi.templates.directory>
|
|
<nifi.database.directory>./database_repository</nifi.database.directory>
|
|
|
|
<nifi.state.management.configuration.file>./conf/state-management.xml</nifi.state.management.configuration.file>
|
|
<nifi.state.management.embedded.zookeeper.start>false</nifi.state.management.embedded.zookeeper.start>
|
|
<nifi.state.management.embedded.zookeeper.properties>./conf/zookeeper.properties</nifi.state.management.embedded.zookeeper.properties>
|
|
<nifi.state.management.provider.local>local-provider</nifi.state.management.provider.local>
|
|
<nifi.state.management.provider.cluster>zk-provider</nifi.state.management.provider.cluster>
|
|
|
|
<nifi.flowfile.repository.implementation>org.apache.nifi.controller.repository.WriteAheadFlowFileRepository</nifi.flowfile.repository.implementation>
|
|
<nifi.flowfile.repository.wal.implementation>org.apache.nifi.wali.SequentialAccessWriteAheadLog</nifi.flowfile.repository.wal.implementation>
|
|
<nifi.flowfile.repository.directory>./flowfile_repository</nifi.flowfile.repository.directory>
|
|
<nifi.flowfile.repository.checkpoint.interval>20 secs</nifi.flowfile.repository.checkpoint.interval>
|
|
<nifi.flowfile.repository.always.sync>false</nifi.flowfile.repository.always.sync>
|
|
<nifi.flowfile.repository.retain.orphaned.flowfiles>true</nifi.flowfile.repository.retain.orphaned.flowfiles>
|
|
<nifi.swap.manager.implementation>org.apache.nifi.controller.FileSystemSwapManager</nifi.swap.manager.implementation>
|
|
<nifi.queue.swap.threshold>20000</nifi.queue.swap.threshold>
|
|
|
|
<nifi.content.repository.implementation>org.apache.nifi.controller.repository.FileSystemRepository</nifi.content.repository.implementation>
|
|
<nifi.content.claim.max.appendable.size>1 MB</nifi.content.claim.max.appendable.size>
|
|
<nifi.content.repository.directory.default>./content_repository</nifi.content.repository.directory.default>
|
|
<nifi.content.repository.archive.max.retention.period>7 days</nifi.content.repository.archive.max.retention.period>
|
|
<nifi.content.repository.archive.max.usage.percentage>50%</nifi.content.repository.archive.max.usage.percentage>
|
|
<nifi.content.repository.archive.enabled>true</nifi.content.repository.archive.enabled>
|
|
<nifi.content.repository.always.sync>false</nifi.content.repository.always.sync>
|
|
<nifi.content.viewer.url>../nifi-content-viewer/</nifi.content.viewer.url>
|
|
|
|
<nifi.restore.directory />
|
|
<nifi.ui.banner.text />
|
|
<nifi.ui.autorefresh.interval>30 sec</nifi.ui.autorefresh.interval>
|
|
<nifi.nar.library.directory>./lib</nifi.nar.library.directory>
|
|
<nifi.nar.library.autoload.directory>./extensions</nifi.nar.library.autoload.directory>
|
|
<nifi.nar.working.directory>./work/nar/</nifi.nar.working.directory>
|
|
<nifi.documentation.working.directory>./work/docs/components</nifi.documentation.working.directory>
|
|
|
|
<nifi.sensitive.props.key.protected />
|
|
<nifi.sensitive.props.algorithm>NIFI_PBKDF2_AES_GCM_256</nifi.sensitive.props.algorithm>
|
|
<nifi.sensitive.props.additional.keys />
|
|
|
|
<nifi.h2.url.append>;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE</nifi.h2.url.append>
|
|
|
|
<nifi.remote.input.socket.port>9990</nifi.remote.input.socket.port>
|
|
<nifi.remote.input.secure>true</nifi.remote.input.secure>
|
|
|
|
<!-- persistent provenance repository properties -->
|
|
<nifi.provenance.repository.implementation>org.apache.nifi.provenance.WriteAheadProvenanceRepository</nifi.provenance.repository.implementation>
|
|
<nifi.provenance.repository.directory.default>./provenance_repository</nifi.provenance.repository.directory.default>
|
|
<nifi.provenance.repository.max.storage.time>30 days</nifi.provenance.repository.max.storage.time>
|
|
<nifi.provenance.repository.max.storage.size>10 GB</nifi.provenance.repository.max.storage.size>
|
|
<nifi.provenance.repository.rollover.time>10 mins</nifi.provenance.repository.rollover.time>
|
|
<nifi.provenance.repository.rollover.size>100 MB</nifi.provenance.repository.rollover.size>
|
|
<nifi.provenance.repository.query.threads>2</nifi.provenance.repository.query.threads>
|
|
<nifi.provenance.repository.index.threads>2</nifi.provenance.repository.index.threads>
|
|
<nifi.provenance.repository.compress.on.rollover>true</nifi.provenance.repository.compress.on.rollover>
|
|
<nifi.provenance.repository.indexed.fields>EventType, FlowFileUUID, Filename, ProcessorID, Relationship</nifi.provenance.repository.indexed.fields>
|
|
<nifi.provenance.repository.indexed.attributes />
|
|
<nifi.provenance.repository.index.shard.size>500 MB</nifi.provenance.repository.index.shard.size>
|
|
<nifi.provenance.repository.always.sync>false</nifi.provenance.repository.always.sync>
|
|
<nifi.provenance.repository.max.attribute.length>65536</nifi.provenance.repository.max.attribute.length>
|
|
<nifi.provenance.repository.concurrent.merge.threads>2</nifi.provenance.repository.concurrent.merge.threads>
|
|
|
|
<!-- volatile provenance repository properties -->
|
|
<nifi.provenance.repository.buffer.size>100000</nifi.provenance.repository.buffer.size>
|
|
|
|
<!-- Component status repository properties -->
|
|
<nifi.components.status.repository.implementation>org.apache.nifi.controller.status.history.VolatileComponentStatusRepository</nifi.components.status.repository.implementation>
|
|
<nifi.components.status.repository.buffer.size>1440</nifi.components.status.repository.buffer.size>
|
|
<nifi.components.status.snapshot.frequency>1 min</nifi.components.status.snapshot.frequency>
|
|
|
|
<!-- QuestDb status repository properties -->
|
|
<nifi.status.repository.questdb.persist.node.days>14</nifi.status.repository.questdb.persist.node.days>
|
|
<nifi.status.repository.questdb.persist.component.days>3</nifi.status.repository.questdb.persist.component.days>
|
|
<nifi.status.repository.questdb.persist.location>./status_repository</nifi.status.repository.questdb.persist.location>
|
|
|
|
<!-- nifi.properties: web properties -->
|
|
<nifi.web.http.host />
|
|
<nifi.web.http.port />
|
|
<nifi.web.http.network.interface.default />
|
|
<nifi.web.https.host>127.0.0.1</nifi.web.https.host>
|
|
<nifi.web.https.port>8443</nifi.web.https.port>
|
|
<nifi.web.https.network.interface.default />
|
|
<nifi.jetty.work.dir>./work/jetty</nifi.jetty.work.dir>
|
|
<nifi.web.jetty.threads>200</nifi.web.jetty.threads>
|
|
<nifi.web.max.header.size>16 KB</nifi.web.max.header.size>
|
|
<nifi.web.proxy.context.path />
|
|
<nifi.web.proxy.host />
|
|
<nifi.web.max.content.size />
|
|
<nifi.web.max.requests.per.second>30000</nifi.web.max.requests.per.second>
|
|
<nifi.web.max.access.token.requests.per.second>25</nifi.web.max.access.token.requests.per.second>
|
|
<nifi.web.request.timeout>60 secs</nifi.web.request.timeout>
|
|
<nifi.web.request.ip.whitelist />
|
|
<nifi.web.should.send.server.version>true</nifi.web.should.send.server.version>
|
|
<nifi.web.request.log.format>%{client}a - %u %t "%r" %s %O "%{Referer}i" "%{User-Agent}i"</nifi.web.request.log.format>
|
|
<!-- nifi.properties: security properties -->
|
|
<nifi.security.autoreload.enabled>false</nifi.security.autoreload.enabled>
|
|
<nifi.security.autoreload.interval>10 secs</nifi.security.autoreload.interval>
|
|
<nifi.security.keystore>./conf/keystore.p12</nifi.security.keystore>
|
|
<nifi.security.keystoreType>PKCS12</nifi.security.keystoreType>
|
|
<nifi.security.keystorePasswd />
|
|
<nifi.security.keyPasswd />
|
|
<nifi.security.truststore>./conf/truststore.p12</nifi.security.truststore>
|
|
<nifi.security.truststoreType>PKCS12</nifi.security.truststoreType>
|
|
<nifi.security.truststorePasswd />
|
|
<nifi.security.user.authorizer>single-user-authorizer</nifi.security.user.authorizer>
|
|
<nifi.security.allow.anonymous.authentication>false</nifi.security.allow.anonymous.authentication>
|
|
<nifi.security.user.login.identity.provider>single-user-provider</nifi.security.user.login.identity.provider>
|
|
<nifi.security.user.jws.key.rotation.period>PT1H</nifi.security.user.jws.key.rotation.period>
|
|
<nifi.security.x509.principal.extractor />
|
|
<nifi.security.ocsp.responder.url />
|
|
<nifi.security.ocsp.responder.certificate />
|
|
|
|
<!-- nifi.properties: listener bootstrap -->
|
|
<nifi.listener.bootstrap.port>0</nifi.listener.bootstrap.port>
|
|
|
|
<!-- nifi.properties: openid connect -->
|
|
<nifi.security.user.oidc.discovery.url />
|
|
<nifi.security.user.oidc.connect.timeout>5 secs</nifi.security.user.oidc.connect.timeout>
|
|
<nifi.security.user.oidc.read.timeout>5 secs</nifi.security.user.oidc.read.timeout>
|
|
<nifi.security.user.oidc.client.id />
|
|
<nifi.security.user.oidc.client.secret />
|
|
<nifi.security.user.oidc.preferred.jwsalgorithm />
|
|
<nifi.security.user.oidc.additional.scopes />
|
|
<nifi.security.user.oidc.claim.identifying.user />
|
|
<nifi.security.user.oidc.fallback.claims.identifying.user />
|
|
|
|
<!-- nifi.properties: apache knox -->
|
|
<nifi.security.user.knox.url />
|
|
<nifi.security.user.knox.publicKey />
|
|
<nifi.security.user.knox.cookieName>hadoop-jwt</nifi.security.user.knox.cookieName>
|
|
<nifi.security.user.knox.audiences />
|
|
|
|
<!-- nifi.properties: saml -->
|
|
<nifi.security.user.saml.idp.metadata.url />
|
|
<nifi.security.user.saml.sp.entity.id />
|
|
<nifi.security.user.saml.identity.attribute.name />
|
|
<nifi.security.user.saml.group.attribute.name />
|
|
<nifi.security.user.saml.metadata.signing.enabled>false</nifi.security.user.saml.metadata.signing.enabled>
|
|
<nifi.security.user.saml.request.signing.enabled>false</nifi.security.user.saml.request.signing.enabled>
|
|
<nifi.security.user.saml.want.assertions.signed>true</nifi.security.user.saml.want.assertions.signed>
|
|
<nifi.security.user.saml.signature.algorithm>http://www.w3.org/2001/04/xmldsig-more#rsa-sha256</nifi.security.user.saml.signature.algorithm>
|
|
<nifi.security.user.saml.signature.digest.algorithm>http://www.w3.org/2001/04/xmlenc#sha256</nifi.security.user.saml.signature.digest.algorithm>
|
|
<nifi.security.user.saml.message.logging.enabled>false</nifi.security.user.saml.message.logging.enabled>
|
|
<nifi.security.user.saml.authentication.expiration>12 hours</nifi.security.user.saml.authentication.expiration>
|
|
<nifi.security.user.saml.single.logout.enabled>false</nifi.security.user.saml.single.logout.enabled>
|
|
<nifi.security.user.saml.http.client.truststore.strategy>JDK</nifi.security.user.saml.http.client.truststore.strategy>
|
|
<nifi.security.user.saml.http.client.read.timeout>30 secs</nifi.security.user.saml.http.client.read.timeout>
|
|
<nifi.security.user.saml.http.client.connect.timeout>30 secs</nifi.security.user.saml.http.client.connect.timeout>
|
|
|
|
<!-- nifi.properties: cluster common properties (cluster manager and nodes must have same values) -->
|
|
<nifi.cluster.protocol.heartbeat.interval>5 sec</nifi.cluster.protocol.heartbeat.interval>
|
|
<nifi.cluster.protocol.heartbeat.missable.max>8</nifi.cluster.protocol.heartbeat.missable.max>
|
|
<nifi.cluster.protocol.is.secure>false</nifi.cluster.protocol.is.secure>
|
|
|
|
<!-- nifi.properties: cluster node properties (only configure for cluster nodes) -->
|
|
<nifi.cluster.is.node>false</nifi.cluster.is.node>
|
|
<nifi.cluster.node.address />
|
|
<nifi.cluster.node.protocol.port />
|
|
<nifi.cluster.node.protocol.max.threads>50</nifi.cluster.node.protocol.max.threads>
|
|
<nifi.cluster.node.event.history.size>25</nifi.cluster.node.event.history.size>
|
|
<nifi.cluster.node.connection.timeout>5 sec</nifi.cluster.node.connection.timeout>
|
|
<nifi.cluster.node.read.timeout>5 sec</nifi.cluster.node.read.timeout>
|
|
<nifi.cluster.node.max.concurrent.requests>100</nifi.cluster.node.max.concurrent.requests>
|
|
<nifi.cluster.firewall.file />
|
|
<nifi.cluster.flow.election.max.wait.time>5 mins</nifi.cluster.flow.election.max.wait.time>
|
|
<nifi.cluster.flow.election.max.candidates />
|
|
|
|
<!-- nifi.properties: cluster load balance properties -->
|
|
<nifi.cluster.load.balance.host />
|
|
<nifi.cluster.load.balance.port>6342</nifi.cluster.load.balance.port>
|
|
<nifi.cluster.load.balance.connections.per.node>1</nifi.cluster.load.balance.connections.per.node>
|
|
<nifi.cluster.load.balance.max.thread.count>8</nifi.cluster.load.balance.max.thread.count>
|
|
<nifi.cluster.load.balance.comms.timeout>30 sec</nifi.cluster.load.balance.comms.timeout>
|
|
|
|
<!-- nifi.properties: zookeeper properties -->
|
|
<nifi.zookeeper.connect.string />
|
|
<nifi.zookeeper.connect.timeout>10 secs</nifi.zookeeper.connect.timeout>
|
|
<nifi.zookeeper.session.timeout>10 secs</nifi.zookeeper.session.timeout>
|
|
<nifi.zookeeper.root.node>/nifi</nifi.zookeeper.root.node>
|
|
<nifi.zookeeper.client.secure>false</nifi.zookeeper.client.secure>
|
|
<nifi.zookeeper.jute.maxbuffer />
|
|
<nifi.zookeeper.security.keystore />
|
|
<nifi.zookeeper.security.keystoreType />
|
|
<nifi.zookeeper.security.keystorePasswd />
|
|
<nifi.zookeeper.security.truststore />
|
|
<nifi.zookeeper.security.truststoreType />
|
|
<nifi.zookeeper.security.truststorePasswd />
|
|
<nifi.zookeeper.auth.type />
|
|
<nifi.zookeeper.kerberos.removeHostFromPrincipal />
|
|
<nifi.zookeeper.kerberos.removeRealmFromPrincipal />
|
|
|
|
<!-- nifi.properties: kerberos properties -->
|
|
<nifi.kerberos.krb5.file> </nifi.kerberos.krb5.file>
|
|
<nifi.kerberos.service.principal />
|
|
<nifi.kerberos.service.keytab.location />
|
|
<nifi.kerberos.spnego.principal />
|
|
<nifi.kerberos.spnego.keytab.location />
|
|
<nifi.kerberos.spnego.authentication.expiration>12 hours</nifi.kerberos.spnego.authentication.expiration>
|
|
|
|
<!-- nifi.properties: analytics properties -->
|
|
<nifi.analytics.predict.enabled>false</nifi.analytics.predict.enabled>
|
|
<nifi.analytics.predict.interval>3 mins</nifi.analytics.predict.interval>
|
|
<nifi.analytics.query.interval>5 mins</nifi.analytics.query.interval>
|
|
<nifi.analytics.connection.model.implementation>org.apache.nifi.controller.status.analytics.models.OrdinaryLeastSquares</nifi.analytics.connection.model.implementation>
|
|
<nifi.analytics.connection.model.score.name>rSquared</nifi.analytics.connection.model.score.name>
|
|
<nifi.analytics.connection.model.score.threshold>.90</nifi.analytics.connection.model.score.threshold>
|
|
|
|
<!-- nifi.properties: runtime monitoring properties -->
|
|
<nifi.monitor.long.running.task.schedule>1 min</nifi.monitor.long.running.task.schedule>
|
|
<nifi.monitor.long.running.task.threshold>5 mins</nifi.monitor.long.running.task.threshold>
|
|
</properties>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<configuration>
|
|
<attach>true</attach>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>make shared resource</id>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<phase>package</phase>
|
|
<configuration>
|
|
<descriptors>
|
|
<descriptor>src/main/assembly/dependencies.xml</descriptor>
|
|
</descriptors>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|