echo/config.example.toml
Jean e0bb3a1fea
modules: [modules] config + example service crate + SDK guide
A [modules] block selects which services start (default: NickServ + ChanServ);
main.rs constructs each compiled-in module only when named, so a node can run a
subset and optional modules ship dormant. Add fedserv-example, a minimal
read-only Service that depends on fedserv-api alone -- the template a new
pseudo-client is copied from, enabled by adding "example" to the config.
MODULES.md documents writing and registering a service or protocol module.
2026-07-13 01:48:09 +00:00

42 lines
1.7 KiB
TOML

# Copy to config.toml and edit. config.toml is gitignored (holds the link password).
[uplink]
host = "127.0.0.1"
port = 7000
password = "changeme" # must match the <link> block on the uplink IRCd
[server]
name = "services.example.net"
sid = "42S" # 3 chars, unique on the network
description = "Federated Services"
protocol = 1206 # InspIRCd link protocol version (1206 = insp4, 1205 = insp3)
# Node-to-node replication. Omit this section (and [[peer]]) to run a single node.
# [gossip]
# bind = "0.0.0.0:16700" # where peers reach us; omit for a dial-only node
# secret = "shared-secret" # both nodes must present the same secret
#
# [gossip.tls] # omit for a plaintext link; see scripts/gen-certs.sh
# cert = "certs/node.crt"
# key = "certs/node.key"
# ca = "certs/ca.crt" # a peer must present a certificate signed by this CA
#
# [[peer]] # one block per other node
# addr = "other-node:16700"
# name = "other-node" # TLS name to expect; must match the peer certificate
# Directory replication (gRPC) — lets a website mirror the account/channel
# directory (identity + metadata only, never credentials; see proto/fedserv.proto).
# Omit this section to run without it.
# [grpc]
# bind = "127.0.0.1:50051" # a private network hop is the expected deployment
# token = "shared-secret" # every RPC must send `authorization: Bearer <token>`
#
# [grpc.tls] # omit for plaintext (fine on a private/loopback hop)
# cert = "certs/node.crt"
# key = "certs/node.key"
# Which service modules to start. Omit this section for the built-in NickServ +
# ChanServ. Add "example" to also start the example template service.
# [modules]
# services = ["nickserv", "chanserv"]