# This file is the fluentd configuration entrypoint. Edit with care.

@include configs.d/openshift/system.conf

# In each section below, pre- and post- includes don't include anything initially;
# they exist to enable future additions to openshift conf as needed.

## sources
{% if deploy_type in ['hosted', 'secure-aggregator'] %}
## ordered so that syslog always runs last...
@include configs.d/openshift/input-pre-*.conf
@include configs.d/dynamic/input-docker-*.conf
@include configs.d/dynamic/input-syslog-*.conf
@include configs.d/openshift/input-post-*.conf
##
{% else %}
<source>
  @type secure_forward
  @label @INGRESS

  self_hostname ${hostname}
  bind 0.0.0.0
  port {{openshift_logging_fluentd_aggregating_port}}

  shared_key {{openshift_logging_fluentd_shared_key}}

  secure {{openshift_logging_fluentd_aggregating_secure}}
  enable_strict_verification {{openshift_logging_fluentd_aggregating_strict}}
  ca_cert_path        {{openshift_logging_fluentd_aggregating_cert_path}}
  ca_private_key_path {{openshift_logging_fluentd_aggregating_key_path}}
  ca_private_key_passphrase {{openshift_logging_fluentd_aggregating_passphrase}}

  <client>
    host {{openshift_logging_fluentd_aggregating_host}}
  </client>
</source>
{% endif %}

<label @INGRESS>
{% if deploy_type in ['hosted', 'secure-host'] %}
## filters
  @include configs.d/openshift/filter-pre-*.conf
  @include configs.d/openshift/filter-retag-journal.conf
  @include configs.d/openshift/filter-k8s-meta.conf
  @include configs.d/openshift/filter-kibana-transform.conf
  @include configs.d/openshift/filter-k8s-flatten-hash.conf
  @include configs.d/openshift/filter-k8s-record-transform.conf
  @include configs.d/openshift/filter-syslog-record-transform.conf
  @include configs.d/openshift/filter-viaq-data-model.conf
  @include configs.d/openshift/filter-post-*.conf
##
</label>

<label @OUTPUT>
## matches
  @include configs.d/openshift/output-pre-*.conf
  @include configs.d/openshift/output-operations.conf
  @include configs.d/openshift/output-applications.conf
  # no post - applications.conf matches everything left
##
{% else %}
  <match **>
    @type secure_forward

    self_hostname ${hostname}
    shared_key {{openshift_logging_fluentd_shared_key}}

    secure {{openshift_logging_fluentd_aggregating_secure}}
    enable_strict_verification {{openshift_logging_fluentd_aggregating_strict}}
    ca_cert_path        {{openshift_logging_fluentd_aggregating_cert_path}}
    ca_private_key_path {{openshift_logging_fluentd_aggregating_key_path}}
    ca_private_key_passphrase {{openshift_logging_fluentd_aggregating_passphrase}}

    <server>
      host {{openshift_logging_fluentd_aggregating_host}}
      port {{openshift_logging_fluentd_aggregating_port}}
    </server>
  </match>
{% endif %}
</label>
