Documentation
¶
Index ¶
Constants ¶
const ( // SeedSpecHash is a constant for a label on `ControllerInstallation`s (similar to `pod-template-hash` on `Pod`s). SeedSpecHash = "seed-spec-hash" // ShootSpecHash is a constant for a label on `ControllerInstallation`s (similar to `pod-template-hash` on `Pod`s). ShootSpecHash = "shoot-spec-hash" // ControllerDeploymentHash is a constant for a label on `ControllerInstallation`s (similar to `pod-template-hash` // on `Pod`s). ControllerDeploymentHash = "deployment-hash" // RegistrationSpecHash is a constant for a label on `ControllerInstallation`s (similar to `pod-template-hash` on // Pod`s). RegistrationSpecHash = "registration-spec-hash" )
Variables ¶
This section is empty.
Functions ¶
func BackupBucketPredicate ¶
BackupBucketPredicate returns true for all BackupBucket events. For updates, it only returns true when there is a change in the .spec.seedName or .spec.provider.type fields.
func BackupEntryPredicate ¶
BackupEntryPredicate returns true for all BackupEntry events. For updates, it only returns true when there is a change in the .spec.seedName or .spec.bucketName fields.
func ControllerInstallationPredicate ¶
ControllerInstallationPredicate returns true for all ControllerInstallation 'create' events. For updates, it only returns true when the Required condition's status has changed. For other events, false is returned.
func ShootPredicate ¶
ShootPredicate returns true for all Shoot events. For updates, it only returns true when there is a change in the .spec.provider.workers or .spec.extensions or .spec.dns or .spec.networking.type or .spec.provider.type fields.
Types ¶
type Reconciler ¶
type Reconciler struct {
APIReader client.Reader
Client client.Client
NewTargetObjectFunc func() client.Object
Kind Kind
}
Reconciler determines which ControllerRegistrations are required for a given Seed or Shoot by checking all objects in the garden cluster, that need to be considered for that Seed or Shoot (e.g. because they reference it). It then deploys wanted and deletes unneeded ControllerInstallations accordingly. Seeds or Shoots get enqueued by updates to relevant (referencing) objects, e.g. Shoots, BackupBuckets, etc.