Skip to content

Commit 62bed8f

Browse files
committed
adapt to new lib version
1 parent 2de050f commit 62bed8f

6 files changed

Lines changed: 49 additions & 41 deletions

File tree

cmd/main.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,14 @@ func main() {
6969
MapIndex(direct.IndexKeyEntryZone, IndexKeyEntryZone).
7070
MapIndex(direct.IndexKeyZoneParent, IndexKeyZoneParent)
7171

72-
def := ctrlmgmt.Define(corednsv1alpha1.GroupVersion.Group, "runtime").
72+
def := ctrlmgmt.Define(corednsv1alpha1.GroupVersion.Group, cluster.DEFAULT, "runtime", "target", "dataplane", "source").
7373
WithScheme(scheme).
7474
AddCluster(
7575
cluster.Define("runtime", "runtime cluster").WithFallback("dataplane"),
7676
cluster.DefineFleet("dataplane", "api cluster for functional controllers", kcp.Type()).WithFallback("target"),
7777
cluster.DefineFleet("source", "user api cluster", kcp.Type()).WithFallback("target"),
7878
cluster.Define("target", "replication target").WithFallback(cluster.DEFAULT),
79+
cluster.DefineFleet(cluster.DEFAULT, "default cluster as fallback for target", kcp.Type()),
7980
).
8081
AddController(
8182
controller.WithMappings(hostedzone.Controller()).

internal/controller/server/common/index.go

Lines changed: 0 additions & 35 deletions
This file was deleted.

internal/controller/server/hostedzone/request.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ type Request struct {
2222
}
2323

2424
func (r *Request) Reconcile() reconcile.Problem {
25-
zk := zonemodel.ZoneKeyFromObject(r.ClusterName, r.Object)
25+
zk := zonemodel.ZoneKeyFromObject(r.Cluster.GetId(), r.Object)
2626

2727
info, ok, prob := common.GetRootInfo(r, r, r, r.Object, nil)
2828
if prob != nil {
@@ -71,7 +71,7 @@ func (r *Request) ReconcileDeleting() reconcile.Problem {
7171
}
7272

7373
func (r *Request) ReconcileDeleted() reconcile.Problem {
74-
zk := zonemodel.NewZoneKey(r.ClusterName, r.Request.Namespace, r.Request.Name)
74+
zk := zonemodel.NewZoneKey(r.Cluster.GetId(), r.Request.Namespace, r.Request.Name)
7575
r.Info("delete {{key}} from model", "key", zk)
7676
r.settings.model.RemoveZone(zk)
7777
r.TriggerStatusChanged()

internal/controller/server/servercomp/indexer.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"slices"
66

7+
"github.com/mandelsoft/goutils/generics"
78
"github.com/mandelsoft/goutils/sliceutils"
89
"github.com/mandelsoft/kubecrtutils/cacheindex"
910
"github.com/mandelsoft/kubecrtutils/component"
@@ -17,7 +18,7 @@ import (
1718
)
1819

1920
func indexerFactoryNames(ctx context.Context, logger logging.Logger, set types.Clusters) (cacheindex.TypedIndexerFunc[*corednsv1alpha1.CoreDNSEntry], error) {
20-
opts := component.DefinitionFromContext(ctx).GetOptions().(*Factory)
21+
opts := component.FromContext(ctx).GetOptions().(*Factory)
2122

2223
return func(obj *corednsv1alpha1.CoreDNSEntry) []string {
2324
if obj.Spec.ZoneRef == "" {
@@ -49,8 +50,10 @@ func indexerFactoryNames(ctx context.Context, logger logging.Logger, set types.C
4950
}, nil
5051
}
5152

53+
var SerialKey any = generics.PointerTo("dns.serial.cache")
54+
5255
func indexerFactoryIPs(ctx context.Context, logger logging.Logger, set types.Clusters) (cacheindex.TypedIndexerFunc[*corednsv1alpha1.CoreDNSEntry], error) {
53-
opts := component.DefinitionFromContext(ctx).GetOptions().(*Factory)
56+
opts := component.FromContext(ctx).GetOptions().(*Factory)
5457

5558
return func(obj *corednsv1alpha1.CoreDNSEntry) []string {
5659
if obj.Spec.ZoneRef == "" {
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package servercomp
2+
3+
import (
4+
"sync"
5+
6+
"github.com/mandelsoft/kubecrtutils/ctrlmgmt"
7+
"github.com/mandelsoft/kubecrtutils/types"
8+
mcreconcile "sigs.k8s.io/multicluster-runtime/pkg/reconcile"
9+
)
10+
11+
type Serial struct {
12+
lock sync.Mutex
13+
zones map[mcreconcile.Request]int
14+
}
15+
16+
func GetSerial(mgr types.ControllerManager) *Serial {
17+
return ctrlmgmt.GetData(mgr, SerialKey, newSerial)
18+
}
19+
20+
func newSerial() *Serial {
21+
return &Serial{zones: make(map[mcreconcile.Request]int)}
22+
}
23+
24+
func (s *Serial) Add(key mcreconcile.Request, id int) {
25+
s.lock.Lock()
26+
defer s.lock.Unlock()
27+
28+
old := s.zones[key]
29+
if id > old {
30+
s.zones[key] = id
31+
}
32+
}
33+
34+
func (s *Serial) Get(key mcreconcile.Request) int {
35+
s.lock.Lock()
36+
defer s.lock.Unlock()
37+
38+
return s.zones[key]
39+
}

pkg/render/spiff.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func Render(manifests map[string][]byte, values map[string]interface{}) (datapla
4646
if m["manifest"] == nil {
4747
err = retrieve(ctx, k, result, &dataplane, &runtime)
4848
} else {
49-
err = retrieve(ctx, k, result, &dataplane, &runtime)
49+
err = retrieve(ctx, k, m["manifest"], &dataplane, &runtime)
5050
}
5151
if err != nil {
5252
return nil, nil, err

0 commit comments

Comments
 (0)