options

package
v0.11.0-alpha.0 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2023 License: Apache-2.0 Imports: 47 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, volatileUserToken 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, userToken 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 privileged system group.
	AlwaysAllowGroups []string
}

func NewAuthorization

func NewAuthorization() *Authorization

func (*Authorization) AddFlags

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

func (*Authorization) ApplyTo

func (s *Authorization) ApplyTo(config *genericapiserver.Config, kubeInformers, globalKubeInformers kcpkubernetesinformers.SharedInformerFactory, kcpInformers, globalKcpInformers kcpinformers.SharedInformerFactory) error

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 Cache added in v0.9.0

type Cache struct {
	// Server includes options provided by the cache server
	Server *cacheoptions.Options
	Extra
}

func NewCache added in v0.9.0

func NewCache(rootDir string) *Cache

func (*Cache) AddFlags added in v0.9.0

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

func (*Cache) Complete added in v0.9.0

func (c *Cache) Complete() (cacheCompleted, error)

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 Extra added in v0.9.0

type Extra struct {
	// Enabled if true indicates that the cache server should be run with the kcp-server (in-process)
	Enabled bool

	Client cacheclientoptions.Cache
}

type ExtraOptions

type ExtraOptions struct {
	RootDirectory                      string
	ProfilerAddress                    string
	ShardKubeconfigFile                string
	RootShardKubeconfigFile            string
	ShardBaseURL                       string
	ShardExternalURL                   string
	ShardName                          string
	ShardVirtualWorkspaceURL           string
	ShardClientCertFile                string
	ShardClientKeyFile                 string
	ShardVirtualWorkspaceCAFile        string
	DiscoveryPollInterval              time.Duration
	ExperimentalBindFreePort           bool
	LogicalClusterAdminKubeconfig      string
	ConversionCELTransformationTimeout time.Duration

	BatteriesIncluded []string
}

type HomeWorkspaces added in v0.7.0

type HomeWorkspaces struct {
	Enabled           bool
	HomeCreatorGroups []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 (hw *HomeWorkspaces) Validate() []error

type Options

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

	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
}

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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