options

package
v0.7.7 Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2022 License: Apache-2.0 Imports: 48 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdminAuthentication

type AdminAuthentication struct {
	KubeConfigPath string

	// TODO: move into Secret in-cluster, maybe by using an "in-cluster" string as value
	ShardAdminTokenHashFilePath string
}

func NewAdminAuthentication

func NewAdminAuthentication(rootDir string) *AdminAuthentication

func (*AdminAuthentication) AddFlags

func (s *AdminAuthentication) AddFlags(fs *pflag.FlagSet)

func (*AdminAuthentication) ApplyTo

func (s *AdminAuthentication) ApplyTo(config *genericapiserver.Config) (volatileKcpAdminToken, shardAdminToken string, shardAdminTokenHash []byte, err error)

ApplyTo returns a new volatile kcp admin token. It also returns a new shard admin token and its hash if the configured shard admin hash file is not present. If the shard admin hash file is present only the shard admin hash is returned and the returned shard admin token is empty.

func (*AdminAuthentication) Validate

func (s *AdminAuthentication) Validate() []error

func (*AdminAuthentication) WriteKubeConfig

func (s *AdminAuthentication) WriteKubeConfig(config genericapiserver.CompletedConfig, kcpAdminToken, shardAdminToken string, shardAdminTokenHash []byte) error

type ApiResourceController

type ApiResourceController = apiresource.Options

type Authorization

type Authorization struct {
	// AlwaysAllowPaths are HTTP paths which are excluded from authorization. They can be plain
	// paths or end in * in which case prefix-match is applied. A leading / is optional.
	AlwaysAllowPaths []string

	// AlwaysAllowGroups are groups which are allowed to take any actions.  In kube, this is system:masters.
	AlwaysAllowGroups []string
}

func NewAuthorization

func NewAuthorization() *Authorization

func (*Authorization) AddFlags

func (s *Authorization) AddFlags(fs *pflag.FlagSet)

func (*Authorization) Validate

func (s *Authorization) Validate() []error

func (*Authorization) WithAlwaysAllowGroups

func (s *Authorization) WithAlwaysAllowGroups(groups ...string) *Authorization

WithAlwaysAllowGroups appends the list of paths to AlwaysAllowGroups

func (*Authorization) WithAlwaysAllowPaths

func (s *Authorization) WithAlwaysAllowPaths(paths ...string) *Authorization

WithAlwaysAllowPaths appends the list of paths to AlwaysAllowPaths

type CompletedOptions

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

func (*CompletedOptions) Validate

func (o *CompletedOptions) Validate() []error

type Controllers

type Controllers struct {
	EnableAll           bool
	IndividuallyEnabled []string
	ApiResource         ApiResourceController
	SyncTargetHeartbeat SyncTargetHeartbeatController
	SAController        kcmoptions.SAControllerOptions
}

func NewControllers

func NewControllers() *Controllers

func (*Controllers) AddFlags

func (c *Controllers) AddFlags(fs *pflag.FlagSet)

func (*Controllers) Complete added in v0.6.0

func (c *Controllers) Complete(rootDir string) error

func (*Controllers) Validate

func (c *Controllers) Validate() []error

type ExtraOptions

type ExtraOptions struct {
	RootDirectory            string
	ProfilerAddress          string
	ShardKubeconfigFile      string
	RootShardKubeconfigFile  string
	ShardBaseURL             string
	ShardExternalURL         string
	ShardName                string
	ShardVirtualWorkspaceURL string
	DiscoveryPollInterval    time.Duration
	ExperimentalBindFreePort bool
}

type HomeWorkspaces added in v0.7.0

type HomeWorkspaces struct {
	Enabled bool

	CreationDelaySeconds int
	BucketLevels         int
	BucketSize           int

	HomeCreatorGroups []string
	HomeRootPrefix    string
}

func NewHomeWorkspaces added in v0.7.0

func NewHomeWorkspaces() *HomeWorkspaces

func (*HomeWorkspaces) AddFlags added in v0.7.0

func (hw *HomeWorkspaces) AddFlags(fs *pflag.FlagSet)

func (*HomeWorkspaces) Validate added in v0.7.0

func (e *HomeWorkspaces) Validate() []error

type Options

type Options struct {
	GenericControlPlane ServerRunOptions
	EmbeddedEtcd        etcdoptions.Options
	Controllers         Controllers
	Authorization       Authorization
	AdminAuthentication AdminAuthentication
	Virtual             Virtual
	HomeWorkspaces      HomeWorkspaces

	Extra ExtraOptions
}

func NewOptions

func NewOptions(rootDir string) *Options

NewOptions creates a new Options with default parameters.

func (*Options) Complete

func (o *Options) Complete() (*CompletedOptions, error)

func (*Options) Flags

func (o *Options) Flags() cliflag.NamedFlagSets

type ServerRunOptions

type ServerRunOptions struct {
	options.ServerRunOptions
}

type SyncTargetHeartbeatController added in v0.6.0

type SyncTargetHeartbeatController = heartbeat.Options

type Virtual added in v0.6.0

type Virtual struct {
	VirtualWorkspaces virtualworkspacesoptions.Options
	Enabled           bool

	// ExternalVirtualWorkspaceAddress holds a URL to redirect to for stand-alone virtual workspaces.
	ExternalVirtualWorkspaceAddress string
}

func NewVirtual added in v0.6.0

func NewVirtual() *Virtual

func (*Virtual) AddFlags added in v0.6.0

func (v *Virtual) AddFlags(fs *pflag.FlagSet)

func (*Virtual) Validate added in v0.6.0

func (v *Virtual) Validate() []error

Jump to

Keyboard shortcuts

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