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

MiNiFi Config Version: 2
Flow Controller:
  name: MiNiFi Flow
  comment: ''
Core Properties:
  flow controller graceful shutdown period: 10 sec
  flow service write delay interval: 500 ms
  administrative yield duration: 30 sec
  bored yield duration: 10 millis
  max concurrent threads: 1
FlowFile Repository:
  partitions: 256
  checkpoint interval: 2 mins
  always sync: false
  Swap:
    threshold: 20000
    in period: 5 sec
    in threads: 1
    out period: 5 sec
    out threads: 4
Content Repository:
  content claim max appendable size: 10 MB
  content claim max flow files: 100
  always sync: false
Provenance Repository:
  provenance rollover time: 1 min
Component Status Repository:
  buffer size: 1440
  snapshot frequency: 1 min
Security Properties:
  keystore: /tmp/ssl/localhost-ks.jks
  keystore type: JKS
  keystore password: localtest
  key password: localtest
  truststore: /tmp/ssl/localhost-ts.jks
  truststore type: JKS
  truststore password: localtest
  ssl protocol: TLS
  Sensitive Props:
    key: ''
    algorithm: PBEWITHMD5AND256BITAES-CBC-OPENSSL
    provider: BC
Processors:
- id: 94b8e610-b4ed-3ec9-b26f-c839931bf3e2
  name: TailFile
  class: org.apache.nifi.processors.standard.TailFile
  max concurrent tasks: 1
  scheduling strategy: TIMER_DRIVEN
  scheduling period: 1 sec
  penalization period: 30 sec
  yield period: 1 sec
  run duration nanos: 0
  auto-terminated relationships list: []
  Properties:
    File to Tail: logs/minifi-app.log
    Initial Start Position: Beginning of File
    Rolling Filename Pattern: minifi-app*
Connections:
- id: f6cef9b0-8982-391c-8d70-76f33917ac12
  name: TailToS2S
  source id: 94b8e610-b4ed-3ec9-b26f-c839931bf3e2
  source relationship names:
  - success
  destination id: 8644cbcc-a45c-40e0-964d-5e536e2ada61
  max work queue size: 0
  max work queue data size: 1 MB
  flowfile expiration: 60 sec
  queue prioritizer class: org.apache.nifi.prioritizer.NewestFlowFileFirstPrioritizer
Remote Process Groups:
- id: 8644cbcc-a45c-40e0-964d-4d243afcbbb2
  name: NiFi Flow
  url: https://localhost:8090/nifi
  comment: ''
  timeout: 30 secs
  local network interface: eth1
  yield period: 10 sec
  Input Ports:
  - id: 8644cbcc-a45c-40e0-964d-5e536e2ada61
    name: tailed log
    comment: ''
    max concurrent tasks: 1
    use compression: false
Provenance Reporting:
  comment: ''
  scheduling strategy: TIMER_DRIVEN
  scheduling period: 30 sec
  destination url: https://localhost:8090/
  port name: provenance
  originating url: http://${hostname(true)}:8081/nifi
  use compression: true
  timeout: 30 secs
  batch size: 1000
