Skip to content

Commit ac79ffe

Browse files
stackit-skenschad
andauthored
Re-enable node-controller for ccm (#53)
Signed-off-by: Niclas Schad <[email protected]> Co-authored-by: Niclas Schad <[email protected]>
1 parent 0c67298 commit ac79ffe

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

pkg/ccm/stackit.go

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"os"
88

99
sdkconfig "github.com/stackitcloud/stackit-sdk-go/core/config"
10+
"github.com/stackitcloud/stackit-sdk-go/services/iaas"
1011
"github.com/stackitcloud/stackit-sdk-go/services/loadbalancer"
1112
"gopkg.in/yaml.v3"
1213
corev1 "k8s.io/api/core/v1"
@@ -37,6 +38,7 @@ const (
3738

3839
type CloudControllerManager struct {
3940
loadBalancer *LoadBalancer
41+
instances *Instances
4042
}
4143

4244
// Config is used to read and store information from the cloud configuration file
@@ -151,13 +153,29 @@ func NewCloudControllerManager(cfg *Config, obs *MetricsRemoteWrite) (*CloudCont
151153
return nil, err
152154
}
153155

156+
iaasInnerClient, err := iaas.NewAPIClient(
157+
sdkconfig.WithRegion(cfg.Region),
158+
)
159+
if err != nil {
160+
return nil, fmt.Errorf("failed to create IaaS client: %v", err)
161+
}
162+
nodeClient, err := stackit.NewNodeClient(iaasInnerClient)
163+
if err != nil {
164+
return nil, fmt.Errorf("failed to create Node client: %v", err)
165+
}
166+
instances, err := NewInstance(nodeClient, cfg.ProjectID, cfg.Region)
167+
if err != nil {
168+
return nil, err
169+
}
170+
154171
lb, err := NewLoadBalancer(client, cfg.ProjectID, cfg.NetworkID, cfg.ExtraLabels, obs)
155172
if err != nil {
156173
return nil, err
157174
}
158175

159176
ccm := CloudControllerManager{
160177
loadBalancer: lb,
178+
instances: instances,
161179
}
162180
return &ccm, nil
163181
}
@@ -172,7 +190,7 @@ func (ccm *CloudControllerManager) Initialize(clientBuilder cloudprovider.Contro
172190
}
173191

174192
func (ccm *CloudControllerManager) InstancesV2() (cloudprovider.InstancesV2, bool) {
175-
return nil, true
193+
return ccm.instances, true
176194
}
177195

178196
func (ccm *CloudControllerManager) LoadBalancer() (cloudprovider.LoadBalancer, bool) {

0 commit comments

Comments
 (0)