Sections
- [<servername> - <client>]
+ [<servername> <client>]
[<client>]
[<servername>] often [SERVER]
[COMMON]
Keys are looked up in that order, unless otherwise specified.
<client> is the client's virtual address.
-<servername> must be a valid DNS hostname and not look like an address.
+<servername> must be a valid lowercase DNS hostname and not look like
+an address, or be COMMON, DEFAULT or SERVER.
+There are also:
-Both client and server read all files
+ [<servername> LIMIT]
+ [LIMIT]
+
+Things not in a section are an error.
+
+
+Both client and server read the files
/etc/hippotat/main.cfg
- /etc/hippotat/config.d
- /etc/hippotat/server.d
+ /etc/hippotat/config.d/*
+ /etc/hippotat/secrets.d/*
and in each case if it's a directory, all contained files whose
names consists of only ascii alphanumerics plus '-' and '_'.
+
The ini file format sections from these files are all unioned.
+Later files (in the list above, or alphabetically later) can
+override settings from earlier ones.
+
+Note that although it is conventional for information for a particular
+server or client to be in a file named after that endpoint, there is
+no semantic link: all the files are always read and the appropriate
+section from each is applied to every endpoint.
(If main.cfg does not exist, master.cfg will be tried for backward
compatibility reasons.)
ipif
Command to run to create and communicate with local network
interface. Passed to sh -c. Must speak SLIP on stdin/stdout.
- The following additional interpolations aare substituted:
- %(local)s %(peer)s %(rnet)s %(ifname)s
+ The following interpolations aare substituted:
+ %{local} %{peer} %{rnets} %{ifname}
on server <vaddr> <vrelay> <vnetwork> <ifname_server>
on client <client> <vaddr> <vroutes> <ifname_client>
- ["userv root ipif %(local)s,%(peer)s,%(mtu)s,slip %(rnets)s"]
+ Plus %{mtu} and %% to indicate a literal %.
+ (For compatibility with older hippotat, %(var)s is supported too
+ but this is deprecated since the extra `s` is confusing.)
+ ["userv root ipif %{local},%{peer},%{mtu},slip '%{rnets}'"]
On server: applies to all clients; not looked up in
client-specific sections.
On client: give up on any http request outstanding for
for this long plus http_timeout_grace
Client's effective timeout must be at least server's (checked).
- [30 s; LIMIT: 121]
+ [30 s; LIMIT: 121s]
target_requests_outstanding
On server: whenever number of outstanding requests for
vaddr
Address of server's virtual interface.
+ [first host entry in <vnetwork>, so 172.24.230.193]
vrelay
Virtual point-to-point address used for tunnel routing
On client: used only to construct default url.
mtu
- Must match exactly. (UNCHECKED) [1500 bytes]
+ Of virtual interface. Must match exactly at each end.
+ (UNCHECKED) [1500 bytes]
ifname_server
Virtual interface name on the server. [shippo%d]