Documentation
¶
Index ¶
Constants ¶
View Source
const (
DefaultHostsRewriteImage = "library/alpine:3.13.1"
GenericConfig = "CONFIG"
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ControllerContext ¶
type ControllerContext struct {
Context context.Context
LocalManager ctrl.Manager
VirtualManager ctrl.Manager
VirtualRawConfig *clientcmdapi.Config
VirtualClusterVersion *version.Info
CurrentNamespace string
CurrentNamespaceClient client.Client
Controllers sets.Set[string]
AdditionalServerFilters []servertypes.Filter
Options *VirtualClusterOptions
StopChan <-chan struct{}
//set of extra services that should handle the traffic or pass it along
ExtraHandlers []func(http.Handler) http.Handler
}
type VirtualClusterOptions ¶
type VirtualClusterOptions struct {
// PRO Options
ProOptions VirtualClusterProOptions `json:",inline"`
// OSS Options below
Controllers []string `json:"controllers,omitempty"`
ServerCaCert string `json:"serverCaCert,omitempty"`
ServerCaKey string `json:"serverCaKey,omitempty"`
TLSSANs []string `json:"tlsSans,omitempty"`
RequestHeaderCaCert string `json:"requestHeaderCaCert,omitempty"`
ClientCaCert string `json:"clientCaCert,omitempty"`
KubeConfigPath string `json:"kubeConfig,omitempty"`
KubeConfigContextName string `json:"kubeConfigContextName,omitempty"`
KubeConfigSecret string `json:"kubeConfigSecret,omitempty"`
KubeConfigSecretNamespace string `json:"kubeConfigSecretNamespace,omitempty"`
KubeConfigServer string `json:"kubeConfigServer,omitempty"`
Tolerations []string `json:"tolerations,omitempty"`
BindAddress string `json:"bindAddress,omitempty"`
Port int `json:"port,omitempty"`
Name string `json:"name,omitempty"`
TargetNamespace string `json:"targetNamespace,omitempty"`
ServiceName string `json:"serviceName,omitempty"`
SetOwner bool `json:"setOwner,omitempty"`
SyncAllNodes bool `json:"syncAllNodes,omitempty"`
EnableScheduler bool `json:"enableScheduler,omitempty"`
DisableFakeKubelets bool `json:"disableFakeKubelets,omitempty"`
FakeKubeletIPs bool `json:"fakeKubeletIPs,omitempty"`
ClearNodeImages bool `json:"clearNodeImages,omitempty"`
TranslateImages []string `json:"translateImages,omitempty"`
NodeSelector string `json:"nodeSelector,omitempty"`
EnforceNodeSelector bool `json:"enforceNodeSelector,omitempty"`
ServiceAccount string `json:"serviceAccount,omitempty"`
OverrideHosts bool `json:"overrideHosts,omitempty"`
OverrideHostsContainerImage string `json:"overrideHostsContainerImage,omitempty"`
ClusterDomain string `json:"clusterDomain,omitempty"`
LeaderElect bool `json:"leaderElect,omitempty"`
LeaseDuration int64 `json:"leaseDuration,omitempty"`
RenewDeadline int64 `json:"renewDeadline,omitempty"`
RetryPeriod int64 `json:"retryPeriod,omitempty"`
DisablePlugins bool `json:"disablePlugins,omitempty"`
PluginListenAddress string `json:"pluginListenAddress,omitempty"`
Plugins []string `json:"plugins,omitempty"`
DefaultImageRegistry string `json:"defaultImageRegistry,omitempty"`
EnforcePodSecurityStandard string `json:"enforcePodSecurityStandard,omitempty"`
MapHostServices []string `json:"mapHostServices,omitempty"`
MapVirtualServices []string `json:"mapVirtualServices,omitempty"`
SyncLabels []string `json:"syncLabels,omitempty"`
// hostpath mapper options
// this is only needed if using vcluster-hostpath-mapper component
// see: https://github.com/loft-sh/vcluster-hostpath-mapper
MountPhysicalHostPaths bool `json:"mountPhysicalHostPaths,omitempty"`
// To enable FSMounts functionality
VirtualLogsPath string
VirtualPodLogsPath string
VirtualContainerLogsPath string
VirtualKubeletPodPath string
HostMetricsBindAddress string `json:"hostMetricsBindAddress,omitempty"`
VirtualMetricsBindAddress string `json:"virtualMetricsBindAddress,omitempty"`
MultiNamespaceMode bool `json:"multiNamespaceMode,omitempty"`
NamespaceLabels []string `json:"namespaceLabels,omitempty"`
SyncAllSecrets bool `json:"syncAllSecrets,omitempty"`
SyncAllConfigMaps bool `json:"syncAllConfigMaps,omitempty"`
ProxyMetricsServer bool `json:"proxyMetricsServer,omitempty"`
ServiceAccountTokenSecrets bool `json:"serviceAccountTokenSecrets,omitempty"`
// DEPRECATED FLAGS
RewriteHostPaths bool `json:"rewriteHostPaths,omitempty"`
DeprecatedSyncNodeChanges bool `json:"syncNodeChanges"`
DeprecatedDisableSyncResources string
DeprecatedOwningStatefulSet string
DeprecatedUseFakeNodes bool
DeprecatedUseFakePersistentVolumes bool
DeprecatedEnableStorageClasses bool
DeprecatedEnablePriorityClasses bool
DeprecatedSuffix string
DeprecatedUseFakeKubelets bool
}
VirtualClusterOptions holds the cmd flags
type VirtualClusterProOptions ¶
type VirtualClusterProOptions struct {
ProLicenseSecret string `json:"proLicenseSecret,omitempty"`
RemoteKubeConfig string `json:"remoteKubeConfig,omitempty"`
RemoteNamespace string `json:"remoteNamespace,omitempty"`
RemoteServiceName string `json:"remoteServiceName,omitempty"`
EnforceValidatingHooks []string `json:"enforceValidatingHooks"`
EnforceMutatingHooks []string `json:"enforceMutatingHooks"`
EtcdReplicas int `json:"etcdReplicas,omitempty"`
IntegratedCoredns bool `json:"integratedCoreDNS,omitempty"`
UseCoreDNSPlugin bool `json:"useCoreDNSPlugin,omitempty"`
EtcdEmbedded bool `json:"etcdEmbedded,omitempty"`
MigrateFrom string `json:"migrateFrom,omitempty"`
NoopSyncer bool `json:"noopSyncer,omitempty"`
SyncKubernetesService bool `json:"synck8sService,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.