Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ACL ¶
type ACL struct { Action string `json:"action" yaml:"action"` Protocol string `json:"proto" yaml:"proto"` Sources []string `json:"src" yaml:"src"` Destinations []string `json:"dst" yaml:"dst"` }
ACL is a basic rule for the ACL Policy.
type ACLPolicy ¶
type ACLPolicy struct { Groups Groups `json:"groups" yaml:"groups"` Hosts Hosts `json:"hosts" yaml:"hosts"` TagOwners TagOwners `json:"tagOwners" yaml:"tagOwners"` ACLs []ACL `json:"acls" yaml:"acls"` Tests []ACLTest `json:"tests" yaml:"tests"` AutoApprovers AutoApprovers `json:"autoApprovers" yaml:"autoApprovers"` SSHs []SSH `json:"ssh" yaml:"ssh"` }
ACLPolicy represents a Tailscale ACL Policy.
func (*ACLPolicy) GetTagOwners ¶
func (*ACLPolicy) TouchTagOwner ¶
type ACLTest ¶
type ACLTest struct { Source string `json:"src" yaml:"src"` Accept []string `json:"accept" yaml:"accept"` Deny []string `json:"deny,omitempty" yaml:"deny,omitempty"` }
ACLTest is not implemented, but should be use to check if a certain rule is allowed.
type AutoApprovers ¶
type AutoApprovers struct { Routes map[string][]string `json:"routes" yaml:"routes"` ExitNode []string `json:"exitNode" yaml:"exitNode"` }
AutoApprovers specify which users (users?), groups or tags have their advertised routes or exit node status automatically enabled.
func (*AutoApprovers) GetRouteApprovers ¶
func (autoApprovers *AutoApprovers) GetRouteApprovers( prefix netip.Prefix, ) ([]string, error)
Returns the list of autoApproving users, groups or tags for a given IPPrefix.
type Hosts ¶
Hosts are alias for IP addresses or subnets.
func (*Hosts) UnmarshalJSON ¶
UnmarshalJSON allows to parse the Hosts directly into netip objects.
func (*Hosts) UnmarshalYAML ¶
UnmarshalYAML allows to parse the Hosts directly into netip objects.
type SSH ¶
type SSH struct { Action string `json:"action" yaml:"action"` Sources []string `json:"src" yaml:"src"` Destinations []string `json:"dst" yaml:"dst"` Users []string `json:"users" yaml:"users"` CheckPeriod string `json:"checkPeriod,omitempty" yaml:"checkPeriod,omitempty"` }
SSH controls who can ssh into which machines.
Click to show internal directories.
Click to hide internal directories.