# Example Configuration for RTRTR # # A configuration file is required for RTRTR to run. It describes which # components should be loaded and how they will be connected. # # The file is in a format call TOML. It is somewhat similar to INI files. # See https://toml.io/en/ for more information # # The file’s content starts out with a number of optional general parameters: # The minimum log level to consider. log_level = "debug" # The target for logging. This can be "syslog", "stderr", "file", or # "default". log_target = "stderr" # If syslog is used, the syslog facility can be given: log_facility = "daemon" # If file logging is used, the log file must be given. log_file = "/var/log/rtrtr.log" # Where should the HTTP server listen on? # # The HTTP server provides access to Prometheus-style metrics under the # `/metrics` path and plain text status information under `/status` and # can be used as a target for serving data (see below for more on targets). http-listen = ["127.0.0.1:8080"] # RTRTR uses two classes of components: units and targets. Units take data # from somewhere and produce a single, constantly updated data set. Targets # take the data set from exactly one other unit and serve it in some specific # way. # # Both units and targets have a name -- so that we can refer to them -- and # a type that defines which particular kind of unit or target this is. For # each type, additional arguments need to be provided. Which these are and # what they mean depends on the type. # # At this time, there are only two types of units and one type of target, so # we can use them all in this example config. # # Each unit and target gets its own section in the config. The name of the # section, given in square brackets, describes whether a unit or target is # wanted and, after a dot, the name of the unit or target. [units.nlnetlabs-json] type = "json" uri = "https://nate.nlnetlabs.nl/json" refresh = 60 identity = "client-combined.pem" # Finally, we need to do something with the data: serve it via RTR. This is # what the rtr target does: # [targets.local-9001] type = "rtr" # The rtr target can listen on multiple addresses, so the listen argument is # a list. listen = [ "127.0.0.1:9001" ] # The name of the unit the target should receive its data from. unit = "nlnetlabs-json" client-metrics = true # We can also provide the data as JSON over HTTP. [targets.http-json] type = "http" path = "/json" format = "json" unit = "nlnetlabs-json"