From 06264d7f79e2ded9b244deaccb7ed93c84ed48e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Peliz=C3=A4us?= Date: Thu, 26 Jun 2025 11:32:25 +0200 Subject: [PATCH 1/7] cmd/microcloud: Replace shared.ValueInSlice with slices.Contains MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julian Pelizäus --- cmd/microcloud/ask.go | 4 ++-- cmd/microcloud/main_init.go | 3 ++- cmd/microcloud/preseed.go | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/cmd/microcloud/ask.go b/cmd/microcloud/ask.go index 94f289c60..c0b49c807 100644 --- a/cmd/microcloud/ask.go +++ b/cmd/microcloud/ask.go @@ -83,7 +83,7 @@ func checkInitialized(stateDir string, expectInitialized bool, preseed bool) err // askUpdateProfile asks whether to update the existing profile configuration if it has changed. func (c *initConfig) askUpdateProfile(profile api.ProfilesPost, profiles []string, lxdClient lxd.InstanceServer) (*api.ProfilePut, error) { - if !shared.ValueInSlice(profile.Name, profiles) { + if !slices.Contains(profiles, profile.Name) { return &profile.ProfilePut, nil } @@ -1578,7 +1578,7 @@ func (c *initConfig) askJoinIntents(gw *cloudClient.WebsocketGateway, expectedSy } // Skip systems which aren't listed in the preseed. - if !shared.ValueInSlice(session.Intent.Name, expectedSystems) { + if !slices.Contains(expectedSystems, session.Intent.Name) { continue } diff --git a/cmd/microcloud/main_init.go b/cmd/microcloud/main_init.go index cc53daac3..c8daf14bc 100644 --- a/cmd/microcloud/main_init.go +++ b/cmd/microcloud/main_init.go @@ -6,6 +6,7 @@ import ( "fmt" "net" "os" + "slices" "strings" "sync" "time" @@ -969,7 +970,7 @@ func (c *initConfig) setupCluster(s *service.Handler) error { } } - if !shared.ValueInSlice(profile.Name, profiles) { + if !slices.Contains(profiles, profile.Name) { err = lxdClient.CreateProfile(profile) if err != nil { return err diff --git a/cmd/microcloud/preseed.go b/cmd/microcloud/preseed.go index 93298531b..a84f8bad7 100644 --- a/cmd/microcloud/preseed.go +++ b/cmd/microcloud/preseed.go @@ -6,11 +6,11 @@ import ( "io" "net" "os" + "slices" "strconv" "strings" "time" - "github.com/canonical/lxd/shared" lxdAPI "github.com/canonical/lxd/shared/api" "github.com/canonical/lxd/shared/filter" "github.com/canonical/lxd/shared/units" @@ -383,7 +383,7 @@ func (p *Preseed) validate(name string, bootstrap bool) error { directLocalCount++ } - if shared.ValueInSlice(system.Name, systemNames) { + if slices.Contains(systemNames, system.Name) { return fmt.Errorf("Duplicate system name %q", system.Name) } @@ -645,7 +645,7 @@ func (p *Preseed) Parse(s *service.Handler, c *initConfig, installedServices map addressStrings = append(addressStrings, ipNet.IP.String()) } - if shared.ValueInSlice(c.address, addressStrings) { + if slices.Contains(addressStrings, c.address) { c.lookupIface = &iface break } From f9c96009b6f583b627166f5787c3a0a34f07b47d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Peliz=C3=A4us?= Date: Thu, 26 Jun 2025 11:33:07 +0200 Subject: [PATCH 2/7] service: Replace shared.ValueInSlice with slices.Contains MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julian Pelizäus --- service/lxd.go | 6 +++--- service/session.go | 5 ++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/service/lxd.go b/service/lxd.go index 41988207d..18d079a0e 100644 --- a/service/lxd.go +++ b/service/lxd.go @@ -8,11 +8,11 @@ import ( "net" "net/http" "net/url" + "slices" "time" "github.com/canonical/lxd/client" "github.com/canonical/lxd/lxd/util" - "github.com/canonical/lxd/shared" "github.com/canonical/lxd/shared/api" "github.com/canonical/microcluster/v2/microcluster" microTypes "github.com/canonical/microcluster/v2/rest/types" @@ -513,7 +513,7 @@ func defaultNetworkInterfacesFilter(network api.Network, state *api.NetworkState // ovnNetworkInterfacesFilter filters a network based on OVN specific rules and returns whether it should be skipped. func ovnNetworkInterfacesFilter(network api.Network, state *api.NetworkState) bool { // OpenVswitch only supports physical ethernet or VLAN interfaces, LXD also supports plugging in bridges. - if !shared.ValueInSlice(network.Type, []string{"physical", "bridge", "bond", "vlan"}) { + if !slices.Contains([]string{"physical", "bridge", "bond", "vlan"}, network.Type) { return false } @@ -826,5 +826,5 @@ func (s LXDService) SupportsFeature(ctx context.Context, feature string) (bool, return false, fmt.Errorf("API extensions not available when checking for a LXD feature") } - return shared.ValueInSlice(feature, server.APIExtensions), nil + return slices.Contains(server.APIExtensions, feature), nil } diff --git a/service/session.go b/service/session.go index 8529f11e2..0f350dad6 100644 --- a/service/session.go +++ b/service/session.go @@ -6,11 +6,10 @@ import ( "errors" "fmt" "math/big" + "slices" "strings" "sync" - "github.com/canonical/lxd/shared" - "github.com/canonical/microcloud/microcloud/api/types" cloudClient "github.com/canonical/microcloud/microcloud/client" "github.com/canonical/microcloud/microcloud/multicast" @@ -141,7 +140,7 @@ func (s *Session) RegisterIntent(fingerprint string) error { s.lock.Lock() defer s.lock.Unlock() - if shared.ValueInSlice(fingerprint, s.joinIntentFingerprints) { + if slices.Contains(s.joinIntentFingerprints, fingerprint) { return errors.New("Fingerprint already exists") } From f0ea4fe7850a8dc58e4eb2788f7131f46ce80d27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Peliz=C3=A4us?= Date: Thu, 26 Jun 2025 11:33:46 +0200 Subject: [PATCH 3/7] make: Update min go version and pin tablewriter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julian Pelizäus --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 9c3816756..edfdfbdcb 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -GOMIN=1.23.7 +GOMIN=1.24.4 GOCOVERDIR ?= $(shell go env GOCOVERDIR) GOPATH ?= $(shell go env GOPATH) DQLITE_PATH=$(GOPATH)/deps/dqlite @@ -84,6 +84,7 @@ update-gomod: go get github.com/canonical/lxd@stable-5.21 # Stay on v2 dqlite and LXD LTS client go get github.com/canonical/microceph@1200ba77f2320be2acec45939f4b96a8ac4f0722 # Right after releasing squid LTS. go get github.com/canonical/microovn@branch-24.03 # 24.03 LTS. + go get github.com/olekukonko/tablewriter@v0.0.5 # Due to breaking API in later versions go mod tidy -go=$(GOMIN) From d4d2d6cf075e7e4ec968dfd1f150a5be5839a737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Peliz=C3=A4us?= Date: Thu, 26 Jun 2025 11:45:44 +0200 Subject: [PATCH 4/7] make: Update used version pin of MicroCeph MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The path was wrong so it already pulled the latest version instead of the pin. Signed-off-by: Julian Pelizäus --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index edfdfbdcb..979ca634c 100644 --- a/Makefile +++ b/Makefile @@ -82,7 +82,7 @@ update-gomod: # Static pins go get github.com/canonical/lxd@stable-5.21 # Stay on v2 dqlite and LXD LTS client - go get github.com/canonical/microceph@1200ba77f2320be2acec45939f4b96a8ac4f0722 # Right after releasing squid LTS. + go get github.com/canonical/microceph/microceph@64d02d9538a89be039707ecbf942ca1aeae29760 # squid LTS. go get github.com/canonical/microovn@branch-24.03 # 24.03 LTS. go get github.com/olekukonko/tablewriter@v0.0.5 # Due to breaking API in later versions From 94ea5e18df1b23891af8aad2638aef5845769e89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Peliz=C3=A4us?= Date: Thu, 26 Jun 2025 11:46:17 +0200 Subject: [PATCH 5/7] make: Update used version pin of MicroOVN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The path was wrong so it already pulled the latest version instead of the pin. Signed-off-by: Julian Pelizäus --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 979ca634c..f1f3655d0 100644 --- a/Makefile +++ b/Makefile @@ -83,7 +83,7 @@ update-gomod: # Static pins go get github.com/canonical/lxd@stable-5.21 # Stay on v2 dqlite and LXD LTS client go get github.com/canonical/microceph/microceph@64d02d9538a89be039707ecbf942ca1aeae29760 # squid LTS. - go get github.com/canonical/microovn@branch-24.03 # 24.03 LTS. + go get github.com/canonical/microovn/microovn@branch-24.03 # 24.03 LTS. go get github.com/olekukonko/tablewriter@v0.0.5 # Due to breaking API in later versions go mod tidy -go=$(GOMIN) From 695ac070c4dddda6c65d63e046d60d349905ea92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Peliz=C3=A4us?= Date: Thu, 26 Jun 2025 11:47:52 +0200 Subject: [PATCH 6/7] make: Update used version pin of LXD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The commit matches the one pinned inside Microcluster v2. Signed-off-by: Julian Pelizäus --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f1f3655d0..8875f4a83 100644 --- a/Makefile +++ b/Makefile @@ -81,7 +81,7 @@ update-gomod: go get -t -v -u ./... # Static pins - go get github.com/canonical/lxd@stable-5.21 # Stay on v2 dqlite and LXD LTS client + go get github.com/canonical/lxd@8079534cf291bbc562aeffc26b671a03c322ae10 # 5.21 LTS. go get github.com/canonical/microceph/microceph@64d02d9538a89be039707ecbf942ca1aeae29760 # squid LTS. go get github.com/canonical/microovn/microovn@branch-24.03 # 24.03 LTS. go get github.com/olekukonko/tablewriter@v0.0.5 # Due to breaking API in later versions From f833af9d0b43704501f2c0e22a0c25c5b062bec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Peliz=C3=A4us?= Date: Thu, 26 Jun 2025 11:34:03 +0200 Subject: [PATCH 7/7] go: Update deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julian Pelizäus --- go.mod | 34 +++++++++++++-------------- go.sum | 72 +++++++++++++++++++++++++++++----------------------------- 2 files changed, 53 insertions(+), 53 deletions(-) diff --git a/go.mod b/go.mod index 3e7481f28..d3cad3bf4 100644 --- a/go.mod +++ b/go.mod @@ -1,12 +1,12 @@ module github.com/canonical/microcloud/microcloud -go 1.23.7 +go 1.24.4 require ( - github.com/canonical/lxd v0.0.0-20250325123738-fcb8c6503907 - github.com/canonical/microceph/microceph v0.0.0-20250327150042-265036a9667c - github.com/canonical/microcluster/v2 v2.1.0 - github.com/canonical/microovn/microovn v0.0.0-20250328134802-336b7904ac05 + github.com/canonical/lxd v0.0.0-20250624133916-8079534cf291 + github.com/canonical/microceph/microceph v0.0.0-20250620092923-64d02d9538a8 + github.com/canonical/microcluster/v2 v2.2.0 + github.com/canonical/microovn/microovn v0.0.0-20250114100905-d990fee49400 github.com/charmbracelet/bubbletea v1.3.5 github.com/charmbracelet/lipgloss v1.1.0 github.com/charmbracelet/x/ansi v0.9.3 @@ -27,17 +27,17 @@ require ( github.com/Rican7/retry v0.3.1 // indirect github.com/armon/go-proxyproto v0.1.0 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect - github.com/canonical/go-dqlite/v2 v2.0.0 // indirect - github.com/charmbracelet/colorprofile v0.3.0 // indirect + github.com/canonical/go-dqlite/v2 v2.0.1 // indirect + github.com/charmbracelet/colorprofile v0.3.1 // indirect github.com/charmbracelet/x/cellbuf v0.0.13 // indirect github.com/charmbracelet/x/term v0.2.1 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect github.com/flosch/pongo2 v0.0.0-20200913210552-0d938eb266f3 // indirect - github.com/fsnotify/fsnotify v1.8.0 // indirect + github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/fvbommel/sortorder v1.1.0 // indirect - github.com/go-jose/go-jose/v4 v4.0.5 // indirect - github.com/go-logr/logr v1.4.2 // indirect + github.com/go-jose/go-jose/v4 v4.1.0 // indirect + github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/google/renameio v1.0.1 // indirect github.com/google/uuid v1.6.0 // indirect @@ -50,7 +50,7 @@ require ( github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-localereader v0.0.1 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect - github.com/mattn/go-sqlite3 v1.14.24 // indirect + github.com/mattn/go-sqlite3 v1.14.28 // indirect github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect github.com/muesli/cancelreader v0.2.2 // indirect github.com/muesli/termenv v0.16.0 // indirect @@ -58,7 +58,7 @@ require ( github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pkg/sftp v1.13.9 // indirect - github.com/pkg/xattr v0.4.10 // indirect + github.com/pkg/xattr v0.4.11 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect @@ -66,14 +66,14 @@ require ( github.com/spf13/pflag v1.0.6 // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect github.com/zitadel/logging v0.6.2 // indirect - github.com/zitadel/oidc/v3 v3.37.0 // indirect + github.com/zitadel/oidc/v3 v3.39.0 // indirect github.com/zitadel/schema v1.3.1 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/otel v1.35.0 // indirect - go.opentelemetry.io/otel/metric v1.35.0 // indirect - go.opentelemetry.io/otel/trace v1.35.0 // indirect + go.opentelemetry.io/otel v1.37.0 // indirect + go.opentelemetry.io/otel/metric v1.37.0 // indirect + go.opentelemetry.io/otel/trace v1.37.0 // indirect golang.org/x/crypto v0.39.0 // indirect - golang.org/x/oauth2 v0.28.0 // indirect + golang.org/x/oauth2 v0.30.0 // indirect golang.org/x/term v0.32.0 // indirect golang.org/x/text v0.26.0 // indirect ) diff --git a/go.sum b/go.sum index d2bef2f6f..a58942303 100644 --- a/go.sum +++ b/go.sum @@ -8,20 +8,20 @@ github.com/aymanbagabas/go-udiff v0.2.0 h1:TK0fH4MteXUDspT88n8CKzvK0X9O2xu9yQjWp github.com/aymanbagabas/go-udiff v0.2.0/go.mod h1:RE4Ex0qsGkTAJoQdQQCA0uG+nAzJO/pI/QwceO5fgrA= github.com/bmatcuk/doublestar/v4 v4.8.1 h1:54Bopc5c2cAvhLRAzqOGCYHYyhcDHsFF4wWIR5wKP38= github.com/bmatcuk/doublestar/v4 v4.8.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= -github.com/canonical/go-dqlite/v2 v2.0.0 h1:RNFcFVhHMh70muKKErbW35rSzqmAFswheHdAgxW0Ddw= -github.com/canonical/go-dqlite/v2 v2.0.0/go.mod h1:IaIC8u4Z1UmPjuAqPzA2r83YMaMHRLoKZdHKI5uHCJI= -github.com/canonical/lxd v0.0.0-20250325123738-fcb8c6503907 h1:aMycv2Z7Pv+AF/EWVi3FfWUUmRT4oWbdWkvUFwZ4ssI= -github.com/canonical/lxd v0.0.0-20250325123738-fcb8c6503907/go.mod h1:2TlAkDBeTKhbM8YUsxbVmyquQSxg6jYFxdZjoRbRWBs= -github.com/canonical/microceph/microceph v0.0.0-20250327150042-265036a9667c h1:FXLQkKaewX5D9SpBY4sZG18LpJByRSif/hNmMtYLZyI= -github.com/canonical/microceph/microceph v0.0.0-20250327150042-265036a9667c/go.mod h1:xM3IgZAWK6KCOvKEc2CDpZ6KwOooaHwxZ3DYFtTU2o4= -github.com/canonical/microcluster/v2 v2.1.0 h1:jEycvk2vu8XH5SaT4GatqymCOmY7Bhj/mOM4d8XN13c= -github.com/canonical/microcluster/v2 v2.1.0/go.mod h1:Aofp11LCtIpIm8OdkQRpl7RWXYtLMTE+B+SOE0gcyAE= -github.com/canonical/microovn/microovn v0.0.0-20250328134802-336b7904ac05 h1:AkpzMGA80jTfKYJDEGQLD4hgkZcrlJmokfUzVKozr2A= -github.com/canonical/microovn/microovn v0.0.0-20250328134802-336b7904ac05/go.mod h1:Z641vwo0yEELl9vqvl6eT37ngl03eo9eeE906HTVqZk= +github.com/canonical/go-dqlite/v2 v2.0.1 h1:C5A+MioYkjew5rG8apjVYwGYIpKKkkC1FlnL4cBLGaE= +github.com/canonical/go-dqlite/v2 v2.0.1/go.mod h1:IaIC8u4Z1UmPjuAqPzA2r83YMaMHRLoKZdHKI5uHCJI= +github.com/canonical/lxd v0.0.0-20250624133916-8079534cf291 h1:pjAvVXNMqYxV0FulodnT5HL0NdUxJvhhxvvcLVlSpHY= +github.com/canonical/lxd v0.0.0-20250624133916-8079534cf291/go.mod h1:RJUPpezQbDX5APLrGSXotQXcQNshv8s4ZiElxf4zrn4= +github.com/canonical/microceph/microceph v0.0.0-20250620092923-64d02d9538a8 h1:WJi+xVY9fd28VqDFZk4yUskVzAtSNAs2tGxKjdQjCZw= +github.com/canonical/microceph/microceph v0.0.0-20250620092923-64d02d9538a8/go.mod h1:xM3IgZAWK6KCOvKEc2CDpZ6KwOooaHwxZ3DYFtTU2o4= +github.com/canonical/microcluster/v2 v2.2.0 h1:JxTnohcJjLLrF8qzTimxvmeCLEgYSSqEu/1giMAWZcA= +github.com/canonical/microcluster/v2 v2.2.0/go.mod h1:q43ij5d2LziK9Pf07NdA7/82FIsnIzKSGcpEzCEAUAA= +github.com/canonical/microovn/microovn v0.0.0-20250114100905-d990fee49400 h1:t4qkq1AgBlEDiqRPBFxQuS7ZwLlVc/WIoD5OF48/OdI= +github.com/canonical/microovn/microovn v0.0.0-20250114100905-d990fee49400/go.mod h1:Z641vwo0yEELl9vqvl6eT37ngl03eo9eeE906HTVqZk= github.com/charmbracelet/bubbletea v1.3.5 h1:JAMNLTbqMOhSwoELIr0qyP4VidFq72/6E9j7HHmRKQc= github.com/charmbracelet/bubbletea v1.3.5/go.mod h1:TkCnmH+aBd4LrXhXcqrKiYwRs7qyQx5rBgH5fVY3v54= -github.com/charmbracelet/colorprofile v0.3.0 h1:KtLh9uuu1RCt+Hml4s6Hz+kB1PfV3wi++1h5ia65yKQ= -github.com/charmbracelet/colorprofile v0.3.0/go.mod h1:oHJ340RS2nmG1zRGPmhJKJ/jf4FPNNk0P39/wBPA1G0= +github.com/charmbracelet/colorprofile v0.3.1 h1:k8dTHMd7fgw4bnFd7jXTLZrSU/CQrKnL3m+AxCzDz40= +github.com/charmbracelet/colorprofile v0.3.1/go.mod h1:/GkGusxNs8VB/RSOh3fu0TJmQ4ICMMPApIIVn0KszZ0= github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY= github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30= github.com/charmbracelet/x/ansi v0.9.3 h1:BXt5DHS/MKF+LjuK4huWrC6NCvHtexww7dMayh6GXd0= @@ -42,17 +42,17 @@ github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6 github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM= github.com/flosch/pongo2 v0.0.0-20200913210552-0d938eb266f3 h1:fmFk0Wt3bBxxwZnu48jqMdaOR/IZ4vdtJFuaFV8MpIE= github.com/flosch/pongo2 v0.0.0-20200913210552-0d938eb266f3/go.mod h1:bJWSKrZyQvfTnb2OudyUjurSG4/edverV7n82+K3JiM= -github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= -github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQmYw= github.com/fvbommel/sortorder v1.1.0/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= -github.com/go-chi/chi/v5 v5.2.1 h1:KOIHODQj58PmL80G2Eak4WdvUzjSJSm0vG72crDCqb8= -github.com/go-chi/chi/v5 v5.2.1/go.mod h1:L2yAIGWB3H+phAw1NxKwWM+7eUH/lU8pOMm5hHcoops= -github.com/go-jose/go-jose/v4 v4.0.5 h1:M6T8+mKZl/+fNNuFHvGIzDz7BTLQPIounk/b9dw3AaE= -github.com/go-jose/go-jose/v4 v4.0.5/go.mod h1:s3P1lRrkT8igV8D9OjyL4WRyHvjB6a4JSllnOrmmBOA= +github.com/go-chi/chi/v5 v5.2.2 h1:CMwsvRVTbXVytCk1Wd72Zy1LAsAh9GxMmSNWLHCG618= +github.com/go-chi/chi/v5 v5.2.2/go.mod h1:L2yAIGWB3H+phAw1NxKwWM+7eUH/lU8pOMm5hHcoops= +github.com/go-jose/go-jose/v4 v4.1.0 h1:cYSYxd3pw5zd2FSXk2vGdn9igQU2PS8MuxrCOCl0FdY= +github.com/go-jose/go-jose/v4 v4.1.0/go.mod h1:GG/vqmYm3Von2nYiB2vGTXzdoNKE5tix5tuc6iAd+sw= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= @@ -100,8 +100,8 @@ github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBWDRM= -github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/mattn/go-sqlite3 v1.14.28 h1:ThEiQrnbtumT+QMknw63Befp/ce/nUPgBPMlRFEum7A= +github.com/mattn/go-sqlite3 v1.14.28/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI= github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo= github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= @@ -122,8 +122,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.13.9 h1:4NGkvGudBL7GteO3m6qnaQ4pC0Kvf0onSVc9gR3EWBw= github.com/pkg/sftp v1.13.9/go.mod h1:OBN7bVXdstkFFN/gdnHPUb5TE8eb8G1Rp9wCItqjkkA= -github.com/pkg/xattr v0.4.10 h1:Qe0mtiNFHQZ296vRgUjRCoPHPqH7VdTOrZx3g0T+pGA= -github.com/pkg/xattr v0.4.10/go.mod h1:di8WF84zAKk8jzR1UBTEWh9AUlIZZ7M/JNt8e9B6ktU= +github.com/pkg/xattr v0.4.11 h1:DA7usy0rTMNMGvm06b5LhZUwiPj708D89S8DkXpMB1E= +github.com/pkg/xattr v0.4.11/go.mod h1:di8WF84zAKk8jzR1UBTEWh9AUlIZZ7M/JNt8e9B6ktU= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -158,18 +158,18 @@ github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJu github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zitadel/logging v0.6.2 h1:MW2kDDR0ieQynPZ0KIZPrh9ote2WkxfBif5QoARDQcU= github.com/zitadel/logging v0.6.2/go.mod h1:z6VWLWUkJpnNVDSLzrPSQSQyttysKZ6bCRongw0ROK4= -github.com/zitadel/oidc/v3 v3.37.0 h1:nYATWlnP7f18XiAbw6upUruBaqfB1kUrXrSTf1EYGO8= -github.com/zitadel/oidc/v3 v3.37.0/go.mod h1:/xDan4OUQhguJ4Ur73OOJrtugvR164OMnidXP9xfVNw= +github.com/zitadel/oidc/v3 v3.39.0 h1:WK3eNqmgshiYo1oEqONfXXbPbve+Qzgjl8KhKDFUvxc= +github.com/zitadel/oidc/v3 v3.39.0/go.mod h1:JwdgdU/WxkmBtWuE8/pEjAbDTWXxJGqBix/gUoeEig4= github.com/zitadel/schema v1.3.1 h1:QT3kwiRIRXXLVAs6gCK/u044WmUVh6IlbLXUsn6yRQU= github.com/zitadel/schema v1.3.1/go.mod h1:071u7D2LQacy1HAN+YnMd/mx1qVE2isb0Mjeqg46xnU= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= -go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= -go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= -go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= -go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= -go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= +go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= +go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I= +go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE= +go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E= +go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= +go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= @@ -178,8 +178,8 @@ golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM= golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= -golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw= -golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM= +golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b h1:M2rDM6z3Fhozi9O7NWsxAkg/yqS/lQJ6PmkyIV3YP+o= +golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= @@ -197,8 +197,8 @@ golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= -golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc= -golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= +golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= +golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=