Files
NLnetLabs-krill/defaults/krill-pubd.conf
T

211 lines
9.1 KiB
Plaintext

######################################################################################
# #
# DATA #
# #
######################################################################################
# Specify the directory where the publication server will store its data.
# Note that clustering through a shared data directory is not supported.
# But, we plan to look into a proper clustering solution later.
#
### data_dir = "./data"
# Specify the path to the PID file for Krill.
#
# Defaults to "krill.pid" under the 'data_dir' specified above.
#
### pid_file = "./data/krill.pid"
# Specify a log directory for logging RFC 8181 (publication protocol)
# exchanges. If this directive is set Krill will log all meaningful
# RFC 8181 exchanges in this directory, meaning exchanges that resulted
# in a change or an error.
#
# If this directive is not specified, Krill will NOT log these exchanges.
# Do not set an empty value for the directive in this case, just leave
# it out.
#
# Defaults to NO logging!
#
### rfc8181_log_dir = </some/path>
######################################################################################
# #
# LOGGING #
# #
######################################################################################
# Log level
#
# The maximum log level ("off", "error", "warn", "info", or "debug") for
# which to log messages.
#
# Defaults to "warn"
#
### log_level = "warn"
# Log type
#
# Where to log to. One of "stderr" for stderr, "syslog" for syslog, or "file"
# for a file. If "file" is given, the "log_file" field needs to be given, too.
#
### log_type = "file"
# Syslog facility
#
# The syslog facility to log to if syslog logging is used. Defaults to "daemon".
#
### syslog_facility = "daemon"
# Log file
#
# The path to the file to log to if file logging is used. If the path is
# relative, it is relative to the current working directory from which
# the binary is executed.
#
### log_file = "./krill.log"
######################################################################################
# #
# ACCESS #
# #
######################################################################################
# Admin Token
#
# Define an admin token that can be used to interact with the API. Token use
# is modelled after OAuth 2.0 Bearer Tokens (RFC 6750), which are expected be
# included as an HTTP header in requests by clients.
#
# If you do not specify a value here, the server will insist that you provide
# a token as an environment variable with the key "KRILL_ADMIN_TOKEN".
#
### admin_token =
# Specify the ip address and port number that the server will use.
#
# Note: we recommend that you use the defaults and use a proxy if you
# must make your Krill instance accessible remotely.
#
### ip = "localhost"
### port = 3000
# Specify the base public service URI hostname and port.
#
# Make sure that you use the public hostname and port as exposed by your proxy here,
# and then set up your proxy to pass the following requests to this server:
#
# <service_uri>api/v1/... (api)
# <service_uri>rfc8181 (for remote publishers)
# <service_uri>rrdp/.. (override with rddp_service_uri, see below)
#
### service_uri = "https://localhost:3000/"
######################################################################################
# #
# REPOSITORY SETTINGS #
# #
######################################################################################
# Restrict size of messages sent to the API
#
# Default 256 kB
#
### post_limit_api = 262144
# Restrict size of messages sent to the RFC 8181 publication protocol
#
# Default 32MB (enough for a keyroll with about 8000 issued certificates)
#
### post_limit_rfc8181 = 33554432
######################################################################################
# #
# REPOSITORY RRDP SETTINGS #
# #
######################################################################################
#
# RRDP DELTA FILES
#
# The RRDP protocol uses deltas to allow Relying Parties to synchronise efficiently.
# If Relying Parties cannot retrieve deltas, they will fall back to using snapshots.
# The RRDP protocol specifies that no more deltas should be presented than the total
# size of the snapshot. However, it is good to limit the amount of deltas further than
# this because:
# 1) big notification files are expensive to serve and parse
# 2) it's not just size, because of latency parsing many small deltas may
# be more time consuming than falling back to a delta
#
# So, the objective would be to optimize things such that the notification.xml files
# remain relatively small, while still allowing the vast majority of Relying Party
# implementations to use deltas, under normal operations.
#
# We use the following strategy to prune excessive deltas:
#
# - never keep more than the size of the snapshot
# - always keep 'retention_delta_files_min_nr' files
# - always keep 'retention_delta_files_min_seconds' files
# - beyond this:
# - never keep more than 'retention_delta_files_max_nr'
# - never keep older than 'retention_delta_files_max_seconds'
# - keep the others
#
# With these defaults:
# retention_delta_files_min_nr = 5
# retention_delta_files_min_seconds = 1200
# \- (20 mins: twice the interval of commonly used RPs)
# retention_delta_files_max_seconds = 7200
# \- (2 hours: twice the interval of slowest RPs)
# retention_delta_files_max_nr = 50
# Time to keep any files still referenced by notification files updated up to X seconds ago. We
# should not delete these files too eagerly or we would risk that RPs with an old notification file
# try to retrieve them, without success.
#
# retention_old_notification_files_seconds = 600 (10 mins)
# Optionally archive - rather than delete - old snapshot and delta files. They can then be backed
# up and/deleted at the repository operator's discretion. This may be particularly useful for
# audit or research.
#
# If set to true files will be archived in a directory under '$data_dir/repo/archive'
# retention_archive = false
######################################################################################
# #
# --------======== DANGER ZONE ========-------- #
# #
# Do not change the options below, unless you are really certain that you need to #
# override Krill's default behaviour. #
# #
######################################################################################
# Set the following to true to force Krill to always perform full rechecks
# of its data directories at startup. This is disabled by default because
# if can slow down startup significantly.
#
# By default Krill will do some basic checks at startup already, and if any
# errors are encountered force a full recovery automatically: Krill will try
# to load all its state in its internal memory cache at startup. If there are
# no errors in reloading the latest 'info' about the state, any surplus data
# will be assumed to be the result from an incompletely finished transaction - or -
# a data directory backup which was taken during a transaction. In either case
# additional data is discarded and the last (committed) state is recreated.
#
# Note that when a Krill Publication Server performs a recovery it will also
# execute an RRDP session reset. This ensures that relying parties will get
# a full and consistent set of data, even if this data may be old. Furthermore,
# Krill CAs will *always* verify with their Publication Server which files it
# publishes currently, and if it finds that there are any missing files they
# will send all needed updates.
#
# So, while a (forced) fallback to a prior state is not ideal, the CAs will
# in fact recover. However, it may take a while
#
### always_recover_data = false