yomo serve
Usage
Zipper can be started by the following command:
yomo serve -c config.yaml
the config.yaml
is a YAML file, which contains the configuration of the Zipper:
config.yaml
### general ###
name: zipper-sgp
host: 0.0.0.0
port: 9000
### auth ###
auth:
type: token
token: <CREDENTIAL>
### cascading mesh ###
mesh:
zipper-sgp:
host: 1.1.1.1
port: 9000
credential: "token: <CREDENTIAL>"
zipper-aus:
host: 2.2.2.2
port: 9000
credential: "token: <CREDENTIAL>"
zipper-usa:
host: 3.3.3.3
port: 9000
auth: "token: <CREDENTIAL>"
zipper-deu:
host: 4.4.4.4
port: 9000
auth: "token: <CREDENTIAL>"
Configuration
General Config
name
- the name of the Zipper, it is used to identify the Zipper in the network.host
- the IP address zipper listens on, default value is0.0.0.0
, which means listen on all network interfaces, so the Source can connect over public Internet network, while the StreamFunction can connect over internal network, it will be cost effective when hosting on AWS etc.port
- the port zipper listens on, default value is9000
. Becareful, YoMo uses QUIC protocol, which is a UDP based protocol, so this port should be allow UDP ingress.
Auth Config
auth
- provides the credential for the Zipper, it is used to authenticate the Source and StreamFunction when they connect to this Zipper.type
- the type of the credential, currently onlytoken
is supported.token
- the credential, it is a string.
Mesh Config
mesh
- the list of mesh Zippers, the data will be transmitted between these Zippers when needed.name
- the name of the mesh Zipper, it is used to identify the Zipper in the network.host
- the IP address of the mesh Zipper.port
- the port of the mesh Zipper.credential
- the credential to connect to the mesh Zipper.
Self-Hosting Zipper Service
- Tutorial: Deploy YoMo Zipper Service on Ubuntu 22.04
- Tutorial: Linux Server Tuning for QUIC
- Tutorial: Firewall Configuration for Server