52 lines
1.5 KiB
Go
52 lines
1.5 KiB
Go
|
package crypticnet
|
||
|
|
||
|
type ConfigFirewall struct {
|
||
|
Conntrack ConfigConntrack `yaml:"conntrack"`
|
||
|
Outbound []ConfigFirewallRule `yaml:"outbound"`
|
||
|
Inbound []ConfigFirewallRule `yaml:"inbound"`
|
||
|
}
|
||
|
|
||
|
type ConfigConntrack struct {
|
||
|
TCPTimeout string `yaml:"tcp_timeout"`
|
||
|
UDPTimeout string `yaml:"udp_timeout"`
|
||
|
DefaultTimeout string `yaml:"default_timeout"`
|
||
|
MaxConnections int `yaml:"max_connections"`
|
||
|
}
|
||
|
|
||
|
type ConfigFirewallRule struct {
|
||
|
Port string `yaml:"port,omitempty"`
|
||
|
Code string `yaml:"code,omitempty"`
|
||
|
Proto string `yaml:"proto,omitempty"`
|
||
|
Host string `yaml:"host,omitempty"`
|
||
|
Group string `yaml:"group,omitempty"`
|
||
|
Groups []string `yaml:"groups,omitempty"`
|
||
|
CIDR string `yaml:"cidr,omitempty"`
|
||
|
CASha string `yaml:"ca_sha,omitempty"`
|
||
|
CAName string `yaml:"ca_name,omitempty"`
|
||
|
}
|
||
|
|
||
|
// DaemonYmlStorageAllocation describes the structure of each storage allocation
|
||
|
// within the daemon.yml file.
|
||
|
type DaemonYmlStorageAllocation struct {
|
||
|
DataPath string `yaml:"data_path"`
|
||
|
MetaPath string `yaml:"meta_path"`
|
||
|
Capacity int `yaml:"capacity"`
|
||
|
APIPort int `yaml:"api_port"`
|
||
|
RPCPort int `yaml:"rpc_port"`
|
||
|
WebPort int `yaml:"web_port"`
|
||
|
}
|
||
|
|
||
|
// DaemonYml describes the structure of the daemon.yml file.
|
||
|
type DaemonYml struct {
|
||
|
DNS struct {
|
||
|
Resolvers []string `yaml:"resolvers"`
|
||
|
} `yaml:"dns"`
|
||
|
VPN struct {
|
||
|
PublicAddr string `yaml:"public_addr"`
|
||
|
Firewall ConfigFirewall `yaml:"firewall"`
|
||
|
} `yaml:"vpn"`
|
||
|
Storage struct {
|
||
|
Allocations []DaemonYmlStorageAllocation
|
||
|
} `yaml:"storage"`
|
||
|
}
|