# Arguments for xin-envoyd, read by xin-envoyd.service.
#
# This file is the whole of xin-envoyd's local configuration, and it is short
# on purpose: everything the data plane serves -- listeners, routes, clusters,
# endpoints, certificates -- arrives from the management server. What has to be
# known before the stream exists cannot arrive on it, and that is exactly this
# list.
#
# --server is required. Without it the binary prints its usage and exits 1, and
# the unit will restart-loop, which is the correct outcome for "you have not
# said where the control plane is" but is not a helpful log line to read at
# 3am. Set it before `systemctl start xin-envoyd`.
#
#   --server URL             the management server's ADS endpoint. http:// or
#                            https://; an https endpoint goes through the same
#                            rustls stack the data plane uses.
#   --node-id ID             Node.id. Defaults to the hostname, which is
#                            usually what a control plane keys its snapshots
#                            on -- set it explicitly if yours does not.
#   --node-cluster NAME      Node.cluster. Default xin.
#   --initial-fetch-timeout SECS
#                            how long a listener or cluster waits for its
#                            dependencies before going into service degraded.
#                            0 means wait forever, which is what Envoy's
#                            documented 0 means. Default 15, Envoy's default.
#   --wildcard-form empty|explicit
#                            how an LDS/CDS subscription is spelled. Leave it
#                            at `empty` unless you know your control plane
#                            wants the other one: go-control-plane v0.14.0
#                            silently never answers `explicit`.
#
# Unquoted and word-split by systemd, so this is a list of arguments rather
# than one argument.

XIN_ENVOYD_ARGS="--server http://127.0.0.1:18000 --node-cluster xin"
