<?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.15.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.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.encryption.key.provider.implementation />
        <nifi.flowfile.repository.encryption.key.provider.location />
        <nifi.flowfile.repository.encryption.key.id />
        <nifi.flowfile.repository.encryption.key />
        <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.repository.encryption.key.provider.implementation />
        <nifi.content.repository.encryption.key.provider.location />
        <nifi.content.repository.encryption.key.id />
        <nifi.content.repository.encryption.key />
        <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.provider>BC</nifi.sensitive.props.provider>
        <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.encryption.key.provider.implementation />
        <nifi.provenance.repository.encryption.key.provider.location />
        <nifi.provenance.repository.encryption.key.id />
        <nifi.provenance.repository.encryption.key />
        <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.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.x509.principal.extractor />
        <nifi.security.ocsp.responder.url />
        <nifi.security.ocsp.responder.certificate />

        <!-- 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.threads>10</nifi.cluster.node.protocol.threads>
        <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.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>
