policy

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ACL added in v1.0.0

type ACL struct {
	Action       string   `json:"action"`
	Protocol     string   `json:"proto"`
	Sources      []string `json:"src"`
	Destinations []string `json:"dst"`
}

type AutoApprovers added in v1.0.0

type AutoApprovers struct {
	Routes   map[string][]string `json:"routes"`
	ExitNode []string            `json:"exitNode"`
}

type Policy

type Policy struct {
	Groups        map[string][]string     `json:"groups"`
	Hosts         map[string]netip.Prefix `json:"hosts"`
	TagOwners     map[string][]string     `json:"tagOwners"`
	ACLs          []ACL                   `json:"acls"`
	AutoApprovers AutoApprovers           `json:"autoApprovers"`
	SSHs          []SSH                   `json:"ssh"`
}

Policy extend Headscale policy

func (*Policy) AppendGroups

func (p *Policy) AppendGroups(groups map[string][]string)

AppendGroups append group to policy

func (*Policy) GetGroupNames

func (p *Policy) GetGroupNames() []string

GetGroupNames get group names from policy file

func (*Policy) ReadPolicyFromFile

func (p *Policy) ReadPolicyFromFile(path string) error

ReadPolicyFromFile read Headscale policy from file

func (*Policy) WritePolicyToFile

func (p *Policy) WritePolicyToFile(path string) error

WritePolicyToFile write Headscale policy from file

type SSH added in v1.0.0

type SSH struct {
	Action       string   `json:"action"`
	Sources      []string `json:"src"`
	Destinations []string `json:"dst"`
	Users        []string `json:"users"`
	CheckPeriod  string   `json:"checkPeriod,omitempty"`
}

Jump to

Keyboard shortcuts

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