github.com/ironcore-dev/gardener-extension-provider-ironcore@v0.3.2-0.20240314231816-8336447fb9a0/pkg/cmd/options.go (about)

     1  // SPDX-FileCopyrightText: 2022 SAP SE or an SAP affiliate company and IronCore contributors
     2  // SPDX-License-Identifier: Apache-2.0
     3  
     4  package cmd
     5  
     6  import (
     7  	extensionsbackupbucketcontroller "github.com/gardener/gardener/extensions/pkg/controller/backupbucket"
     8  	extensionsbackupentrycontroller "github.com/gardener/gardener/extensions/pkg/controller/backupentry"
     9  	extensionsbastioncontroller "github.com/gardener/gardener/extensions/pkg/controller/bastion"
    10  	controllercmd "github.com/gardener/gardener/extensions/pkg/controller/cmd"
    11  	extensionscontrolplanecontroller "github.com/gardener/gardener/extensions/pkg/controller/controlplane"
    12  	extensionshealthcheckcontroller "github.com/gardener/gardener/extensions/pkg/controller/healthcheck"
    13  	extensionsheartbeatcontroller "github.com/gardener/gardener/extensions/pkg/controller/heartbeat"
    14  	extensionsinfrastructurecontroller "github.com/gardener/gardener/extensions/pkg/controller/infrastructure"
    15  	extensionsworkercontroller "github.com/gardener/gardener/extensions/pkg/controller/worker"
    16  	extensionscloudproviderwebhook "github.com/gardener/gardener/extensions/pkg/webhook/cloudprovider"
    17  	webhookcmd "github.com/gardener/gardener/extensions/pkg/webhook/cmd"
    18  	extensioncontrolplanewebhook "github.com/gardener/gardener/extensions/pkg/webhook/controlplane"
    19  
    20  	backupbucketcontroller "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/controller/backupbucket"
    21  	backupentrycontroller "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/controller/backupentry"
    22  	bastioncontroller "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/controller/bastion"
    23  	controlplanecontroller "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/controller/controlplane"
    24  	healthcheckcontroller "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/controller/healthcheck"
    25  	infrastructurecontroller "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/controller/infrastructure"
    26  	workercontroller "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/controller/worker"
    27  	cloudproviderwebhook "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/webhook/cloudprovider"
    28  	controlplanewebhook "github.com/ironcore-dev/gardener-extension-provider-ironcore/pkg/webhook/controlplane"
    29  )
    30  
    31  // ControllerSwitchOptions are the controllercmd.SwitchOptions for the provider controllers.
    32  func ControllerSwitchOptions() *controllercmd.SwitchOptions {
    33  	return controllercmd.NewSwitchOptions(
    34  		controllercmd.Switch(extensionsbackupbucketcontroller.ControllerName, backupbucketcontroller.AddToManager),
    35  		controllercmd.Switch(extensionsbackupentrycontroller.ControllerName, backupentrycontroller.AddToManager),
    36  		controllercmd.Switch(extensionsbastioncontroller.ControllerName, bastioncontroller.AddToManager),
    37  		controllercmd.Switch(extensionscontrolplanecontroller.ControllerName, controlplanecontroller.AddToManager),
    38  		controllercmd.Switch(extensionsinfrastructurecontroller.ControllerName, infrastructurecontroller.AddToManager),
    39  		controllercmd.Switch(extensionsworkercontroller.ControllerName, workercontroller.AddToManager),
    40  		controllercmd.Switch(extensionshealthcheckcontroller.ControllerName, healthcheckcontroller.AddToManager),
    41  		controllercmd.Switch(extensionsheartbeatcontroller.ControllerName, extensionsheartbeatcontroller.AddToManager),
    42  	)
    43  }
    44  
    45  // WebhookSwitchOptions are the webhookcmd.SwitchOptions for the provider webhooks.
    46  func WebhookSwitchOptions() *webhookcmd.SwitchOptions {
    47  	return webhookcmd.NewSwitchOptions(
    48  		webhookcmd.Switch(extensioncontrolplanewebhook.WebhookName, controlplanewebhook.AddToManager),
    49  		webhookcmd.Switch(extensionscloudproviderwebhook.WebhookName, cloudproviderwebhook.AddToManager),
    50  	)
    51  }