mirror of
https://github.com/elastic/logstash.git
synced 2025-04-19 04:15:23 -04:00
Enabled: * SpaceInsideArrayLiteralBrackets * SpaceInsideParens * SpaceInsidePercentLiteralDelimiters * SpaceInsideStringInterpolation * Add enforced style for SpaceInsideStringInterpolation Enabled without offenses: * SpaceInsideArrayPercentLiteral * Layout/SpaceInsideRangeLiteral * Layout/SpaceInsideReferenceBrackets
67 lines
3.1 KiB
Ruby
67 lines
3.1 KiB
Ruby
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
# or more contributor license agreements. Licensed under the Elastic License;
|
|
# you may not use this file except in compliance with the Elastic License.
|
|
|
|
require 'logstash/namespace'
|
|
|
|
module LogStash
|
|
module Arcsight
|
|
module ConfigHelper
|
|
extend self
|
|
def kafka_input_ssl_sasl_config(bound_scope)
|
|
security_protocol = bound_scope.setting("var.input.kafka.security_protocol", "unset")
|
|
return "" if security_protocol == "unset"
|
|
lines = ["security_protocol => '#{security_protocol}'"]
|
|
lines.push("ssl_truststore_type => '#{bound_scope.setting("var.input.kafka.ssl_truststore_type", "")}'")
|
|
|
|
ssl_truststore_location = bound_scope.setting("var.input.kafka.ssl_truststore_location", "")
|
|
lines.push("ssl_truststore_location => '#{ssl_truststore_location}'") unless ssl_truststore_location.empty?
|
|
|
|
["ssl_truststore_password", "ssl_keystore_password", "ssl_key_password"].each do |name|
|
|
full_name = "var.input.kafka.".concat(name)
|
|
lines.push("#{name} => '#{bound_scope.raw_setting(full_name)}'") if bound_scope.has_setting?(full_name)
|
|
end
|
|
|
|
lines.push("ssl_keystore_type => '#{bound_scope.setting("var.input.kafka.ssl_keystore_type", "")}'")
|
|
|
|
ssl_keystore_location = bound_scope.setting("var.input.kafka.ssl_keystore_location", "")
|
|
lines.push("ssl_keystore_location => '#{ssl_keystore_location}'") unless ssl_keystore_location.empty?
|
|
|
|
lines.push("sasl_mechanism => '#{bound_scope.setting("var.input.kafka.sasl_mechanism", "")}'")
|
|
lines.push("sasl_kerberos_service_name => '#{bound_scope.setting("var.input.kafka.sasl_kerberos_service_name", "")}'")
|
|
|
|
jaas_path = bound_scope.setting("var.input.kafka.jaas_path", "")
|
|
lines.push("jaas_path => '#{jaas_path}'") unless jaas_path.empty?
|
|
|
|
kerberos_config = bound_scope.setting("var.input.kafka.kerberos_config", "")
|
|
lines.push("kerberos_config => '#{kerberos_config}'") unless kerberos_config.empty?
|
|
|
|
lines.compact.join("\n ")
|
|
end
|
|
|
|
def tcp_input_ssl_config(bound_scope)
|
|
ssl_enabled = bound_scope.setting("var.input.tcp.ssl_enable", false)
|
|
return "" unless ssl_enabled
|
|
lines = ["ssl_enable => true"]
|
|
|
|
verify_enabled = bound_scope.setting("var.input.tcp.ssl_verify", true)
|
|
lines.push("ssl_verify => #{verify_enabled}")
|
|
|
|
ssl_cert = bound_scope.setting("var.input.tcp.ssl_cert", "")
|
|
lines.push("ssl_cert => '#{ssl_cert}'") unless ssl_cert.empty?
|
|
|
|
ssl_key = bound_scope.setting("var.input.tcp.ssl_key", "")
|
|
lines.push("ssl_key => '#{ssl_key}'") unless ssl_key.empty?
|
|
|
|
lines.push("ssl_key_passphrase => '#{bound_scope.setting("var.input.tcp.ssl_key_passphrase", "")}'")
|
|
|
|
certs_array_as_string = bound_scope.array_to_string(
|
|
bound_scope.get_setting(LogStash::Setting::SplittableStringArray.new("var.input.tcp.ssl_extra_chain_certs", String, []))
|
|
)
|
|
lines.push("ssl_extra_chain_certs => #{certs_array_as_string}")
|
|
|
|
lines.compact.join("\n ")
|
|
end
|
|
end
|
|
end
|
|
end
|