manifest

package
v0.6.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 9, 2022 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type HTTP added in v0.4.0

type HTTP struct {
	// Listen specifies an address of HTTP proxy to be listened by NoRouter agent processes.
	// The address is typically a local address, e.g. "127.0.0.1:18080".
	// When the address is not specified, HTTP proxy is disabled.
	Listen string `yaml:"listen,omitempty"`
}

HTTP can be specified since NoRouter v0.4.0

type Host

type Host struct {
	// VIP is a virtual IP address.
	// Currently, only IPv4 addresses are supported.
	//
	// e.g. "127.0.42.101"
	//
	// VIP must be always specified.
	VIP string `yaml:"vip"` // e.g. "127.0.42.101"

	// Cmd is either []string or string.
	//
	// e.g. ["docker", "exec", "-i", "host1", "norouter"]
	// e.g. "docker exec -i host1 norouter"
	//
	// Cmd is optional.
	Cmd interface{} `yaml:"cmd,omitempty"`

	// Ports specify port forwarding.
	//
	// e.g. ["8080:127.0.0.1:80"]
	// e.g. ["8080:127.0.0.1:80/tcp"]
	//
	// The example above forwards connections to the TCP port 8080
	// of the virtual IP (e.g. 127.0.42.101) to the TCP port 80
	// of the real IP 127.0.0.1.
	//
	// Currently, only TCP protocol is supported.
	//
	// Ports are optional.
	//
	// Ports are appended to HostTemplate.Ports
	// when HostTemplate is specified.
	Ports []string `yaml:"ports,omitempty"`

	// HTTP can be specified since NoRouter v0.4.0
	HTTP *HTTP `yaml:"http,omitempty"`

	// SOCKS can be specified since NoRouter v0.4.0
	SOCKS *SOCKS `yaml:"socks,omitempty"`

	// Loopback can be specified since NoRouter v0.4.0
	Loopback *Loopback `yaml:"loopback,omitempty"`

	// StateDir can be specified since NoRouter v0.4.0
	StateDir *StateDir `yaml:"stateDir,omitempty"`

	// Aliases specify aliases of the virtual hostname.
	// e.g. ["nginx.example.com", "nginx"]
	// Aliases may contain dot symbols, but aliases with dot symbols are not added to HOSTALIASES file.
	//
	// Aliases can be specified since NoRouter v0.4.0
	Aliases []string `yaml:"aliases",omitempty`

	// WriteEtcHosts specifies to write /etc/hosts when possible.
	// WriteEtcHosts is expected to be used with Docker and Kubernetes containers.
	//
	// WriteEtcHosts can be specified since NoRouter v0.4.0
	WriteEtcHosts *bool `yaml:"writeEtcHosts",omitempty`
}

type Loopback added in v0.4.0

type Loopback struct {
	// Disable disables listening on multi-loopback addresses such as 127.0.42.100, 127.0.42.101...
	//
	// When Disable is set, HTTP.Listen should be specified to enable HTTP proxy.
	Disable bool `yaml:"disable,omitempty"`
}

Loopback can be specified since NoRouter v0.4.0

type Manifest

type Manifest struct {
	// HostTemplate is optional.
	//
	// HostTemplate MUST NOT contain the following fields:
	// VIP, Cmd, and Aliases:
	//
	// HostTemplate can be specified since NoRouter v0.4.0
	HostTemplate *Host `yaml:"hostTemplate,omitempty"`

	// Host defines hosts.
	//
	// The key string is used as the virtual hostname that can
	// be resolved using HOSTALIASES, HTTP proxy, or SOCKS proxy.
	//
	// The virtual hostname string SHOULD NOT contain dot symbols.
	// The virtual hostnames with dot symbols are not added to HOSTALIASES file.
	Hosts map[string]Host `yaml:"hosts"`

	// Routes specifies routes to access hosts behind bastions.
	// Routes only makes sense for HTTP and SOCKS proxy modes.
	// Routes is optional.
	// Routes can be specified since NoRouter v0.4.0
	Routes []Route `yaml:"routes",omitempty`
}

type Route added in v0.5.0

type Route struct {
	// To must be IPv4 CIDR or hostname globs
	// e.g. 0.0.0.0/0 (all IPs), 192.168.95.0/24, 192.168.95.100/32, *.cloud1.example.com
	To []string `yaml:"to"`

	// Via is a bastion.
	// Via is a virtual hostname or a virtual IP.
	Via string `yaml:"via"`
}

Route can be specified since NoRouter v0.4.0. Route only makes sense for HTTP and SOCKS proxy modes.

type SOCKS added in v0.4.0

type SOCKS struct {
	// Listen specifies an address of SOCKS proxy to be listened by NoRouter agent processes.
	// The address is typically a local address, e.g. "127.0.0.1:18081".
	// When the address is not specified, SOCKS proxy is disabled.
	//
	// Supported protocol versions: SOCKS4, SOCKS4a, and SOCKS5
	Listen string `yaml:"listen,omitempty"`
}

SOCKS can be specified since NoRouter v0.4.0

type StateDir added in v0.4.0

type StateDir struct {
	// PathOnAgent specifies the state directory path on the agent.
	//
	// When PathOnAgent is not set, the path is set to "~/.norouter/agent".
	// The path string can contain "~" and "${ENVVAR}".
	// Env vars are resolved on the agent, not on the manager.
	//
	// PathOnAgent is ignored when Disable is set.
	PathOnAgent string `yaml:"pathOnAgent,omitempty"`

	// Disable disables creating the state directory.
	Disable bool `yaml:"disable,omitempty"`
}

StateDir can be specified since NoRouter v0.4.0

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL