Skip to content

Commit b63a539

Browse files
authored
Report cluster mode (#54)
Signed-off-by: Tamal Saha <tamal@appscode.com>
1 parent 5938d93 commit b63a539

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+2547
-943
lines changed

go.mod

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ toolchain go1.24.3
66

77
require (
88
github.com/cloudevents/sdk-go/v2 v2.15.2
9-
github.com/nats-io/nats.go v1.39.0
9+
github.com/nats-io/nats.go v1.42.0
1010
github.com/pkg/errors v0.9.1
1111
go.bytebuilders.dev/license-verifier v0.14.9
12-
go.bytebuilders.dev/license-verifier/kubernetes v0.14.6
12+
go.bytebuilders.dev/license-verifier/kubernetes v0.14.9
1313
gomodules.xyz/counter v0.0.1
1414
k8s.io/api v0.32.3
1515
k8s.io/apimachinery v0.32.3
1616
k8s.io/client-go v0.32.3
1717
k8s.io/klog/v2 v2.130.1
18-
kmodules.xyz/client-go v0.32.4-0.20250513070944-c75b17fe7c82
19-
kmodules.xyz/resource-metadata v0.29.1-0.20250513074243-0452de808ec1
18+
kmodules.xyz/client-go v0.32.6
19+
kmodules.xyz/resource-metadata v0.30.1
2020
sigs.k8s.io/controller-runtime v0.20.4
2121
)
2222

@@ -59,7 +59,7 @@ require (
5959
github.com/jonboulle/clockwork v0.4.0 // indirect
6060
github.com/josharian/intern v1.0.0 // indirect
6161
github.com/json-iterator/go v1.1.12 // indirect
62-
github.com/klauspost/compress v1.17.11 // indirect
62+
github.com/klauspost/compress v1.18.0 // indirect
6363
github.com/klauspost/cpuid/v2 v2.0.9 // indirect
6464
github.com/mailru/easyjson v0.9.0 // indirect
6565
github.com/mitchellh/copystructure v1.2.0 // indirect
@@ -69,7 +69,7 @@ require (
6969
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
7070
github.com/modern-go/reflect2 v1.0.2 // indirect
7171
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
72-
github.com/nats-io/nkeys v0.4.9 // indirect
72+
github.com/nats-io/nkeys v0.4.11 // indirect
7373
github.com/nats-io/nuid v1.0.1 // indirect
7474
github.com/opencontainers/go-digest v1.0.0 // indirect
7575
github.com/opencontainers/image-spec v1.1.0 // indirect
@@ -94,13 +94,13 @@ require (
9494
go.bytebuilders.dev/license-proxyserver v0.0.20 // indirect
9595
go.uber.org/multierr v1.11.0 // indirect
9696
go.uber.org/zap v1.27.0 // indirect
97-
golang.org/x/crypto v0.36.0 // indirect
97+
golang.org/x/crypto v0.37.0 // indirect
9898
golang.org/x/net v0.38.0 // indirect
9999
golang.org/x/oauth2 v0.27.0 // indirect
100-
golang.org/x/sync v0.12.0 // indirect
101-
golang.org/x/sys v0.31.0 // indirect
102-
golang.org/x/term v0.30.0 // indirect
103-
golang.org/x/text v0.23.0 // indirect
100+
golang.org/x/sync v0.13.0 // indirect
101+
golang.org/x/sys v0.32.0 // indirect
102+
golang.org/x/term v0.31.0 // indirect
103+
golang.org/x/text v0.24.0 // indirect
104104
golang.org/x/time v0.10.0 // indirect
105105
gomodules.xyz/encoding v0.0.8 // indirect
106106
gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect

go.sum

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr
9191
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
9292
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
9393
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
94-
github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=
95-
github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
94+
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
95+
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
9696
github.com/klauspost/cpuid/v2 v2.0.9 h1:lgaqFMSdTdQYdZ04uHyN2d/eKdOMyi2YLSvlQIBFYa4=
9797
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
9898
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -125,10 +125,10 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G
125125
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
126126
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
127127
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
128-
github.com/nats-io/nats.go v1.39.0 h1:2/yg2JQjiYYKLwDuBzV0FbB2sIV+eFNkEevlRi4n9lI=
129-
github.com/nats-io/nats.go v1.39.0/go.mod h1:MgRb8oOdigA6cYpEPhXJuRVH6UE/V4jblJ2jQ27IXYM=
130-
github.com/nats-io/nkeys v0.4.9 h1:qe9Faq2Gxwi6RZnZMXfmGMZkg3afLLOtrU+gDZJ35b0=
131-
github.com/nats-io/nkeys v0.4.9/go.mod h1:jcMqs+FLG+W5YO36OX6wFIFcmpdAns+w1Wm6D3I/evE=
128+
github.com/nats-io/nats.go v1.42.0 h1:ynIMupIOvf/ZWH/b2qda6WGKGNSjwOUutTpWRvAmhaM=
129+
github.com/nats-io/nats.go v1.42.0/go.mod h1:iRWIPokVIFbVijxuMQq4y9ttaBTMe0SFdlZfMDd+33g=
130+
github.com/nats-io/nkeys v0.4.11 h1:q44qGV008kYd9W1b1nEBkNzvnWxtRSQ7A8BoqRrcfa0=
131+
github.com/nats-io/nkeys v0.4.11/go.mod h1:szDimtgmfOi9n25JpfIdGw12tZFYXqhGxjhVxsatHVE=
132132
github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw=
133133
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
134134
github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY=
@@ -209,8 +209,8 @@ go.bytebuilders.dev/license-proxyserver v0.0.20 h1:gzRSwUmX/LSwPVE6T9oy5RLIutU1E
209209
go.bytebuilders.dev/license-proxyserver v0.0.20/go.mod h1:2PJmjMCXncVyeP3fIVQ+hwZnuhmWSTmbcuEMBrFKIac=
210210
go.bytebuilders.dev/license-verifier v0.14.9 h1:EwwhYdHs5I3B+OrVO4fGFfFiEtIKVpqem2jtYb+Lek0=
211211
go.bytebuilders.dev/license-verifier v0.14.9/go.mod h1:BviSsSxXgXVXBSCXvYmftuTEtxchb04G0cV/AlD/Tu8=
212-
go.bytebuilders.dev/license-verifier/kubernetes v0.14.6 h1:NxmASX0A3lu+ABd4zuT5Ib+I63y3j5uJxmlUFEGxqWg=
213-
go.bytebuilders.dev/license-verifier/kubernetes v0.14.6/go.mod h1:N5QxsJF4EGLduOsTsW9gGfRuuMvN33T8pg5Y9NfKzuo=
212+
go.bytebuilders.dev/license-verifier/kubernetes v0.14.9 h1:A8xWWguH8EKn7bOTJEzQqAV57vrFIyFXHa66tDay5po=
213+
go.bytebuilders.dev/license-verifier/kubernetes v0.14.9/go.mod h1:v1TCx/FRZL18YPk5kKqAhBw4kgwBR+g05xamkpu57Y4=
214214
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
215215
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
216216
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
@@ -220,8 +220,8 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
220220
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
221221
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
222222
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
223-
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
224-
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
223+
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
224+
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
225225
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
226226
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
227227
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@@ -236,20 +236,20 @@ golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT
236236
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
237237
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
238238
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
239-
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
240-
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
239+
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
240+
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
241241
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
242242
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
243243
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
244244
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
245-
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
246-
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
247-
golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
248-
golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
245+
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
246+
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
247+
golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
248+
golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
249249
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
250250
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
251-
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
252-
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
251+
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
252+
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
253253
golang.org/x/time v0.10.0 h1:3usCWA8tQn0L8+hFJQNgzpWbd89begxN66o1Ojdn5L4=
254254
golang.org/x/time v0.10.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
255255
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -321,14 +321,14 @@ k8s.io/utils v0.0.0-20241210054802-24370beab758 h1:sdbE21q2nlQtFh65saZY+rRM6x6aJ
321321
k8s.io/utils v0.0.0-20241210054802-24370beab758/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
322322
kmodules.xyz/apiversion v0.2.0 h1:vAQYqZFm4xu4pbB1cAdHbFEPES6EQkcR4wc06xdTOWk=
323323
kmodules.xyz/apiversion v0.2.0/go.mod h1:oPX8g8LvlPdPX3Yc5YvCzJHQnw3YF/X4/jdW0b1am80=
324-
kmodules.xyz/client-go v0.32.4-0.20250513070944-c75b17fe7c82 h1:WbDqyWzq50f+5Dman/wvUPpAPjXlnNwf24fsfmtFBMc=
325-
kmodules.xyz/client-go v0.32.4-0.20250513070944-c75b17fe7c82/go.mod h1:ZwLnc7UqEXUNSe43n/SnER6+7YAQCu38L2te6YefoHU=
324+
kmodules.xyz/client-go v0.32.6 h1:/V9T0aLfe38PsyF+5FeU5QaC3GcqD8hQoWSCZw/uOpI=
325+
kmodules.xyz/client-go v0.32.6/go.mod h1:ZwLnc7UqEXUNSe43n/SnER6+7YAQCu38L2te6YefoHU=
326326
kmodules.xyz/go-containerregistry v0.0.14 h1:8MgLFa74HymAJEyjH7fyQJn5u2Ok6qPPFQX8ARfcXp0=
327327
kmodules.xyz/go-containerregistry v0.0.14/go.mod h1:xz0iGC3noyMi5NNAzXWTH6KqfiIgFWZAomw+U2zVOXs=
328328
kmodules.xyz/offshoot-api v0.32.0 h1:gogc5scSZe2JoXtZof72UGRl3Tit0kFaFRMkLLT1D8o=
329329
kmodules.xyz/offshoot-api v0.32.0/go.mod h1:tled7OxYZ3SkUJcrVFVVYyd+zXjsRSEm1R6Q3k4gcx0=
330-
kmodules.xyz/resource-metadata v0.29.1-0.20250513074243-0452de808ec1 h1:9q/s6ScTVdhpdstRnvfQQkqVB/kVO67RivOWOkIe7FU=
331-
kmodules.xyz/resource-metadata v0.29.1-0.20250513074243-0452de808ec1/go.mod h1:KEcdN2IPqp22IzgiaUYXuuSQYsKzDeINaZo/JggbJH0=
330+
kmodules.xyz/resource-metadata v0.30.1 h1:JPxjOfAYj/1VM5FONg90s99LV7ZPHh7ivaavS3Bpkr0=
331+
kmodules.xyz/resource-metadata v0.30.1/go.mod h1:GgA+AL58S2PlukBcnD8P6ILTtIJlp6wVuUyphR67LCY=
332332
kmodules.xyz/resource-metrics v0.30.6 h1:y+26VJ3oJ6FtE+f/sc9HfMAfaySZA+fIytRJ14YtxDo=
333333
kmodules.xyz/resource-metrics v0.30.6/go.mod h1:SL7hGoKCUOTOEQXVEkryREwlVkujM8jKPVEPUklZ3JY=
334334
moul.io/http2curl/v2 v2.3.1-0.20221024080105-10c404f653f7 h1:NykkTlRB+X40z86cLHdEmuoTxhNKhQebLT379b1EumA=

lib/billing_event.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ import (
2323
api "go.bytebuilders.dev/audit/api/v1"
2424

2525
core "k8s.io/api/core/v1"
26+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2627
kmapi "kmodules.xyz/client-go/api/v1"
28+
clustermeta "kmodules.xyz/client-go/cluster"
2729
"kmodules.xyz/client-go/discovery"
2830
corev1alpha1 "kmodules.xyz/resource-metadata/apis/core/v1alpha1"
2931
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -72,6 +74,14 @@ func (p *BillingEventCreator) CreateEvent(obj client.Object) (*api.Event, error)
7274
}
7375
res.Spec.Namespace.AceOrgMetadata = orgMetadata
7476
}
77+
78+
// ensure cluster mode is always up-to-date
79+
var ks core.Namespace
80+
err = p.NamespaceLister.Get(context.TODO(), client.ObjectKey{Name: metav1.NamespaceSystem}, &ks)
81+
if err != nil {
82+
return nil, err
83+
}
84+
res.Spec.Cluster.Mode = clustermeta.DetectClusterMode(&ks)
7585
}
7686

7787
if p.ClientBilling {

0 commit comments

Comments
 (0)