Documentation
¶
Overview ¶
Package crdmigrator contains the CRD migrator implementation.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ByObjectConfig ¶
type ByObjectConfig struct {
// UseCache configures if the cached client should be used for Get & List calls for this object.
// Get & List calls on the cached client automatically trigger the creation of an informer which
// requires a significant amount of memory.
// Thus it is only recommended to enable this setting for objects for which the controller already uses the cache.
// Note: If this is enabled, we will use the corresponding Go type of the object for Get & List calls to avoid
// creating additional informers for UnstructuredList/PartialObjectMetadataList.
UseCache bool
// UseStatusForStorageVersionMigration configures if the storage version migration for this CRD should
// be triggered via the status endpoint instead of an update on the CRs directly (which is the default).
// As mutating and validating webhooks are usually not configured on the status subresource this can help to
// avoid mutating & validation webhook errors that would block the no-op updates and thus the storage migration.
UseStatusForStorageVersionMigration bool
}
ByObjectConfig contains object-specific config for the CRD migration.
type CRDMigrator ¶
type CRDMigrator struct {
// Client is a cached client that is used:
// * for all cached Get & List calls
// * for all Patch calls
Client client.Client
// APIReader is a live client that is used:
// * for all live Get & List calls
APIReader client.Reader
// Comma-separated list of CRD migration phases to skip.
// Valid values are: All, StorageVersionMigration, CleanupManagedFields.
SkipCRDMigrationPhases []Phase
// Config allows to configure which objects should be migrated.
Config map[client.Object]ByObjectConfig
// contains filtered or unexported fields
}
CRDMigrator migrates CRDs.
func (*CRDMigrator) SetupWithManager ¶
func (r *CRDMigrator) SetupWithManager(ctx context.Context, mgr ctrl.Manager, controllerOptions controller.Options) error
type Phase ¶
type Phase string
Phase is a phase of the CRD migration.
var ( // StorageVersionMigrationPhase is the phase in which the storage version is migrated. // This means if the .status.storedVersions field of a CRD is not equal to [storageVersion], // a no-op patch is applied to all custom resources of the CRD to ensure they are all stored in // the current storageVersion in etcd. Afterward .status.storedVersions is set to [storageVersion]. // For more information see: // https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/ StorageVersionMigrationPhase Phase = "StorageVersionMigration" // CleanupManagedFieldsPhase is the phase in which managedFields are cleaned up. // This means for all custom resources of a CRD, managedFields that contain apiVersions that // are not served anymore are removed. // For more information see: // https://github.com/kubernetes/kubernetes/issues/111937 CleanupManagedFieldsPhase Phase = "CleanupManagedFields" )
Directories
¶
| Path | Synopsis |
|---|---|
|
test
|
|
|
t1/v1beta1
Package v1beta1 contains test types.
|
Package v1beta1 contains test types. |
|
t2/v1beta1
Package v1beta1 contains test types.
|
Package v1beta1 contains test types. |
|
t2/v1beta2
Package v1beta2 contains test types.
|
Package v1beta2 contains test types. |
|
t3/v1beta1
Package v1beta1 contains test types.
|
Package v1beta1 contains test types. |
|
t3/v1beta2
Package v1beta2 contains test types.
|
Package v1beta2 contains test types. |
|
t4/v1beta2
Package v1beta2 contains test types.
|
Package v1beta2 contains test types. |
Click to show internal directories.
Click to hide internal directories.