Documentation
¶
Index ¶
- Constants
- Variables
- func GetLocalCacheOptionsFromConfigMappings(mappings map[string]string, vClusterNamespace string) (cache.Options, bool)
- func Lint(config config.Config) []string
- func ParseExtraHooks(valHooks []config.ValidatingWebhookConfiguration, ...) ([]admissionregistrationv1.ValidatingWebhookConfiguration, ...)
- func ValidateAllSyncPatches(sync config.Sync) error
- func ValidateConfigAndSetDefaults(vConfig *VirtualClusterConfig) error
- func ValidateSyncFromHostClasses(fromHost config.SyncFromHost) error
- type VirtualClusterConfig
- func (v VirtualClusterConfig) DisableMissingAPIs(discoveryClient discovery.DiscoveryInterface) error
- func (v VirtualClusterConfig) LegacyOptions() (*legacyconfig.LegacyVirtualClusterOptions, error)
- func (v VirtualClusterConfig) SchedulingInVirtualClusterEnabled() bool
- func (v VirtualClusterConfig) VirtualClusterKubeConfig() config.VirtualClusterKubeConfig
Constants ¶
View Source
const (
DefaultHostsRewriteImage = "library/alpine:3.20"
)
View Source
const ( // HybridSchedulingNoEffectWarning is displayed when both the virtual scheduler and the hybrid // scheduling are enabled, but no host schedulers have been added. HybridSchedulingNoEffectWarning = "You have enabled both the virtual scheduler and the hybrid scheduling, " + "but you have not added any host scheduler to sync.toHost.pods.hybridScheduling.hostSchedulers config, " + "so all the pods will be scheduled by the default scheduler in the virtual cluster. Enabling " + "the hybrid scheduling does not have any effect here. Consider either adding at least one host " + "scheduler to sync.toHost.pods.hybridScheduling.hostSchedulers, or disable the hybrid scheduling." )
Variables ¶
View Source
var ProValidateConfig = func(_ *VirtualClusterConfig) error { return nil }
Functions ¶
func GetLocalCacheOptionsFromConfigMappings ¶ added in v0.23.0
func Lint ¶ added in v0.26.0
Lint checks the virtual cluster config and returns warnings for the parts of the config that should be probably corrected, but are not breaking any functionality in the cluster.
func ParseExtraHooks ¶ added in v0.20.0
func ParseExtraHooks(valHooks []config.ValidatingWebhookConfiguration, mutHooks []config.MutatingWebhookConfiguration) ([]admissionregistrationv1.ValidatingWebhookConfiguration, []admissionregistrationv1.MutatingWebhookConfiguration, error)
func ValidateAllSyncPatches ¶ added in v0.25.0
ValidateAllSyncPatches validates all sync patches
func ValidateConfigAndSetDefaults ¶ added in v0.20.0
func ValidateConfigAndSetDefaults(vConfig *VirtualClusterConfig) error
func ValidateSyncFromHostClasses ¶ added in v0.26.0
func ValidateSyncFromHostClasses(fromHost config.SyncFromHost) error
Types ¶
type VirtualClusterConfig ¶ added in v0.20.0
type VirtualClusterConfig struct {
// Holds the vCluster config
config.Config `json:",inline"`
// WorkloadConfig is the config to access the workload cluster
WorkloadConfig *rest.Config `json:"-"`
// WorkloadClient is the client to access the workload cluster
WorkloadClient kubernetes.Interface `json:"-"`
// ControlPlaneConfig is the config to access the control plane cluster
ControlPlaneConfig *rest.Config `json:"-"`
// ControlPlaneClient is the client to access the control plane cluster
ControlPlaneClient kubernetes.Interface `json:"-"`
// Name is the name of the vCluster
Name string `json:"name"`
// WorkloadService is the name of the service of the vCluster
WorkloadService string `json:"workloadService,omitempty"`
// WorkloadNamespace is the namespace of the target cluster
WorkloadNamespace string `json:"workloadNamespace,omitempty"`
// WorkloadTargetNamespace is the namespace of the target cluster where the workloads should get created in
WorkloadTargetNamespace string `json:"workloadTargetNamespace,omitempty"`
// ControlPlaneService is the name of the service for the vCluster control plane
ControlPlaneService string `json:"controlPlaneService,omitempty"`
// ControlPlaneNamespace is the namespace where the vCluster control plane is running
ControlPlaneNamespace string `json:"controlPlaneNamespace,omitempty"`
}
VirtualClusterConfig wraps the config and adds extra info such as name, serviceName and targetNamespace
func ParseConfig ¶ added in v0.20.0
func ParseConfig(path, name string, setValues []string) (*VirtualClusterConfig, error)
func (VirtualClusterConfig) DisableMissingAPIs ¶ added in v0.20.0
func (v VirtualClusterConfig) DisableMissingAPIs(discoveryClient discovery.DiscoveryInterface) error
DisableMissingAPIs checks if the apis are enabled, if any are missing, disable the syncer and print a log
func (VirtualClusterConfig) LegacyOptions ¶ added in v0.20.0
func (v VirtualClusterConfig) LegacyOptions() (*legacyconfig.LegacyVirtualClusterOptions, error)
LegacyOptions converts the config to the legacy cluster options
func (VirtualClusterConfig) SchedulingInVirtualClusterEnabled ¶ added in v0.26.0
func (v VirtualClusterConfig) SchedulingInVirtualClusterEnabled() bool
SchedulingInVirtualClusterEnabled returns true if the virtual scheduler or the hybrid scheduling is enabled.
func (VirtualClusterConfig) VirtualClusterKubeConfig ¶ added in v0.20.0
func (v VirtualClusterConfig) VirtualClusterKubeConfig() config.VirtualClusterKubeConfig
Click to show internal directories.
Click to hide internal directories.