Module: Legion::API::Settings

Defined in:
lib/legion/api/default_settings.rb

Class Method Summary collapse

Class Method Details

.defaultObject



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/legion/api/default_settings.rb', line 8

def self.default
  {
    enabled:         true,
    port:            4567,
    bind:            '127.0.0.1',
    puma:            puma_defaults,
    bind_retries:    3,
    bind_retry_wait: 2,
    tls:             tls_defaults,
    elastic_apm:     elastic_apm_defaults
  }
end

.elastic_apm_defaultsObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/legion/api/default_settings.rb', line 36

def self.elastic_apm_defaults
  {
    enabled:                  false,
    server_url:               'http://localhost:8200',
    api_key:                  nil,
    secret_token:             nil,
    api_buffer_size:          256,
    api_request_size:         '750kb',
    api_request_time:         '10s',
    capture_body:             'off',
    capture_headers:          true,
    capture_env:              true,
    disable_send:             false,
    environment:              nil,
    hostname:                 nil,
    ignore_url_patterns:      %w[/api/health /api/ready],
    pool_size:                1,
    service_name:             'LegionIO',
    service_node_name:        nil,
    service_version:          nil,
    sample_rate:              1.0,
    verify_server_cert:       true,
    central_config:           true,
    span_frames_min_duration: '5ms'
  }
end

.puma_defaultsObject



21
22
23
24
25
26
27
28
# File 'lib/legion/api/default_settings.rb', line 21

def self.puma_defaults
  {
    min_threads:        10,
    max_threads:        16,
    persistent_timeout: 20,
    first_data_timeout: 30
  }
end

.tls_defaultsObject



30
31
32
33
34
# File 'lib/legion/api/default_settings.rb', line 30

def self.tls_defaults
  {
    enabled: false
  }
end