2022-09-05 03:06:08 -04:00
|
|
|
/*
|
|
|
|
Copyright (c) Edgeless Systems GmbH
|
|
|
|
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
*/
|
|
|
|
|
2022-03-28 06:24:41 -04:00
|
|
|
package azure
|
|
|
|
|
2022-07-21 08:41:07 -04:00
|
|
|
import (
|
|
|
|
"github.com/edgelesssys/constellation/internal/versions"
|
|
|
|
)
|
2022-03-28 06:24:41 -04:00
|
|
|
|
|
|
|
// CloudNodeManager holds the Azure cloud-node-manager configuration.
|
|
|
|
// reference: https://raw.githubusercontent.com/kubernetes-sigs/cloud-provider-azure/master/examples/out-of-tree/cloud-node-manager.yaml .
|
|
|
|
type CloudNodeManager struct{}
|
|
|
|
|
|
|
|
// Image returns the container image used to provide cloud-node-manager for the cloud-provider.
|
2022-07-22 09:05:04 -04:00
|
|
|
func (c *CloudNodeManager) Image(k8sVersion versions.ValidK8sVersion) (string, error) {
|
|
|
|
return versions.VersionConfigs[k8sVersion].CloudNodeManagerImageAzure, nil
|
2022-03-28 06:24:41 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
// Path returns the path used by cloud-node-manager executable within the container image.
|
|
|
|
func (c *CloudNodeManager) Path() string {
|
|
|
|
return "cloud-node-manager"
|
|
|
|
}
|
|
|
|
|
|
|
|
// ExtraArgs returns a list of arguments to append to the cloud-node-manager command.
|
|
|
|
func (c *CloudNodeManager) ExtraArgs() []string {
|
|
|
|
return []string{
|
2022-05-24 04:04:42 -04:00
|
|
|
"--wait-routes=true",
|
2022-03-28 06:24:41 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Supported is used to determine if cloud node manager is implemented for this cloud provider.
|
|
|
|
func (c *CloudNodeManager) Supported() bool {
|
|
|
|
return true
|
|
|
|
}
|