Sha256: bdbe2360f6dde08f2298fac57d6ae953270da133803814c028ea8671faff55c2

Contents?: true

Size: 1.69 KB

Versions: 6

Compression:

Stored size: 1.69 KB

Contents

# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
# frozen_string_literal: true

require 'new_relic/agent/configuration/dotted_hash'

module NewRelic
  module Agent
    module Configuration
      class HighSecuritySource < DottedHash
        def initialize(local_settings)
          super({
            :capture_params => false,
            :'resque.capture_params' => false,
            :'sidekiq.capture_params' => false,
            :'attributes.include' => [],

            :'transaction_tracer.record_sql' => record_sql_setting(local_settings, :'transaction_tracer.record_sql'),
            :'slow_sql.record_sql' => record_sql_setting(local_settings, :'slow_sql.record_sql'),
            :'mongo.obfuscate_queries' => true,
            :'elasticsearch.obfuscate_queries' => true,
            :'transaction_tracer.record_redis_arguments' => false,

            :'custom_insights_events.enabled' => false,
            :'strip_exception_messages.enabled' => true
          })
        end

        OFF = "off".freeze
        RAW = "raw".freeze
        OBFUSCATED = "obfuscated".freeze

        SET_TO_OBFUSCATED = [RAW, OBFUSCATED]

        def record_sql_setting(local_settings, key)
          original_value = local_settings[key]
          result = if SET_TO_OBFUSCATED.include?(original_value)
            OBFUSCATED
          else
            OFF
          end

          if result != original_value
            NewRelic::Agent.logger.info("Disabling setting #{key}='#{original_value}' because high security mode is enabled. Value will be '#{result}'")
          end

          result
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
newrelic_rpm-8.16.0 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-8.15.0 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-8.14.0 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-8.13.1 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-8.13.0 lib/new_relic/agent/configuration/high_security_source.rb
newrelic_rpm-8.12.0 lib/new_relic/agent/configuration/high_security_source.rb