Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 53 additions & 53 deletions logstash-core/lib/logstash/environment.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,76 +38,76 @@ def self.as_java_range(r)
end

[
Setting::Boolean.new("allow_superuser", false),
Setting::SettingString.new("node.name", Socket.gethostname),
Setting::SettingNullableString.new("path.config", nil, false),
Setting::BooleanSetting.new("allow_superuser", false),
Setting::StringSetting.new("node.name", Socket.gethostname),
Setting::NullableStringSetting.new("path.config", nil, false),
Setting::WritableDirectory.new("path.data", ::File.join(LogStash::Environment::LOGSTASH_HOME, "data")),
Setting::SettingNullableString.new("config.string", nil, false),
Setting::Boolean.new("config.test_and_exit", false),
Setting::Boolean.new("config.reload.automatic", false),
Setting::NullableStringSetting.new("config.string", nil, false),
Setting::BooleanSetting.new("config.test_and_exit", false),
Setting::BooleanSetting.new("config.reload.automatic", false),
Setting::TimeValue.new("config.reload.interval", "3s"), # in seconds
Setting::Boolean.new("config.support_escapes", false),
Setting::SettingString.new("config.field_reference.escape_style", "none", true, %w(none percent ampersand)),
Setting::Boolean.new("metric.collect", true),
Setting::SettingString.new("pipeline.id", "main"),
Setting::Boolean.new("pipeline.system", false),
Setting::SettingPositiveInteger.new("pipeline.workers", LogStash::Config::CpuCoreStrategy.maximum),
Setting::SettingPositiveInteger.new("pipeline.batch.size", 125),
Setting::SettingNumeric.new("pipeline.batch.delay", 50), # in milliseconds
Setting::Boolean.new("pipeline.unsafe_shutdown", false),
Setting::Boolean.new("pipeline.reloadable", true),
Setting::Boolean.new("pipeline.plugin_classloaders", false),
Setting::Boolean.new("pipeline.separate_logs", false),
Setting::BooleanSetting.new("config.support_escapes", false),
Setting::StringSetting.new("config.field_reference.escape_style", "none", true, %w(none percent ampersand)),
Setting::BooleanSetting.new("metric.collect", true),
Setting::StringSetting.new("pipeline.id", "main"),
Setting::BooleanSetting.new("pipeline.system", false),
Setting::PositiveIntegerSetting.new("pipeline.workers", LogStash::Config::CpuCoreStrategy.maximum),
Setting::PositiveIntegerSetting.new("pipeline.batch.size", 125),
Setting::NumericSetting.new("pipeline.batch.delay", 50), # in milliseconds
Setting::BooleanSetting.new("pipeline.unsafe_shutdown", false),
Setting::BooleanSetting.new("pipeline.reloadable", true),
Setting::BooleanSetting.new("pipeline.plugin_classloaders", false),
Setting::BooleanSetting.new("pipeline.separate_logs", false),
Setting::CoercibleString.new("pipeline.ordered", "auto", true, ["auto", "true", "false"]),
Setting::CoercibleString.new("pipeline.ecs_compatibility", "v8", true, %w(disabled v1 v8)),
Setting.new("path.plugins", Array, []),
Setting::SettingNullableString.new("interactive", nil, false),
Setting::Boolean.new("config.debug", false),
Setting::SettingString.new("log.level", "info", true, ["fatal", "error", "warn", "debug", "info", "trace"]),
Setting::Boolean.new("version", false),
Setting::Boolean.new("help", false),
Setting::Boolean.new("enable-local-plugin-development", false),
Setting::SettingString.new("log.format", "plain", true, ["json", "plain"]),
Setting::Boolean.new("log.format.json.fix_duplicate_message_fields", true),
Setting::Boolean.new("api.enabled", true),
Setting::SettingString.new("api.http.host", "127.0.0.1"),
Setting::NullableStringSetting.new("interactive", nil, false),
Setting::BooleanSetting.new("config.debug", false),
Setting::StringSetting.new("log.level", "info", true, ["fatal", "error", "warn", "debug", "info", "trace"]),
Setting::BooleanSetting.new("version", false),
Setting::BooleanSetting.new("help", false),
Setting::BooleanSetting.new("enable-local-plugin-development", false),
Setting::StringSetting.new("log.format", "plain", true, ["json", "plain"]),
Setting::BooleanSetting.new("log.format.json.fix_duplicate_message_fields", true),
Setting::BooleanSetting.new("api.enabled", true),
Setting::StringSetting.new("api.http.host", "127.0.0.1"),
Setting::PortRangeSetting.new("api.http.port", 9600..9700),
Setting::SettingString.new("api.environment", "production"),
Setting::SettingString.new("api.auth.type", "none", true, %w(none basic)),
Setting::SettingString.new("api.auth.basic.username", nil, false).nullable,
Setting::StringSetting.new("api.environment", "production"),
Setting::StringSetting.new("api.auth.type", "none", true, %w(none basic)),
Setting::StringSetting.new("api.auth.basic.username", nil, false).nullable,
Setting::Password.new("api.auth.basic.password", nil, false).nullable,
Setting::SettingString.new("api.auth.basic.password_policy.mode", "WARN", true, %w[WARN ERROR]),
Setting::SettingNumeric.new("api.auth.basic.password_policy.length.minimum", 8),
Setting::SettingString.new("api.auth.basic.password_policy.include.upper", "REQUIRED", true, %w[REQUIRED OPTIONAL]),
Setting::SettingString.new("api.auth.basic.password_policy.include.lower", "REQUIRED", true, %w[REQUIRED OPTIONAL]),
Setting::SettingString.new("api.auth.basic.password_policy.include.digit", "REQUIRED", true, %w[REQUIRED OPTIONAL]),
Setting::SettingString.new("api.auth.basic.password_policy.include.symbol", "OPTIONAL", true, %w[REQUIRED OPTIONAL]),
Setting::Boolean.new("api.ssl.enabled", false),
Setting::StringSetting.new("api.auth.basic.password_policy.mode", "WARN", true, %w[WARN ERROR]),
Setting::NumericSetting.new("api.auth.basic.password_policy.length.minimum", 8),
Setting::StringSetting.new("api.auth.basic.password_policy.include.upper", "REQUIRED", true, %w[REQUIRED OPTIONAL]),
Setting::StringSetting.new("api.auth.basic.password_policy.include.lower", "REQUIRED", true, %w[REQUIRED OPTIONAL]),
Setting::StringSetting.new("api.auth.basic.password_policy.include.digit", "REQUIRED", true, %w[REQUIRED OPTIONAL]),
Setting::StringSetting.new("api.auth.basic.password_policy.include.symbol", "OPTIONAL", true, %w[REQUIRED OPTIONAL]),
Setting::BooleanSetting.new("api.ssl.enabled", false),
Setting::ExistingFilePath.new("api.ssl.keystore.path", nil, false).nullable,
Setting::Password.new("api.ssl.keystore.password", nil, false).nullable,
Setting::StringArray.new("api.ssl.supported_protocols", nil, true, %w[TLSv1 TLSv1.1 TLSv1.2 TLSv1.3]),
Setting::SettingString.new("queue.type", "memory", true, ["persisted", "memory"]),
Setting::Boolean.new("queue.drain", false),
Setting::StringSetting.new("queue.type", "memory", true, ["persisted", "memory"]),
Setting::BooleanSetting.new("queue.drain", false),
Setting::Bytes.new("queue.page_capacity", "64mb"),
Setting::Bytes.new("queue.max_bytes", "1024mb"),
Setting::SettingNumeric.new("queue.max_events", 0), # 0 is unlimited
Setting::SettingNumeric.new("queue.checkpoint.acks", 1024), # 0 is unlimited
Setting::SettingNumeric.new("queue.checkpoint.writes", 1024), # 0 is unlimited
Setting::SettingNumeric.new("queue.checkpoint.interval", 1000), # remove it for #17155
Setting::Boolean.new("queue.checkpoint.retry", true),
Setting::Boolean.new("dead_letter_queue.enable", false),
Setting::NumericSetting.new("queue.max_events", 0), # 0 is unlimited
Setting::NumericSetting.new("queue.checkpoint.acks", 1024), # 0 is unlimited
Setting::NumericSetting.new("queue.checkpoint.writes", 1024), # 0 is unlimited
Setting::NumericSetting.new("queue.checkpoint.interval", 1000), # remove it for #17155
Setting::BooleanSetting.new("queue.checkpoint.retry", true),
Setting::BooleanSetting.new("dead_letter_queue.enable", false),
Setting::Bytes.new("dead_letter_queue.max_bytes", "1024mb"),
Setting::SettingNumeric.new("dead_letter_queue.flush_interval", 5000),
Setting::SettingString.new("dead_letter_queue.storage_policy", "drop_newer", true, ["drop_newer", "drop_older"]),
Setting::SettingNullableString.new("dead_letter_queue.retain.age"), # example 5d
Setting::NumericSetting.new("dead_letter_queue.flush_interval", 5000),
Setting::StringSetting.new("dead_letter_queue.storage_policy", "drop_newer", true, ["drop_newer", "drop_older"]),
Setting::NullableStringSetting.new("dead_letter_queue.retain.age"), # example 5d
Setting::TimeValue.new("slowlog.threshold.warn", "-1"),
Setting::TimeValue.new("slowlog.threshold.info", "-1"),
Setting::TimeValue.new("slowlog.threshold.debug", "-1"),
Setting::TimeValue.new("slowlog.threshold.trace", "-1"),
Setting::SettingString.new("keystore.classname", "org.logstash.secret.store.backend.JavaKeyStore"),
Setting::SettingString.new("keystore.file", ::File.join(::File.join(LogStash::Environment::LOGSTASH_HOME, "config"), "logstash.keystore"), false), # will be populated on
Setting::SettingNullableString.new("monitoring.cluster_uuid"),
Setting::SettingString.new("pipeline.buffer.type", "heap", true, ["direct", "heap"])
Setting::StringSetting.new("keystore.classname", "org.logstash.secret.store.backend.JavaKeyStore"),
Setting::StringSetting.new("keystore.file", ::File.join(::File.join(LogStash::Environment::LOGSTASH_HOME, "config"), "logstash.keystore"), false), # will be populated on
Setting::NullableStringSetting.new("monitoring.cluster_uuid"),
Setting::StringSetting.new("pipeline.buffer.type", "heap", true, ["direct", "heap"])
# post_process
].each {|setting| SETTINGS.register(setting) }

Expand Down
13 changes: 6 additions & 7 deletions logstash-core/lib/logstash/settings.rb
Original file line number Diff line number Diff line change
Expand Up @@ -412,12 +412,11 @@ def coerce(value)
end
### Specific settings #####

java_import org.logstash.settings.Boolean
java_import org.logstash.settings.SettingNumeric
java_import org.logstash.settings.BooleanSetting
java_import org.logstash.settings.NumericSetting

java_import org.logstash.settings.SettingInteger

java_import org.logstash.settings.SettingPositiveInteger
java_import org.logstash.settings.IntegerSetting
java_import org.logstash.settings.PositiveIntegerSetting

java_import org.logstash.settings.PortSetting # seems unused

Expand All @@ -434,9 +433,9 @@ def validate(value)
end
end

java_import org.logstash.settings.SettingString
java_import org.logstash.settings.StringSetting

java_import org.logstash.settings.SettingNullableString
java_import org.logstash.settings.NullableStringSetting

class Password < Coercible
def initialize(name, default = nil, strict = true)
Expand Down
4 changes: 2 additions & 2 deletions logstash-core/lib/logstash/util/settings_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ module LogStash::Util::SettingsHelper
# The `path.settings` and `path.logs` can not be defined in "logstash/environment" since the `Environment::LOGSTASH_HOME` doesn't
# exist unless launched via "bootstrap/environment"
def self.pre_process
LogStash::SETTINGS.register(LogStash::Setting::SettingString.new("path.settings", ::File.join(LogStash::Environment::LOGSTASH_HOME, "config")))
LogStash::SETTINGS.register(LogStash::Setting::SettingString.new("path.logs", ::File.join(LogStash::Environment::LOGSTASH_HOME, "logs")))
LogStash::SETTINGS.register(LogStash::Setting::StringSetting.new("path.settings", ::File.join(LogStash::Environment::LOGSTASH_HOME, "config")))
LogStash::SETTINGS.register(LogStash::Setting::StringSetting.new("path.logs", ::File.join(LogStash::Environment::LOGSTASH_HOME, "logs")))
end

# Ensure that any settings are re-calculated after loading yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@ def registerIfNot(setting)
let(:report_class) { described_class }

before :all do
registerIfNot(LogStash::Setting::Boolean.new("xpack.monitoring.enabled", false))
registerIfNot(LogStash::Setting::BooleanSetting.new("xpack.monitoring.enabled", false))
registerIfNot(LogStash::Setting::ArrayCoercible.new("xpack.monitoring.elasticsearch.hosts", String, ["http://localhost:9200"]))
registerIfNot(LogStash::Setting::SettingNullableString.new("xpack.monitoring.elasticsearch.username", "logstash_TEST system"))
registerIfNot(LogStash::Setting::SettingNullableString.new("xpack.monitoring.elasticsearch.username", "logstash_TEST system"))
registerIfNot(LogStash::Setting::NullableStringSetting.new("xpack.monitoring.elasticsearch.username", "logstash_TEST system"))
registerIfNot(LogStash::Setting::NullableStringSetting.new("xpack.monitoring.elasticsearch.username", "logstash_TEST system"))
end

after :each do
Expand Down
16 changes: 8 additions & 8 deletions logstash-core/spec/logstash/queue_factory_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,16 @@
let(:settings_array) do
[
LogStash::Setting::WritableDirectory.new("path.queue", Stud::Temporary.pathname),
LogStash::Setting::SettingString.new("queue.type", "memory", true, ["persisted", "memory"]),
LogStash::Setting::StringSetting.new("queue.type", "memory", true, ["persisted", "memory"]),
LogStash::Setting::Bytes.new("queue.page_capacity", "8mb"),
LogStash::Setting::Bytes.new("queue.max_bytes", "64mb"),
LogStash::Setting::SettingNumeric.new("queue.max_events", 0),
LogStash::Setting::SettingNumeric.new("queue.checkpoint.acks", 1024),
LogStash::Setting::SettingNumeric.new("queue.checkpoint.writes", 1024),
LogStash::Setting::Boolean.new("queue.checkpoint.retry", false),
LogStash::Setting::SettingString.new("pipeline.id", pipeline_id),
LogStash::Setting::SettingPositiveInteger.new("pipeline.batch.size", 125),
LogStash::Setting::SettingPositiveInteger.new("pipeline.workers", LogStash::Config::CpuCoreStrategy.maximum)
LogStash::Setting::NumericSetting.new("queue.max_events", 0),
LogStash::Setting::NumericSetting.new("queue.checkpoint.acks", 1024),
LogStash::Setting::NumericSetting.new("queue.checkpoint.writes", 1024),
LogStash::Setting::BooleanSetting.new("queue.checkpoint.retry", false),
LogStash::Setting::StringSetting.new("pipeline.id", pipeline_id),
LogStash::Setting::PositiveIntegerSetting.new("pipeline.batch.size", 125),
LogStash::Setting::PositiveIntegerSetting.new("pipeline.workers", LogStash::Config::CpuCoreStrategy.maximum)
]
end

Expand Down
2 changes: 1 addition & 1 deletion logstash-core/spec/logstash/settings/integer_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
require "spec_helper"
require "logstash/settings"

describe LogStash::Setting::SettingInteger do
describe LogStash::Setting::IntegerSetting do
subject { described_class.new("a number", nil, false) }
describe "#set" do
context "when giving a number which is not an integer" do
Expand Down
2 changes: 1 addition & 1 deletion logstash-core/spec/logstash/settings/nullable_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

describe LogStash::Setting::Nullable do
let(:setting_name) { "this.that" }
let(:normal_setting) { LogStash::Setting::SettingString.new(setting_name, nil, false, possible_strings) }
let(:normal_setting) { LogStash::Setting::StringSetting.new(setting_name, nil, false, possible_strings) }
let(:possible_strings) { [] } # empty means any string passes

subject(:nullable_setting) { normal_setting.nullable }
Expand Down
2 changes: 1 addition & 1 deletion logstash-core/spec/logstash/settings/numeric_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
require "logstash/settings"

# Mirrored in java class org.logstash.settings.SettingNumeric
describe LogStash::Setting::SettingNumeric do
describe LogStash::Setting::NumericSetting do
subject { described_class.new("a number", nil, false) }
describe "#set" do
context "when giving a string which doesn't represent a string" do
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
let(:default_value) { "DeFaUlT" }

let(:settings) { LogStash::Settings.new }
let(:canonical_setting) { LogStash::Setting::SettingString.new(canonical_setting_name, default_value, true) }
let(:canonical_setting) { LogStash::Setting::StringSetting.new(canonical_setting_name, default_value, true) }

let(:events) { [] }

Expand Down Expand Up @@ -124,7 +124,7 @@
let(:value) { true }
let(:default_value) { false }

let(:canonical_setting) { LogStash::Setting::Boolean.new(canonical_setting_name, default_value, true) }
let(:canonical_setting) { LogStash::Setting::BooleanSetting.new(canonical_setting_name, default_value, true) }

it 'resolves to the value provided for the deprecated alias' do
expect(settings.get(canonical_setting_name)).to eq(true)
Expand All @@ -147,7 +147,7 @@
let(:old_value) { "iron man" }
let(:canonical_name) { "iron.setting" }
let(:deprecated_name) { "iron.oxide.setting" }
subject { LogStash::Setting::SettingString.new(canonical_name, old_value, true) }
subject { LogStash::Setting::StringSetting.new(canonical_name, old_value, true) }

it 'logs a deprecation warning with target remove version' do
settings.set(deprecated_name, new_value)
Expand All @@ -162,7 +162,7 @@
let(:old_value) { true }
let(:canonical_name) { "bool.setting" }
let(:deprecated_name) { "boo.setting" }
subject { LogStash::Setting::Boolean.new(canonical_name, old_value, true) }
subject { LogStash::Setting::BooleanSetting.new(canonical_name, old_value, true) }

it 'does not raise error' do
expect { settings.set(deprecated_name, new_value) }.to_not raise_error
Expand Down
2 changes: 1 addition & 1 deletion logstash-core/spec/logstash/settings/string_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
require "logstash/settings"

# Mirrored in java class org.logstash.settings.SettingStringTest
describe LogStash::Setting::SettingString do
describe LogStash::Setting::StringSetting do
let(:possible_values) { ["a", "b", "c"] }
subject { described_class.new("mytext", possible_values.first, true, possible_values) }
describe "#set" do
Expand Down
Loading