role

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2023 License: MPL-2.0 Imports: 3 Imported by: 2

Documentation

Index

Constants

View Source
const (
	// Prefix for all built-in roles.
	Prefix = string("os:")

	// Admin defines Talos role for admins (every API is available).
	Admin = Role(Prefix + "admin")

	// Operator defines Talos role for operators (Reader + management APIs which do not allow secret access, e.g. rebooting a node).
	Operator = Role(Prefix + "operator")

	// Reader defines Talos role for readers who can access read-only APIs that do not expose secrets.
	Reader = Role(Prefix + "reader")

	// EtcdBackup defines Talos role that allows making etcd backups.
	EtcdBackup = Role(Prefix + "etcd:backup")

	// Impersonator defines Talos role for impersonating another user (and their role).
	// Used internally, but may also be granted to the user.
	Impersonator = Role(Prefix + "impersonator")
)

Variables

View Source
var (
	// All roles that can be granted to users.
	All = MakeSet(Admin, Operator, Reader, EtcdBackup, Impersonator)

	// Zero is an empty set of roles.
	Zero = MakeSet()
)

Functions

This section is empty.

Types

type Role

type Role string

Role represents Talos user role. Its string value is used everywhere: as the Organization value of Talos client certificate, as the value of talosctl flag, etc.

type Set

type Set struct {
	// contains filtered or unexported fields
}

Set represents a set of roles.

func MakeSet

func MakeSet(roles ...Role) Set

MakeSet makes a set of roles from constants. Use Parse in other cases.

func Parse

func Parse(str []string) (Set, []string)

Parse parses a set of roles. The returned set is always non-nil and contains all roles, including unknown (for compatibility with future versions). The returned slice contains roles unknown to the current version.

func (Set) Includes

func (s Set) Includes(role Role) bool

Includes returns true if given role is present in the set.

func (Set) IncludesAny

func (s Set) IncludesAny(other Set) bool

IncludesAny returns true if there is a non-empty intersection between sets.

Returns false if any set is empty.

func (Set) Strings

func (s Set) Strings() []string

Strings returns a set as a slice of strings.

Jump to

Keyboard shortcuts

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