Skip to content

Commit ab7b1ed

Browse files
committed
use new registrar client in registrar gateway
1 parent b05e7d8 commit ab7b1ed

File tree

12 files changed

+245
-674
lines changed

12 files changed

+245
-674
lines changed

cmds/modules/provisiond/main.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,7 @@ func action(cli *cli.Context) error {
273273
if err != nil {
274274
return errors.Wrap(err, "failed to get node from twin")
275275
}
276+
nodeID := node.NodeID
276277

277278
queues := filepath.Join(rootDir, "queues")
278279
if err := os.MkdirAll(queues, 0755); err != nil {
@@ -300,7 +301,7 @@ func action(cli *cli.Context) error {
300301
queues,
301302
provision.WithTwins(users),
302303
provision.WithAdmins(admins),
303-
provision.WithAPIGateway(node, registrarGateway),
304+
provision.WithAPIGateway(nodeID, registrarGateway),
304305
// set priority to some reservation types on boot
305306
// so we always need to make sure all volumes and networks
306307
// comes first.
@@ -361,7 +362,7 @@ func action(cli *cli.Context) error {
361362
return errors.Wrap(err, "failed to create event consumer")
362363
}
363364

364-
handler := NewContractEventHandler(node, registrarGateway, engine, consumer)
365+
handler := NewContractEventHandler(nodeID, registrarGateway, engine, consumer)
365366

366367
go func() {
367368
if err := handler.Run(ctx); err != nil && err != context.Canceled {

go.mod

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
module github.com/threefoldtech/zos4
22

3-
go 1.21
4-
5-
toolchain go1.21.0
3+
go 1.21.0
64

75
require (
86
github.com/BurntSushi/toml v1.1.0 // indirect
@@ -52,6 +50,7 @@ require (
5250
require (
5351
github.com/hashicorp/go-retryablehttp v0.7.7
5452
github.com/lib/pq v1.10.9
53+
github.com/threefoldtech/tfgrid4-sdk-go/node-registrar v0.0.0-20250225100246-f4f5e1fbff97
5554
)
5655

5756
require (
@@ -75,7 +74,6 @@ require (
7574
github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c // indirect
7675
github.com/dustin/go-humanize v1.0.1 // indirect
7776
github.com/ethereum/go-ethereum v1.11.6 // indirect
78-
github.com/gin-gonic/gin v1.10.0 // indirect
7977
github.com/go-ole/go-ole v1.2.6 // indirect
8078
github.com/go-stack/stack v1.8.1 // indirect
8179
github.com/gofrs/flock v0.8.1 // indirect
@@ -140,17 +138,17 @@ require (
140138
github.com/yusufpapurcu/wmi v1.2.2 // indirect
141139
go.opencensus.io v0.23.0 // indirect
142140
go.uber.org/atomic v1.9.0 // indirect
143-
golang.org/x/net v0.26.0 // indirect
141+
golang.org/x/mod v0.18.0 // indirect
142+
golang.org/x/net v0.33.0 // indirect
144143
golang.org/x/sync v0.10.0 // indirect
145144
golang.org/x/text v0.21.0 // indirect
146-
golang.org/x/tools v0.22.0 // indirect
147145
golang.zx2c4.com/wireguard v0.0.20200320 // indirect
148146
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20200609130330-bd2cb7843e1b // indirect
149147
gonum.org/v1/gonum v0.15.0 // indirect
150148
google.golang.org/appengine v1.6.7 // indirect
151149
google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4 // indirect
152150
google.golang.org/grpc v1.41.0 // indirect
153-
google.golang.org/protobuf v1.34.2 // indirect
151+
google.golang.org/protobuf v1.36.1 // indirect
154152
gopkg.in/djherbis/times.v1 v1.2.0 // indirect
155153
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
156154
gopkg.in/yaml.v3 v3.0.1 // indirect
@@ -166,3 +164,5 @@ require (
166164
)
167165

168166
replace github.com/docker/distribution v2.7.1+incompatible => github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible
167+
168+
replace github.com/threefoldtech/zosbase => ../zosbase

go.sum

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFA
4040
github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce h1:YtWJF7RHm2pYCvA5t0RPmAaLUhREsKuKd+SLhxFbFeQ=
4141
github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o=
4242
github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
43-
github.com/bytedance/sonic v1.11.6 h1:oUp34TzMlL+OY1OUWxHqsdkgC/Zfc85zGqw9siXjrc0=
44-
github.com/bytedance/sonic v1.11.6/go.mod h1:LysEHSvpvDySVdC2f87zGWf6CIKJcAvqab1ZaiQtds4=
45-
github.com/bytedance/sonic/loader v0.1.1 h1:c+e5Pt1k/cy5wMveRDyk2X4B9hF4g7an8N3zCYjJFNM=
46-
github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
43+
github.com/bytedance/sonic v1.12.6 h1:/isNmCUF2x3Sh8RAp/4mh4ZGkcFAX/hLrzrK3AvpRzk=
44+
github.com/bytedance/sonic v1.12.6/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKzMzT9r/rk=
45+
github.com/bytedance/sonic/loader v0.2.1 h1:1GgorWTqf12TA8mma4DDSbaQigE2wOgQo7iCjjJv3+E=
46+
github.com/bytedance/sonic/loader v0.2.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
4747
github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4=
4848
github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
4949
github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M=
@@ -160,8 +160,8 @@ github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4
160160
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
161161
github.com/g0rbe/go-chattr v0.0.0-20190906133247-aa435a6a0a37 h1:kVr4Kev6L3EhHqTRDiA0dhxF0m/y0ZpKwzG4gEZnD1o=
162162
github.com/g0rbe/go-chattr v0.0.0-20190906133247-aa435a6a0a37/go.mod h1:Vcw2xsLqyhxJnvt5PG2Y6QloIXNSQ1W9SYAfX0muMkw=
163-
github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0=
164-
github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk=
163+
github.com/gabriel-vasile/mimetype v1.4.7 h1:SKFKl7kD0RiPdbht0s7hFtjl489WcQ1VyPW8ZzUMYCA=
164+
github.com/gabriel-vasile/mimetype v1.4.7/go.mod h1:GDlAgAyIRT27BhFl53XNAFtfjzOkLaF35JdEG0P7LtU=
165165
github.com/garyburd/redigo v1.6.2 h1:yE/pwKCrbLpLpQICzYTeZ7JsTA/C53wFTJHaEtRqniM=
166166
github.com/garyburd/redigo v1.6.2/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY=
167167
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
@@ -187,8 +187,8 @@ github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+
187187
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
188188
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
189189
github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI=
190-
github.com/go-playground/validator/v10 v10.20.0 h1:K9ISHbSaI0lyB2eWMPJo+kOS/FBExVwjEviJTixqxL8=
191-
github.com/go-playground/validator/v10 v10.20.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
190+
github.com/go-playground/validator/v10 v10.23.0 h1:/PwmTwZhS0dPkav3cdK9kV1FsAmrL8sThn8IHr/sO+o=
191+
github.com/go-playground/validator/v10 v10.23.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
192192
github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg=
193193
github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
194194
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
@@ -200,8 +200,8 @@ github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8=
200200
github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
201201
github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo=
202202
github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
203-
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
204-
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
203+
github.com/goccy/go-json v0.10.4 h1:JSwxQzIqKfmFX1swYPpUThQZp/Ka4wzJdK0LWVytLPM=
204+
github.com/goccy/go-json v0.10.4/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
205205
github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
206206
github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
207207
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
@@ -346,8 +346,8 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
346346
github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
347347
github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I=
348348
github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
349-
github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM=
350-
github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
349+
github.com/klauspost/cpuid/v2 v2.2.9 h1:66ze0taIn2H33fBvCkXuv9BmCwDfafmiIVpKV9kKGuY=
350+
github.com/klauspost/cpuid/v2 v2.2.9/go.mod h1:rqkxqrZ1EhYM9G+hXH7YdowN5R5RGN6NK4QwQ3WMXF8=
351351
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
352352
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
353353
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -463,8 +463,8 @@ github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaR
463463
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
464464
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
465465
github.com/pelletier/go-toml v1.8.1 h1:1Nf83orprkJyknT6h7zbuEGUEjcyVlCxSUGTENmNCRM=
466-
github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM=
467-
github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
466+
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
467+
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
468468
github.com/philhofer/fwd v1.1.1 h1:GdGcTjf5RNAxwS4QLsiMzJYj5KEvPJD3Abr261yRQXQ=
469469
github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
470470
github.com/pierrec/lz4 v2.3.0+incompatible h1:CZzRn4Ut9GbUkHlQ7jqBXeZQV41ZSKWFc302ZU6lUTk=
@@ -506,8 +506,8 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L
506506
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
507507
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
508508
github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
509-
github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
510-
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
509+
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
510+
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
511511
github.com/rs/cors v1.10.1 h1:L0uuZVXIKlI1SShY2nhFfo44TYvDPQ1w4oFkUJNfhyo=
512512
github.com/rs/cors v1.10.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
513513
github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
@@ -563,10 +563,10 @@ github.com/threefoldtech/tfchain/clients/tfchain-client-go v0.0.0-20241127100051
563563
github.com/threefoldtech/tfchain/clients/tfchain-client-go v0.0.0-20241127100051-77e684bcb1b2/go.mod h1:cOL5YgHUmDG5SAXrsZxFjUECRQQuAqOoqvXhZG5sEUw=
564564
github.com/threefoldtech/tfgrid-sdk-go/rmb-sdk-go v0.16.1-0.20241229121208-76ac3fea5e67 h1:Ii9TmXPBC1GYxRirReSygRZvEGXfAsQRaIipMEzGik0=
565565
github.com/threefoldtech/tfgrid-sdk-go/rmb-sdk-go v0.16.1-0.20241229121208-76ac3fea5e67/go.mod h1:93SROfr+QjgaJ5/jIWtIpLkhaD8Pv8WbdfwvwMNG2p4=
566+
github.com/threefoldtech/tfgrid4-sdk-go/node-registrar v0.0.0-20250225100246-f4f5e1fbff97 h1:rrVcJV9eRD0C7aU1hoj0uxkhVgumqqQMoGojr9IWudI=
567+
github.com/threefoldtech/tfgrid4-sdk-go/node-registrar v0.0.0-20250225100246-f4f5e1fbff97/go.mod h1:x6Sluj6YKfelWzcNwsD2oqGO8dpRlH7fbmeIqEsK8hI=
566568
github.com/threefoldtech/zbus v1.0.1 h1:3KaEpyOiDYAw+lrAyoQUGIvY9BcjVRXlQ1beBRqhRNk=
567569
github.com/threefoldtech/zbus v1.0.1/go.mod h1:E/v/xEvG/l6z/Oj0aDkuSUXFm/1RVJkhKBwDTAIdsHo=
568-
github.com/threefoldtech/zosbase v0.1.3-0.20250225140145-b4d6dbd96e56 h1:/2WsNT5UFiKzDxzd/9gxVX/sf6LC2Nna5F7YyZs/ovY=
569-
github.com/threefoldtech/zosbase v0.1.3-0.20250225140145-b4d6dbd96e56/go.mod h1:rxc49wA04S4IsBOYe0omVO7nu7GXridueh2PJh34gSo=
570570
github.com/tinylib/msgp v1.1.5 h1:2gXmtWueD2HefZHQe1QOy9HVzmFrLOVvsXwXBQ0ayy0=
571571
github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg=
572572
github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM=
@@ -631,8 +631,8 @@ go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
631631
go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
632632
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
633633
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
634-
golang.org/x/arch v0.8.0 h1:3wRIsP3pM4yUptoR96otTUOXI367OS0+c9eeRi9doIc=
635-
golang.org/x/arch v0.8.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
634+
golang.org/x/arch v0.12.0 h1:UsYJhbzPYGsT0HbEdmYcqtCv8UNGvnaL561NnIUvaKg=
635+
golang.org/x/arch v0.12.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
636636
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
637637
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
638638
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
@@ -692,8 +692,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
692692
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
693693
golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
694694
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
695-
golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
696-
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
695+
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
696+
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
697697
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
698698
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
699699
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -848,8 +848,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba
848848
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
849849
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
850850
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
851-
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
852-
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
851+
google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=
852+
google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
853853
gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
854854
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
855855
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

pkg/identity/identityd.go

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package identity
22

33
import (
4-
"encoding/json"
5-
"fmt"
6-
"net/http"
4+
"crypto/ed25519"
5+
"net/url"
76

87
"github.com/rs/zerolog/log"
98

10-
"github.com/threefoldtech/zos4/pkg/types"
9+
"github.com/threefoldtech/tfgrid4-sdk-go/node-registrar/client"
1110
"github.com/threefoldtech/zosbase/pkg/crypto"
1211
"github.com/threefoldtech/zosbase/pkg/identity/store"
1312

@@ -87,24 +86,18 @@ func (d *identityManager) Farm() (name string, err error) {
8786
}
8887

8988
env := environment.MustGet()
90-
91-
url := fmt.Sprintf("%s/v1/farms/%d", env.RegistrarURL, env.FarmID)
92-
resp, err := http.DefaultClient.Get(url)
89+
url, err := url.JoinPath(env.RegistrarURL, "v1")
9390
if err != nil {
9491
return "", err
9592
}
9693

97-
if resp.StatusCode != http.StatusOK {
98-
return "", fmt.Errorf("failed to get farm with status code %s", resp.Status)
99-
}
100-
defer resp.Body.Close()
101-
102-
var farm types.Farm
103-
err = json.NewDecoder(resp.Body).Decode(&farm)
94+
seed := ed25519.PrivateKey(d.PrivateKey()).Seed()
95+
client, err := client.NewRegistrarClient(url, seed)
10496
if err != nil {
10597
return "", err
10698
}
10799

100+
farm, err := client.GetFarm(uint64(env.FarmID))
108101
d.farm = farm.FarmName
109102
return farm.FarmName, err
110103
}

pkg/power/power.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99

1010
"github.com/pkg/errors"
1111
"github.com/rs/zerolog/log"
12+
"github.com/threefoldtech/tfgrid4-sdk-go/node-registrar/client"
1213
"github.com/threefoldtech/zos4/pkg/stubs"
13-
"github.com/threefoldtech/zos4/pkg/types"
1414
"github.com/threefoldtech/zosbase/pkg"
1515
"github.com/threefoldtech/zosbase/pkg/events"
1616
"github.com/threefoldtech/zosbase/pkg/network/bridge"
@@ -132,7 +132,7 @@ func (p *PowerServer) syncSelf() error {
132132
return nil
133133
}
134134

135-
func (p *PowerServer) powerUp(node *types.Node, reason string) error {
135+
func (p *PowerServer) powerUp(node *client.Node, reason string) error {
136136
log.Info().Uint64("node", node.NodeID).Str("reason", reason).Msg("powering on node")
137137

138138
mac := ""

pkg/power/uptime.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ func (u *Uptime) SendNow() error {
5555
return errors.Wrap(err, "failed to get uptime")
5656
}
5757

58-
return u.registrarGateway.UpdateNodeUptimeV2(context.Background(), uptime, uint64(time.Now().Unix()))
58+
return u.registrarGateway.UpdateNodeUptimeV2(context.Background(), time.Duration(uptime), time.Now())
5959
}
6060

6161
func (u *Uptime) uptime(ctx context.Context) error {

pkg/registrar_gateway.go

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,37 @@ import (
55

66
substrateTypes "github.com/centrifuge/go-substrate-rpc-client/v4/types"
77
substrate "github.com/threefoldtech/tfchain/clients/tfchain-client-go"
8+
"github.com/threefoldtech/tfgrid4-sdk-go/node-registrar/client"
89
"github.com/threefoldtech/zos4/pkg/types"
910
"github.com/threefoldtech/zosbase/pkg"
1011
)
1112

1213
//go:generate zbusc -module api-gateway -version 0.0.1 -name api-gateway -package stubs github.com/threefoldtech/zos4/pkg+RegistrarGateway stubs/registrar-gateway.go
1314

1415
type RegistrarGateway interface {
16+
CreateTwin(relay []string, rmbEncKey string) (client.Account, error)
17+
EnsureAccount(relay []string, rmbEncKey string) (twin client.Account, err error)
18+
GetTwin(id uint64) (client.Account, error)
19+
GetTwinByPubKey(pk []byte) (uint64, error)
20+
1521
CreateNode(node types.UpdateNodeRequest) (uint64, error)
16-
CreateTwin(relay string, pk []byte) (types.Account, error)
17-
EnsureAccount(pk []byte) (twin types.Account, err error)
22+
GetNode(id uint64) (client.Node, error)
23+
GetNodes(farmID uint64) ([]uint64, error)
24+
GetNodeByTwinID(twin uint64) (client.Node, error)
25+
UpdateNode(node types.UpdateNodeRequest) error
26+
UpdateNodeUptimeV2(uptime time.Duration, timestamp time.Time) (err error)
27+
28+
GetFarm(id uint64) (client.Farm, error)
29+
30+
GetTime() (time.Time, error)
31+
GetZosVersion() (client.ZosVersion, error)
32+
33+
GetNodeContracts(node uint32) ([]substrateTypes.U64, error)
1834
GetContract(id uint64) (substrate.Contract, pkg.SubstrateError)
1935
GetContractIDByNameRegistration(name string) (uint64, pkg.SubstrateError)
2036
GetNodeRentContract(node uint32) (uint64, pkg.SubstrateError)
21-
GetFarm(id uint64) (types.Farm, error)
22-
GetNode(id uint64) (types.Node, error)
23-
GetNodeByTwinID(twin uint64) (uint64, error)
24-
GetNodeContracts(node uint32) ([]substrateTypes.U64, error)
25-
GetNodes(farmID uint32) ([]uint32, error)
2637
GetPowerTarget() (power substrate.NodePower, err error)
27-
GetTwin(id uint64) (types.Account, error)
28-
GetTwinByPubKey(pk []byte) (uint64, error)
2938
Report(consumptions []substrate.NruConsumption) (substrateTypes.Hash, error)
3039
SetContractConsumption(resources ...substrate.ContractResources) error
3140
SetNodePowerState(up bool) (hash substrateTypes.Hash, err error)
32-
UpdateNode(node types.UpdateNodeRequest) (uint64, error)
33-
UpdateNodeUptimeV2(uptime uint64, timestampHint uint64) (err error)
34-
GetTime() (time.Time, error)
35-
GetZosVersion() (string, error)
3641
}

0 commit comments

Comments
 (0)