<?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.21.0</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>50 KB</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.nar.unpack.uber.jar>false</nifi.nar.unpack.uber.jar>

        <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.web.https.application.protocols>http/1.1</nifi.web.https.application.protocols>
        <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.security.user.oidc.claim.groups>groups</nifi.security.user.oidc.claim.groups>
        <nifi.security.user.oidc.truststore.strategy>JDK</nifi.security.user.oidc.truststore.strategy>
        <nifi.security.user.oidc.token.refresh.window>60 secs</nifi.security.user.oidc.token.refresh.window>

        <!-- 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.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.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>

        <nifi.performance.tracking.percentage>0</nifi.performance.tracking.percentage>
    </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>
