# configuration for the JRuby interpreters
jruby-puppet: {
    # Where the puppet-agent dependency places puppet, facter, etc...
    # Puppet server expects to load Puppet from this location
    ruby-load-path: [/opt/puppetlabs/puppet/lib/ruby/vendor_ruby]

    # This setting determines where JRuby will install gems.  It is used for loading gems,
    # and also by the `puppetserver gem` command line tool.
    gem-home: /opt/puppetlabs/server/data/puppetserver/jruby-gems

    # This setting defines the complete "GEM_PATH" for jruby.  If set, it should include
    # the gem-home directory as well as any other directories that gems can be loaded
    # from (including the vendored gems directory for gems that ship with puppetserver)
    gem-path: [${jruby-puppet.gem-home}, "/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems", "/opt/puppetlabs/puppet/lib/ruby/vendor_gems"]

    # PLEASE NOTE: Use caution when modifying the below settings. Modifying
    # these settings will change the value of the corresponding Puppet settings
    # for Puppet Server, but not for the Puppet CLI tools. This likely will not
    # be a problem with server-var-dir, server-run-dir, or server-log-dir unless
    # some critical setting in puppet.conf is interpolating the value of one
    # of the corresponding settings, but it is important that any changes made to
    # server-conf-dir and server-code-dir are also made to the corresponding Puppet
    # settings when running the Puppet CLI tools. See
    # https://docs.puppetlabs.com/puppetserver/latest/puppet_conf_setting_diffs.html#overriding-puppet-settings-in-puppet-server
    # for more information.

    # (optional) path to puppet conf dir; if not specified, will use
    # /etc/puppetlabs/puppet
    server-conf-dir: /etc/puppetlabs/puppet

    # (optional) path to puppet code dir; if not specified, will use
    # /etc/puppetlabs/code
    server-code-dir: /etc/puppetlabs/code

    # (optional) path to puppet var dir; if not specified, will use
    # /opt/puppetlabs/server/data/puppetserver
    server-var-dir: /opt/puppetlabs/server/data/puppetserver

    # (optional) path to puppet run dir; if not specified, will use
    # /var/run/puppetlabs/puppetserver
    server-run-dir: /var/run/puppetlabs/puppetserver

    # (optional) path to puppet log dir; if not specified, will use
    # /var/log/puppetlabs/puppetserver
    server-log-dir: /var/log/puppetlabs/puppetserver

    # (optional) maximum number of JRuby instances to allow
    #max-active-instances: 1

    # (optional) Whether or not to track lookups during compilation; turning
    # this on will send that information to puppetdb
    # track-lookups: true
}

# settings related to HTTPS client requests made by Puppet Server
http-client: {
    # A list of acceptable protocols for making HTTPS requests
    #ssl-protocols: [TLSv1.3, TLSv1.2]

    # A list of acceptable cipher suites for making HTTPS requests
    #cipher-suites: [TLS_RSA_WITH_AES_256_CBC_SHA256,
    #                TLS_RSA_WITH_AES_256_CBC_SHA,
    #                TLS_RSA_WITH_AES_128_CBC_SHA256,
    #                TLS_RSA_WITH_AES_128_CBC_SHA]

    # Whether to enable http-client metrics; defaults to 'true'.
    #metrics-enabled: true
}

# settings related to profiling the puppet Ruby code
profiler: {
    # enable or disable profiling for the Ruby code; defaults to 'true'.
    #enabled: true
}

# settings related to submitting module metrics via Dropsonde
dropsonde: {
    # enabled: true

    # How long, in seconds, to wait between dropsonde submissions
    # Defaults to one week.
    # interval: 604800
}
