Skip to content

Commit d6f5964

Browse files
author
Thomas Kosiewski
committed
feat(k8s): Added Kubernetes ConfigMap storage backend
1 parent aacd03b commit d6f5964

File tree

7 files changed

+577
-19
lines changed

7 files changed

+577
-19
lines changed

file.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ func (f *file) persist(ctx context.Context) (err error) {
185185
f.modTime = f.getModTime()
186186
return err
187187
}
188+
188189
func (f *file) Name() string {
189190
return "file"
190191
}
@@ -258,6 +259,7 @@ func (f *file) UpdatePrefix(ctx context.Context, prefix Prefix, namespace string
258259
}
259260
return p, f.persist(ctx)
260261
}
262+
261263
func (f *file) DeletePrefix(ctx context.Context, prefix Prefix, namespace string) (p Prefix, err error) {
262264
f.lock.Lock()
263265
defer f.lock.Unlock()

go.mod

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module github.com/metal-stack/go-ipam
22

3-
go 1.22
3+
go 1.22.0
4+
5+
toolchain go1.22.4
46

57
require (
68
connectrpc.com/connect v1.16.2
@@ -25,6 +27,9 @@ require (
2527
golang.org/x/net v0.26.0
2628
golang.org/x/sync v0.7.0
2729
google.golang.org/protobuf v1.34.1
30+
k8s.io/api v0.30.1
31+
k8s.io/apimachinery v0.30.1
32+
sigs.k8s.io/controller-runtime v0.18.4
2833
)
2934

3035
require (
@@ -48,24 +53,42 @@ require (
4853
github.com/docker/docker v26.1.3+incompatible // indirect
4954
github.com/docker/go-connections v0.5.0 // indirect
5055
github.com/docker/go-units v0.5.0 // indirect
56+
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
57+
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
58+
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
5159
github.com/felixge/httpsnoop v1.0.4 // indirect
60+
github.com/fsnotify/fsnotify v1.7.0 // indirect
5261
github.com/go-logr/logr v1.4.2 // indirect
5362
github.com/go-logr/stdr v1.2.2 // indirect
5463
github.com/go-ole/go-ole v1.3.0 // indirect
64+
github.com/go-openapi/jsonpointer v0.19.6 // indirect
65+
github.com/go-openapi/jsonreference v0.20.2 // indirect
66+
github.com/go-openapi/swag v0.22.3 // indirect
5567
github.com/gogo/protobuf v1.3.2 // indirect
68+
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
5669
github.com/golang/protobuf v1.5.4 // indirect
5770
github.com/golang/snappy v0.0.4 // indirect
71+
github.com/google/gnostic-models v0.6.8 // indirect
72+
github.com/google/go-cmp v0.6.0 // indirect
73+
github.com/google/gofuzz v1.2.0 // indirect
5874
github.com/google/uuid v1.6.0 // indirect
75+
github.com/imdario/mergo v0.3.6 // indirect
76+
github.com/josharian/intern v1.0.0 // indirect
77+
github.com/json-iterator/go v1.1.12 // indirect
5978
github.com/klauspost/compress v1.17.8 // indirect
6079
github.com/lufia/plan9stats v0.0.0-20240513124658-fba389f38bae // indirect
6180
github.com/magiconair/properties v1.8.7 // indirect
81+
github.com/mailru/easyjson v0.7.7 // indirect
6282
github.com/moby/docker-image-spec v1.3.1 // indirect
6383
github.com/moby/patternmatcher v0.6.0 // indirect
6484
github.com/moby/sys/sequential v0.5.0 // indirect
6585
github.com/moby/sys/user v0.1.0 // indirect
6686
github.com/moby/term v0.5.0 // indirect
87+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
88+
github.com/modern-go/reflect2 v1.0.2 // indirect
6789
github.com/montanaflynn/stats v0.7.1 // indirect
6890
github.com/morikuni/aec v1.0.0 // indirect
91+
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
6992
github.com/opencontainers/go-digest v1.0.0 // indirect
7093
github.com/opencontainers/image-spec v1.1.0 // indirect
7194
github.com/pkg/errors v0.9.1 // indirect
@@ -78,6 +101,7 @@ require (
78101
github.com/shirou/gopsutil/v3 v3.24.5 // indirect
79102
github.com/shoenig/go-m1cpu v0.1.6 // indirect
80103
github.com/sirupsen/logrus v1.9.3 // indirect
104+
github.com/spf13/pflag v1.0.5 // indirect
81105
github.com/tklauser/go-sysconf v0.3.14 // indirect
82106
github.com/tklauser/numcpus v0.8.0 // indirect
83107
github.com/xdg-go/pbkdf2 v1.0.0 // indirect
@@ -96,10 +120,25 @@ require (
96120
go.uber.org/multierr v1.11.0 // indirect
97121
go.uber.org/zap v1.27.0 // indirect
98122
golang.org/x/crypto v0.24.0 // indirect
123+
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
124+
golang.org/x/oauth2 v0.19.0 // indirect
99125
golang.org/x/sys v0.21.0 // indirect
126+
golang.org/x/term v0.21.0 // indirect
100127
golang.org/x/text v0.16.0 // indirect
128+
golang.org/x/time v0.3.0 // indirect
129+
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
101130
google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 // indirect
102131
google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect
103132
google.golang.org/grpc v1.64.0 // indirect
133+
gopkg.in/inf.v0 v0.9.1 // indirect
134+
gopkg.in/yaml.v2 v2.4.0 // indirect
104135
gopkg.in/yaml.v3 v3.0.1 // indirect
136+
k8s.io/apiextensions-apiserver v0.30.1 // indirect
137+
k8s.io/client-go v0.30.1 // indirect
138+
k8s.io/klog/v2 v2.120.1 // indirect
139+
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
140+
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
141+
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
142+
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
143+
sigs.k8s.io/yaml v1.4.0 // indirect
105144
)

0 commit comments

Comments
 (0)