options

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2023 License: Apache-2.0 Imports: 45 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 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

	EnableLeaderElection    bool
	LeaderElectionNamespace string
	LeaderElectionName      string

	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 {
	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
	ExternalLogicalClusterAdminKubeconfig 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 controlplaneapiserver.Options
	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) AddFlags added in v0.11.0

func (o *Options) AddFlags(fss *cliflag.NamedFlagSets)

func (*Options) Complete

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

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