Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ApplyIstioPatches = func(_ *synccontext.SyncContext, _, _, _ client.Object) error { return nil }
var ApplyPatchesHostObject = func(_ *synccontext.SyncContext, _, _, _ client.Object, patches []config.TranslatePatch, _ bool) error { if len(patches) == 0 { return nil } return NewFeatureError(licenseapi.VirtualClusterProDistroTranslatePatches) }
var ApplyPatchesVirtualObject = func(_ *synccontext.SyncContext, _, _, _ client.Object, patches []config.TranslatePatch, _ bool) error { if len(patches) == 0 { return nil } return NewFeatureError(licenseapi.VirtualClusterProDistroTranslatePatches) }
var BuildProSyncers = func(_ *synccontext.RegisterContext) ([]syncertypes.Object, error) { return []syncertypes.Object{}, nil }
var ConfigureExternalDatabase = func(_ context.Context, _ string, _ *config.VirtualClusterConfig, _ bool) (string, *etcd.Certificates, error) { return "", nil, NewFeatureError(licenseapi.VirtualClusterProDistroExternalDatabase) }
var ErrSnapshotCredentialsMalformed = errors.New("the platform returned snapshot credentials that could not be read")
ErrSnapshotCredentialsMalformed marks a response that arrived but could not be read. Terminal: the platform answered, so waiting only repeats the same answer.
var GetNamespaceMapper = func(_ *synccontext.RegisterContext, _ synccontext.Mapper) (synccontext.Mapper, error) { return nil, NewFeatureError(licenseapi.SyncNamespacesTohost) }
var GetWithSyncedNamespacesTranslator = func(_ string, _ config.FromHostMappings) (translate.Translator, error) { return nil, NewFeatureError(licenseapi.SyncNamespacesTohost) }
var InitDNSServiceSyncing = func(_ *config.VirtualClusterConfig) specialservices.Interface { return specialservices.NewDefaultServiceSyncer() }
var InitProControllerContext = func(_ *synccontext.ControllerContext) error { return nil }
LicenseFeatures returns a map of featureName: enabled / disabled
var LicenseInit = func(_ context.Context, _ *config.VirtualClusterConfig) error { return nil }
LicenseInit is used to initialize the license loader
var LicenseStart = func(_ *synccontext.ControllerContext) error { return nil }
LicenseStart is used to start license loader
var NewImporter = func(_ synccontext.Mapper) syncertypes.Importer {
return &noopImporter{}
}
var RegisterProControllers = func(*synccontext.ControllerContext) error { return nil }
var ResolveSnapshotCredentials func(ctx context.Context) (*snapshotapi.Options, error)
ResolveSnapshotCredentials, when set by the pro runtime, pulls the snapshot storage credentials for a standalone, platform-connected tenant from the platform on demand, authenticated with the instance access key. Credentials are per instance (per auto-snapshot storage configuration), so no snapshot identifier is needed; the storage location comes from the snapshot request itself. The returned options carry only credentials and are used in memory only, never persisted in the tenant. It is nil in OSS-only builds (standalone auto-snapshots are a platform/pro feature), in which case the snapshot controller uses the options pushed alongside the request.
The caller classifies the error to decide retry-vs-fail, so wrap API status errors with %w and a response that cannot be read with ErrSnapshotCredentialsMalformed; both are terminal, anything else is retried. Options with no Type mean "not provisioned yet" and are retried without caching.
var SetStandaloneConstants = func(_ *config.VirtualClusterConfig) error { return nil }
SetStandaloneConstants remaps global constant paths to the standalone data directory. Injected by vcluster-pro at startup; the noop default is never reached in practice because standalone requires the pro binary.
var SetupStandaloneRestore = func(_ *config.VirtualClusterConfig) (func() error, error) { return func() error { return nil }, nil }
SetupStandaloneRestore allows vcluster-pro to adjust standalone restore state before the restore client opens the backing store and returns a rollback closure for failures that happen later in the restore flow. The noop default leaves OSS behavior unchanged.
var StartCustomResourceProxy = func(_ *synccontext.ControllerContext, _ *config.VirtualClusterConfig) error { return NewFeatureError(licenseapi.VirtualClusterProxyResources) }
var StartEmbeddedEtcd = func(_ context.Context, _ *config.VirtualClusterConfig, _ string, _ string, _ bool, _ bool) (func(), error) { return nil, NewFeatureError(licenseapi.VirtualClusterProDistroEmbeddedEtcd) }
var StartEmbeddedKubeVip = func(_ *synccontext.ControllerContext, _ *config.VirtualClusterConfig) error { return NewFeatureError(licenseapi.KubeVip) }
var StartIntegratedCoreDNS = func(_ *synccontext.ControllerContext) error { return NewFeatureError(licenseapi.VirtualClusterProDistroBuiltInCoreDNS) }
var StartKonnectivity = func(ctx *synccontext.ControllerContext) error { if !ctx.Config.PrivateNodes.Enabled { return nil } return NewFeatureError(licenseapi.VirtualClusterProDistroPrivateNodes) }
var StartPrivateNodesMode = func(ctx *synccontext.ControllerContext) error { if !ctx.Config.PrivateNodes.Enabled { return nil } return NewFeatureError(licenseapi.VirtualClusterProDistroPrivateNodes) }
var StartStandalone = func(_ context.Context, _ *StandaloneOptions) error { return NewFeatureError(licenseapi.Standalone) }
var SyncKubernetesServiceDedicated = func(ctx *synccontext.SyncContext) error { if !ctx.Config.PrivateNodes.Enabled { return nil } return NewFeatureError(licenseapi.VirtualClusterProDistroPrivateNodes) }
var UpgradeNode = func(_ context.Context, _ *UpgradeOptions) error { return NewFeatureError(licenseapi.VirtualClusterProDistroPrivateNodes) }
var WithKonnectivity = func(ctx *synccontext.ControllerContext, handler http.Handler) http.Handler {
return handler
}
var WriteKonnectivityEgressConfig = func() (string, error) { return "", NewFeatureError(licenseapi.VirtualClusterProDistroPrivateNodes) }
Functions ¶
func NewFeatureError ¶ added in v0.19.3
func NewFeatureError(featureName licenseapi.FeatureName) error
Types ¶
type StandaloneOptions ¶ added in v0.26.0
type StandaloneOptions struct {
Config string
}