Skip to content

Commit 2e53205

Browse files
committed
Initial implementation of Cloud Map controller that imports remote services
1 parent 3a30bac commit 2e53205

File tree

7 files changed

+351
-92
lines changed

7 files changed

+351
-92
lines changed

config/manager/kustomization.yaml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ generatorOptions:
55
disableNameSuffixHash: true
66

77
configMapGenerator:
8-
- name: manager-config
9-
files:
8+
- files:
109
- controller_manager_config.yaml
10+
name: manager-config
11+
apiVersion: kustomize.config.k8s.io/v1beta1
12+
kind: Kustomization
13+
images:
14+
- name: controller
15+
newName: controller
16+
newTag: latest

config/rbac/role.yaml

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -28,24 +28,7 @@ rules:
2828
resources:
2929
- serviceimports
3030
verbs:
31-
- create
32-
- delete
3331
- get
3432
- list
3533
- patch
3634
- update
37-
- watch
38-
- apiGroups:
39-
- multicluster.k8s.aws
40-
resources:
41-
- serviceimports/finalizers
42-
verbs:
43-
- update
44-
- apiGroups:
45-
- multicluster.k8s.aws
46-
resources:
47-
- serviceimports/status
48-
verbs:
49-
- get
50-
- patch
51-
- update

main.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ package main
1919
import (
2020
"context"
2121
"flag"
22-
2322
"github.com/aws/aws-sdk-go-v2/config"
2423
"os"
2524

@@ -102,14 +101,17 @@ func main() {
102101
os.Exit(1)
103102
}
104103

105-
if err = (&controllers.ServiceImportReconciler{
106-
Client: mgr.GetClient(),
107-
Log: ctrl.Log.WithName("controllers").WithName("ServiceImport"),
108-
Scheme: mgr.GetScheme(),
109-
}).SetupWithManager(mgr); err != nil {
110-
setupLog.Error(err, "unable to create controller", "controller", "ServiceImport")
104+
cloudMapReconciler := &controllers.CloudMapReconciler{
105+
Client: mgr.GetClient(),
106+
Cloudmap: cloudmap.NewServiceDiscoveryClient(&awsCfg),
107+
Logger: ctrl.Log.WithName("controllers").WithName("CloudMap"),
108+
}
109+
110+
if err = mgr.Add(cloudMapReconciler); err != nil {
111+
setupLog.Error(err, "unable to create controller", "controller", "CloudMap")
111112
os.Exit(1)
112113
}
114+
113115
//+kubebuilder:scaffold:builder
114116

115117
if err := mgr.AddHealthzCheck("healthz", healthz.Ping); err != nil {

pkg/cloudmap/client.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,9 +244,8 @@ func (sdc *serviceDiscoveryClient) listServicesFromCloudMap(ctx context.Context,
244244
svcs := make([]*types.ServiceSummary, 0)
245245

246246
nsId, nsErr := sdc.getNamespaceId(ctx, nsName)
247-
248247
if nsErr != nil {
249-
return svcs, nsErr
248+
return svcs, nil
250249
}
251250

252251
filter := types.ServiceFilter{

pkg/cloudmap/endpoint_manager.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
)
1818

1919
const (
20-
defaultEndpointsCacheTTL = 5 * time.Minute
20+
defaultEndpointsCacheTTL = 5 * time.Second
2121
defaultEndpointsCacheSize = 1024
2222

2323
defaultOperationPollInterval = 3 * time.Second

0 commit comments

Comments
 (0)