From 6169766666b7cb18d5c6a376c410c5933d2b7c8a Mon Sep 17 00:00:00 2001 From: Sammy Kerata Oina <44265300+SammyOina@users.noreply.github.com> Date: Thu, 11 Jun 2026 18:08:24 +0300 Subject: [PATCH] NOISSUE - Fix agent startup issues (#605) * Update attestationFromCert function to include ccPlatform parameter for enhanced attestation processing Signed-off-by: Sammy Oina * chore: migrate dependencies from supermq to magistrala and update build configurations Signed-off-by: Sammy Oina * chore: update project dependencies, repository source, and support TDX QuoteV5 attestation Signed-off-by: Sammy Oina --------- Signed-off-by: Sammy Oina --- Makefile | 6 +- agent/algorithm/logging/logging_test.go | 2 +- agent/auth/auth.go | 2 +- agent/auth/auth_test.go | 2 +- agent/cvms/api/grpc/client.go | 2 +- agent/cvms/api/grpc/client_test.go | 2 +- agent/cvms/api/grpc/server_test.go | 2 +- agent/service.go | 2 +- agent/service_test.go | 4 +- cli/attestation.go | 2 +- cli/attestation_test.go | 2 +- cli/datasets.go | 2 +- cli/errors.go | 2 +- cli/errors_test.go | 2 +- cmd/agent/main.go | 16 +++-- cmd/attestation-service/main.go | 6 +- cmd/computation-runner/main.go | 2 +- cmd/log-forwarder/main.go | 2 +- cmd/manager/main.go | 14 ++--- go.mod | 33 +++++----- go.sum | 80 ++++++++++++------------ internal/logger/protohandler_test.go | 2 +- manager/api/http/transport.go | 4 +- manager/service.go | 2 +- manager/service_test.go | 4 +- pkg/attestation/azure/snp.go | 2 +- pkg/attestation/azure/tdx.go | 27 +++++--- pkg/attestation/eat/extractor.go | 74 +++++++++++++++++----- pkg/attestation/tdx/tdx.go | 2 +- pkg/attestation/vtpm/vtpm.go | 2 +- pkg/clients/grpc/agent/agent.go | 2 +- pkg/clients/grpc/agent/agent_test.go | 2 +- pkg/clients/grpc/connect_test.go | 2 +- pkg/clients/grpc/cvm/cvm_test.go | 2 +- pkg/clients/grpc/grpc.go | 2 +- pkg/clients/grpc/manager/manager_test.go | 2 +- pkg/crypto/decrypt.go | 2 +- pkg/progressbar/progress_test.go | 2 +- pkg/sdk/agent.go | 2 +- pkg/sdk/agent_test.go | 2 +- pkg/tls/tls.go | 2 +- test/cvms/main.go | 6 +- 42 files changed, 199 insertions(+), 135 deletions(-) diff --git a/Makefile b/Makefile index 8d8cf87a..c927749d 100644 --- a/Makefile +++ b/Makefile @@ -29,9 +29,9 @@ IGVM_BUILD_SCRIPT := ./scripts/igvmmeasure/igvm.sh define compile_service CGO_ENABLED=$(CGO_ENABLED) GOOS=$(GOOS) GOARCH=$(GOARCH) GOARM=$(GOARM) \ go build -ldflags "-s -w \ - -X 'github.com/absmach/supermq.BuildTime=$(TIME)' \ - -X 'github.com/absmach/supermq.Version=$(VERSION)' \ - -X 'github.com/absmach/supermq.Commit=$(COMMIT)'" \ + -X 'github.com/absmach/magistrala.BuildTime=$(TIME)' \ + -X 'github.com/absmach/magistrala.Version=$(VERSION)' \ + -X 'github.com/absmach/magistrala.Commit=$(COMMIT)'" \ $(if $(filter 1,$(EMBED_ENABLED)),-tags "embed",) \ -o ${BUILD_DIR}/cocos-$(1) ./cmd/$(1) endef diff --git a/agent/algorithm/logging/logging_test.go b/agent/algorithm/logging/logging_test.go index e9531767..c877bd06 100644 --- a/agent/algorithm/logging/logging_test.go +++ b/agent/algorithm/logging/logging_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - mglog "github.com/absmach/supermq/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/ultravioletrs/cocos/agent/events/mocks" diff --git a/agent/auth/auth.go b/agent/auth/auth.go index 3d2288b0..0abf0f27 100644 --- a/agent/auth/auth.go +++ b/agent/auth/auth.go @@ -13,7 +13,7 @@ import ( "crypto/x509" "encoding/base64" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/ultravioletrs/cocos/agent" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" diff --git a/agent/auth/auth_test.go b/agent/auth/auth_test.go index bf6f834a..ee7e01db 100644 --- a/agent/auth/auth_test.go +++ b/agent/auth/auth_test.go @@ -15,7 +15,7 @@ import ( "encoding/base64" "testing" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/ultravioletrs/cocos/agent" diff --git a/agent/cvms/api/grpc/client.go b/agent/cvms/api/grpc/client.go index 25d67a3c..f6b41c0d 100644 --- a/agent/cvms/api/grpc/client.go +++ b/agent/cvms/api/grpc/client.go @@ -10,7 +10,7 @@ import ( "sync" "time" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/ultravioletrs/cocos/agent" "github.com/ultravioletrs/cocos/agent/cvms" "github.com/ultravioletrs/cocos/agent/cvms/api/grpc/storage" diff --git a/agent/cvms/api/grpc/client_test.go b/agent/cvms/api/grpc/client_test.go index 05dc95f0..1aa9a782 100644 --- a/agent/cvms/api/grpc/client_test.go +++ b/agent/cvms/api/grpc/client_test.go @@ -7,7 +7,7 @@ import ( "testing" "time" - mglog "github.com/absmach/supermq/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/ultravioletrs/cocos/agent" diff --git a/agent/cvms/api/grpc/server_test.go b/agent/cvms/api/grpc/server_test.go index 85bb7988..dba10ead 100644 --- a/agent/cvms/api/grpc/server_test.go +++ b/agent/cvms/api/grpc/server_test.go @@ -7,7 +7,7 @@ import ( "testing" "time" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/ultravioletrs/cocos/agent/cvms" diff --git a/agent/service.go b/agent/service.go index 71872858..0588459f 100644 --- a/agent/service.go +++ b/agent/service.go @@ -19,7 +19,7 @@ import ( sync "sync" "time" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/ultravioletrs/cocos/agent/algorithm" "github.com/ultravioletrs/cocos/agent/events" runnerpb "github.com/ultravioletrs/cocos/agent/runner" diff --git a/agent/service_test.go b/agent/service_test.go index b5005fbc..bf23e34e 100644 --- a/agent/service_test.go +++ b/agent/service_test.go @@ -18,8 +18,8 @@ import ( "testing" "time" - mglog "github.com/absmach/supermq/logger" - "github.com/absmach/supermq/pkg/errors" + mglog "github.com/absmach/magistrala/logger" + "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/cli/attestation.go b/cli/attestation.go index 8a6c6327..2bd9f800 100644 --- a/cli/attestation.go +++ b/cli/attestation.go @@ -9,7 +9,7 @@ import ( "os" "strings" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/fatih/color" "github.com/google/go-sev-guest/abi" tpmAttest "github.com/google/go-tpm-tools/proto/attest" diff --git a/cli/attestation_test.go b/cli/attestation_test.go index 53abd7e7..2b29d130 100644 --- a/cli/attestation_test.go +++ b/cli/attestation_test.go @@ -8,7 +8,7 @@ import ( "os" "testing" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/cli/datasets.go b/cli/datasets.go index 4cac9950..48846161 100644 --- a/cli/datasets.go +++ b/cli/datasets.go @@ -9,7 +9,7 @@ import ( "os" "path" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/fatih/color" "github.com/spf13/cobra" "github.com/ultravioletrs/cocos/agent" diff --git a/cli/errors.go b/cli/errors.go index 1c6a9659..78dde115 100644 --- a/cli/errors.go +++ b/cli/errors.go @@ -3,7 +3,7 @@ package cli import ( - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/fatih/color" "github.com/spf13/cobra" "github.com/ultravioletrs/cocos/agent/auth" diff --git a/cli/errors_test.go b/cli/errors_test.go index 0502a580..9dc782bb 100644 --- a/cli/errors_test.go +++ b/cli/errors_test.go @@ -7,7 +7,7 @@ import ( "errors" "testing" - mgerrors "github.com/absmach/supermq/pkg/errors" + mgerrors "github.com/absmach/magistrala/pkg/errors" "github.com/fatih/color" "github.com/spf13/cobra" "github.com/ultravioletrs/cocos/agent/auth" diff --git a/cmd/agent/main.go b/cmd/agent/main.go index e0e3b100..faf20c7d 100644 --- a/cmd/agent/main.go +++ b/cmd/agent/main.go @@ -17,8 +17,8 @@ import ( "syscall" "github.com/absmach/certs/sdk" - mglog "github.com/absmach/supermq/logger" - "github.com/absmach/supermq/pkg/prometheus" + mglog "github.com/absmach/magistrala/logger" + "github.com/absmach/magistrala/pkg/prometheus" "github.com/caarlos0/env/v11" "github.com/ultravioletrs/cocos/agent" "github.com/ultravioletrs/cocos/agent/api" @@ -269,7 +269,7 @@ func main() { return mc.Process(ctx, cancel) }) - attest, certSerialNumber, err := attestationFromCert(ctx, cvmGrpcConfig.ClientCert, svc) + attest, certSerialNumber, err := attestationFromCert(ctx, cvmGrpcConfig.ClientCert, svc, ccPlatform) if err != nil { logger.Error(fmt.Sprintf("failed to get attestation: %s", err)) exitCode = 1 @@ -317,7 +317,7 @@ func newService(ctx context.Context, logger *slog.Logger, eventSvc events.Servic return svc } -func attestationFromCert(ctx context.Context, certFilePath string, svc agent.Service) ([]byte, string, error) { +func attestationFromCert(ctx context.Context, certFilePath string, svc agent.Service, ccPlatform attestation.PlatformType) ([]byte, string, error) { if certFilePath == "" { return nil, "", nil } @@ -328,6 +328,9 @@ func attestationFromCert(ctx context.Context, certFilePath string, svc agent.Ser } certPem, _ := pem.Decode(certFile) + if certPem == nil { + return nil, "", fmt.Errorf("failed to decode certificate PEM") + } certx509, err := x509.ParseCertificate(certPem.Bytes) if err != nil { return nil, "", err @@ -335,7 +338,7 @@ func attestationFromCert(ctx context.Context, certFilePath string, svc agent.Ser nonceSNP := sha512.Sum512(certFile) nonceVTPM := sha256.Sum256(certFile) - attest, err := svc.Attestation(ctx, nonceSNP, nonceVTPM, attestation.SNPvTPM) + attest, err := svc.Attestation(ctx, nonceSNP, nonceVTPM, ccPlatform) if err != nil { return nil, "", err } @@ -354,6 +357,9 @@ func azureAttestationFromCert(ctx context.Context, certFilePath string, svc agen } certPem, _ := pem.Decode(certFile) + if certPem == nil { + return nil, "", fmt.Errorf("failed to decode certificate PEM") + } certx509, err := x509.ParseCertificate(certPem.Bytes) if err != nil { return nil, "", err diff --git a/cmd/attestation-service/main.go b/cmd/attestation-service/main.go index 2cdfbf79..ac560ef5 100644 --- a/cmd/attestation-service/main.go +++ b/cmd/attestation-service/main.go @@ -13,7 +13,7 @@ import ( "syscall" "time" - mglog "github.com/absmach/supermq/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/caarlos0/env/v11" "github.com/ultravioletrs/cocos/agent/cvms" logpb "github.com/ultravioletrs/cocos/agent/log" @@ -156,8 +156,10 @@ func main() { } } + isDirectProvider := false // Fallback to direct providers if CC AA not configured or unavailable if provider == nil { + isDirectProvider = true switch ccPlatform { case attestation.SNP: provider = vtpm.NewProvider(false, uint(cfg.Vmpl)) @@ -188,7 +190,7 @@ func main() { logger.Error("[ATTESTATION-SERVICE] No provider configured!") } - if ccPlatform == attestation.SNP || ccPlatform == attestation.SNPvTPM { + if (ccPlatform == attestation.SNP || ccPlatform == attestation.SNPvTPM) && isDirectProvider { if err := vtpm.FetchSEVCertificates(uint(cfg.Vmpl)); err != nil { logger.Error(fmt.Sprintf("failed to fetch certificates: %s", err)) exitCode = 1 diff --git a/cmd/computation-runner/main.go b/cmd/computation-runner/main.go index db124c4f..4439a4ff 100644 --- a/cmd/computation-runner/main.go +++ b/cmd/computation-runner/main.go @@ -11,7 +11,7 @@ import ( "os/signal" "syscall" - mglog "github.com/absmach/supermq/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/caarlos0/env/v11" "github.com/ultravioletrs/cocos/agent/cvms" logpb "github.com/ultravioletrs/cocos/agent/log" diff --git a/cmd/log-forwarder/main.go b/cmd/log-forwarder/main.go index 3a454a44..bfc2b19a 100644 --- a/cmd/log-forwarder/main.go +++ b/cmd/log-forwarder/main.go @@ -11,7 +11,7 @@ import ( "os/signal" "syscall" - mglog "github.com/absmach/supermq/logger" + mglog "github.com/absmach/magistrala/logger" "github.com/caarlos0/env/v11" "github.com/ultravioletrs/cocos/agent/cvms" pb "github.com/ultravioletrs/cocos/agent/log" diff --git a/cmd/manager/main.go b/cmd/manager/main.go index 249875ea..92dfcad8 100644 --- a/cmd/manager/main.go +++ b/cmd/manager/main.go @@ -12,13 +12,13 @@ import ( "os" "strings" - mglog "github.com/absmach/supermq/logger" - "github.com/absmach/supermq/pkg/jaeger" - "github.com/absmach/supermq/pkg/prometheus" - smqserver "github.com/absmach/supermq/pkg/server" - grpcserver "github.com/absmach/supermq/pkg/server/grpc" - httpserver "github.com/absmach/supermq/pkg/server/http" - "github.com/absmach/supermq/pkg/uuid" + mglog "github.com/absmach/magistrala/logger" + "github.com/absmach/magistrala/pkg/jaeger" + "github.com/absmach/magistrala/pkg/prometheus" + smqserver "github.com/absmach/magistrala/pkg/server" + grpcserver "github.com/absmach/magistrala/pkg/server/grpc" + httpserver "github.com/absmach/magistrala/pkg/server/http" + "github.com/absmach/magistrala/pkg/uuid" "github.com/caarlos0/env/v11" "github.com/go-chi/chi/v5" "github.com/ultravioletrs/cocos/manager" diff --git a/go.mod b/go.mod index 8b095d21..d72490b7 100644 --- a/go.mod +++ b/go.mod @@ -4,18 +4,18 @@ go 1.26.0 require ( github.com/caarlos0/env/v11 v11.4.0 - github.com/fatih/color v1.18.0 + github.com/fatih/color v1.19.0 github.com/go-kit/kit v0.13.0 github.com/gofrs/uuid v4.4.0+incompatible github.com/google/go-sev-guest v0.14.1 - github.com/google/go-tdx-guest v0.3.2-0.20241009005452-097ee70d0843 + github.com/google/go-tdx-guest v0.3.2-0.20260605221019-34f07ec666c4 github.com/spf13/cobra v1.10.2 github.com/spf13/pflag v1.0.10 github.com/stretchr/testify v1.11.1 github.com/virtee/sev-snp-measure-go v0.0.0-20240530153610-e6e8dc9b6877 - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.67.0 + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0 go.opentelemetry.io/otel/trace v1.43.0 - golang.org/x/crypto v0.49.0 + golang.org/x/crypto v0.50.0 golang.org/x/sync v0.20.0 google.golang.org/grpc v1.80.0 google.golang.org/protobuf v1.36.11 @@ -23,7 +23,7 @@ require ( require ( cloud.google.com/go/storage v1.62.3 - github.com/absmach/supermq v0.19.1 + github.com/absmach/magistrala v0.20.0 github.com/caarlos0/env/v10 v10.0.0 github.com/fxamacker/cbor/v2 v2.9.0 github.com/go-chi/chi/v5 v5.2.5 @@ -48,6 +48,7 @@ require ( github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.55.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.55.0 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect + github.com/absmach/supermq v0.19.2-0.20260317185610-fade98b84ee4 // indirect github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cncf/xds/go v0.0.0-20251210132809-ee656c7534f5 // indirect github.com/containerd/errdefs v1.0.0 // indirect @@ -85,16 +86,16 @@ require ( github.com/opencontainers/image-spec v1.1.1 // indirect github.com/planetscale/vtprotobuf v0.6.1-0.20240917153116-6f2963f01587 // indirect github.com/segmentio/asm v1.2.1 // indirect - github.com/spf13/cast v1.4.1 // indirect + github.com/spf13/cast v1.10.0 // indirect github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect github.com/veraison/eat v0.0.0-20210331113810-3da8a4dd42ff // indirect github.com/x448/float16 v0.8.4 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect go.opentelemetry.io/contrib/detectors/gcp v1.39.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0 // indirect go.opentelemetry.io/otel v1.43.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.42.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0 // indirect go.opentelemetry.io/otel/sdk v1.43.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.43.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect @@ -118,7 +119,7 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/google/go-configfs-tsm v0.3.3-0.20240919001351-b4b5b84fdcbc // indirect github.com/google/go-tpm v0.9.8 - github.com/google/go-tpm-tools v0.4.7 + github.com/google/go-tpm-tools v0.4.4 github.com/google/logger v1.1.1 // indirect github.com/google/uuid v1.6.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 // indirect @@ -131,14 +132,14 @@ require ( github.com/prometheus/procfs v0.19.2 // indirect github.com/stretchr/objx v0.5.3 // indirect go.opentelemetry.io/otel/metric v1.43.0 // indirect - go.opentelemetry.io/proto/otlp v1.9.0 // indirect + go.opentelemetry.io/proto/otlp v1.10.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.52.0 - golang.org/x/sys v0.42.0 // indirect - golang.org/x/term v0.41.0 - golang.org/x/text v0.35.0 // indirect + golang.org/x/net v0.53.0 + golang.org/x/sys v0.43.0 // indirect + golang.org/x/term v0.42.0 + golang.org/x/text v0.36.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index a8297e6d..af944f2f 100644 --- a/go.sum +++ b/go.sum @@ -36,8 +36,10 @@ github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrd github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/absmach/certs v0.18.5 h1:eYlvitou+LoDtt7ETVLTp6d/1xCejGL3EmVOg+rHGTU= github.com/absmach/certs v0.18.5/go.mod h1:31dtVe1VYF16W+IvjAE/uPAIz4f3uLHgh+moBezjqIc= -github.com/absmach/supermq v0.19.1 h1:uLrf1fXpn0W6BkSSaa+d1Kw0KXygSfNn+b2EqFpCiMA= -github.com/absmach/supermq v0.19.1/go.mod h1:UCC6/UIRhO70inBIzlwC1Cm/wCyQj+yuP4dhMZSjXIc= +github.com/absmach/magistrala v0.20.0 h1:3AQ0C2AMoOCc1UuJLhPNJLMrNRLZoN0ibSOERqEkM98= +github.com/absmach/magistrala v0.20.0/go.mod h1:lnuO4fSngMiRYyNYL4yz5UP8DX3bbXRm87b2KHFGwJU= +github.com/absmach/supermq v0.19.2-0.20260317185610-fade98b84ee4 h1:533pRc6R7perWDqJuZq+ofBQfYfmyj7n49V4LFY4zpo= +github.com/absmach/supermq v0.19.2-0.20260317185610-fade98b84ee4/go.mod h1:xDAX/O3VcOsHWCx2fk85VD7FI17hAUOvoOhho7DA7g0= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/caarlos0/env/v10 v10.0.0 h1:yIHUBZGsyqCnpTkbjk8asUlx6RFhhEs+h7TOBdgdzXA= @@ -58,7 +60,6 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 h1:NMZiJj8QnKe1LgsbDayM4UoHwbvwDRwnI3hwNaAHRnc= @@ -81,10 +82,12 @@ github.com/envoyproxy/go-control-plane/ratelimit v0.1.0 h1:/G9QYbddjL25KvtKTv3an github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJPzVVHnPgRKdUdwW/KdbRt94AzgRee4= github.com/envoyproxy/protoc-gen-validate v1.3.0 h1:TvGH1wof4H33rezVKWSpqKz5NXWg5VPuZ0uONDT6eb4= github.com/envoyproxy/protoc-gen-validate v1.3.0/go.mod h1:HvYl7zwPa5mffgyeTUHA9zHIH36nmrm7oCbo4YKoSWA= -github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= -github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= +github.com/fatih/color v1.19.0 h1:Zp3PiM21/9Ld6FzSKyL5c/BULoe/ONr9KlbYVOfG8+w= +github.com/fatih/color v1.19.0/go.mod h1:zNk67I0ZUT1bEGsSGyCZYZNrHuTkJJB+r6Q9VuMi0LE= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fxamacker/cbor/v2 v2.2.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= github.com/fxamacker/cbor/v2 v2.3.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= @@ -130,16 +133,14 @@ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/go-configfs-tsm v0.3.3-0.20240919001351-b4b5b84fdcbc h1:SG12DWUUM5igxm+//YX5Yq4vhdoRnOG9HkCodkOn+YU= github.com/google/go-configfs-tsm v0.3.3-0.20240919001351-b4b5b84fdcbc/go.mod h1:EL1GTDFMb5PZQWDviGfZV9n87WeGTR/JUg13RfwkgRo= -github.com/google/go-eventlog v0.0.2-0.20241003021507-01bb555f7cba h1:05m5+kgZjxYUZrx3bZfkKHl6wkch+Khao6N21rFHInk= -github.com/google/go-eventlog v0.0.2-0.20241003021507-01bb555f7cba/go.mod h1:7huE5P8w2NTObSwSJjboHmB7ioBNblkijdzoVa2skfQ= github.com/google/go-sev-guest v0.14.1 h1:j/DXy9jk1qSW/dEV9vDiQnhAVFD1zqnWNVu6p1J0Jgo= github.com/google/go-sev-guest v0.14.1/go.mod h1:SK9vW+uyfuzYdVN0m8BShL3OQCtXZe/JPF7ZkpD3760= -github.com/google/go-tdx-guest v0.3.2-0.20241009005452-097ee70d0843 h1:+MoPobRN9HrDhGyn6HnF5NYo4uMBKaiFqAtf/D/OB4A= -github.com/google/go-tdx-guest v0.3.2-0.20241009005452-097ee70d0843/go.mod h1:g/n8sKITIT9xRivBUbizo34DTsUm2nN2uU3A662h09g= +github.com/google/go-tdx-guest v0.3.2-0.20260605221019-34f07ec666c4 h1:OX2Mksz5ZHxawvZskqYX18Xy/q292EoiyUAT4WXg/gU= +github.com/google/go-tdx-guest v0.3.2-0.20260605221019-34f07ec666c4/go.mod h1:uHy3VaNXNXhl0fiPxKqTxieeouqQmW6A0EfLcaeCYBk= github.com/google/go-tpm v0.9.8 h1:slArAR9Ft+1ybZu0lBwpSmpwhRXaa85hWtMinMyRAWo= github.com/google/go-tpm v0.9.8/go.mod h1:h9jEsEECg7gtLis0upRBQU+GhYVH6jMjrFxI8u6bVUY= -github.com/google/go-tpm-tools v0.4.7 h1:J3ycC8umYxM9A4eF73EofRZu4BxY0jjQnUnkhIBbvws= -github.com/google/go-tpm-tools v0.4.7/go.mod h1:gSyXTZHe3fgbzb6WEGd90QucmsnT1SRdlye82gH8QjQ= +github.com/google/go-tpm-tools v0.4.4 h1:oiQfAIkc6xTy9Fl5NKTeTJkBTlXdHsxAofmQyxBKY98= +github.com/google/go-tpm-tools v0.4.4/go.mod h1:T8jXkp2s+eltnCDIsXR84/MTcVU9Ja7bh3Mit0pa4AY= github.com/google/go-tspi v0.3.0 h1:ADtq8RKfP+jrTyIWIZDIYcKOMecRqNJFOew2IT0Inus= github.com/google/go-tspi v0.3.0/go.mod h1:xfMGI3G0PhxCdNVcYr1C4C+EizojDg/TXuX5by8CiHI= github.com/google/logger v1.1.1 h1:+6Z2geNxc9G+4D4oDO9njjjn2d0wN5d7uOo0vOIW1NQ= @@ -165,16 +166,16 @@ github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsI github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= -github.com/jackc/pgx/v5 v5.8.0 h1:TYPDoleBBme0xGSAX3/+NujXXtpZn9HBONkQC7IEZSo= -github.com/jackc/pgx/v5 v5.8.0/go.mod h1:QVeDInX2m9VyzvNeiCJVjCkNFqzsNb43204HshNSZKw= +github.com/jackc/pgx/v5 v5.9.1 h1:uwrxJXBnx76nyISkhr33kQLlUqjv7et7b9FjCen/tdc= +github.com/jackc/pgx/v5 v5.9.1/go.mod h1:mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM0Jn4= github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo= github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/klauspost/compress v1.18.2 h1:iiPHWW0YrcFgpBYhsA6D1+fqHssJscY/Tm/y2Uqnapk= -github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= +github.com/klauspost/compress v1.18.5 h1:/h1gH5Ce+VWNLSWqPzOVn6XBO+vJbCNGvjoaGBFW2IE= +github.com/klauspost/compress v1.18.5/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -243,8 +244,8 @@ github.com/smarty/assertions v1.16.0 h1:EvHNkdRA4QHMrn75NZSoUQ/mAUXAYWfatfB01yTC github.com/smarty/assertions v1.16.0/go.mod h1:duaaFdCS0K9dnoM50iyek/eYINOZ64gbh1Xlf6LG7AI= github.com/smartystreets/goconvey v1.8.1 h1:qGjIddxOk4grTu9JPOU31tVfq3cNdBlNa5sSznIX1xY= github.com/smartystreets/goconvey v1.8.1/go.mod h1:+/u4qLyY6x1jReYOp7GOM2FSt8aP9CzCZL03bI28W60= -github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= -github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= +github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= @@ -255,7 +256,6 @@ github.com/spiffe/go-spiffe/v2 v2.6.0/go.mod h1:gm2SeUoMZEtpnzPNs2Csc0D/gX33k1xI github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.5.3 h1:jmXUvGomnU1o3W/V5h2VEradbpJDwGrzugQQvL0POH4= github.com/stretchr/objx v0.5.3/go.mod h1:rDQraq+vQZU7Fde9LOZLr8Tax6zZvy4kuNKF+QYS+U0= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -276,16 +276,16 @@ go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/detectors/gcp v1.39.0 h1:kWRNZMsfBHZ+uHjiH4y7Etn2FK26LAGkNFw7RHv1DhE= go.opentelemetry.io/contrib/detectors/gcp v1.39.0/go.mod h1:t/OGqzHBa5v6RHZwrDBJ2OirWc+4q/w2fTbLZwAKjTk= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.67.0 h1:yI1/OhfEPy7J9eoa6Sj051C7n5dvpj0QX8g4sRchg04= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.67.0/go.mod h1:NoUCKYWK+3ecatC4HjkRktREheMeEtrXoQxrqYFeHSc= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0 h1:OyrsyzuttWTSur2qN/Lm0m2a8yqyIjUVBZcxFPuXq2o= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0/go.mod h1:C2NGBr+kAB4bk3xtMXfZ94gqFDtg/GkI7e9zqGh5Beg= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0 h1:0Qx7VGBacMm9ZENQ7TnNObTYI4ShC+lHI16seduaxZo= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0/go.mod h1:Sje3i3MjSPKTSPvVWCaL8ugBzJwik3u4smCjUeuupqg= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0 h1:CqXxU8VOmDefoh0+ztfGaymYbhdB/tT3zs79QaZTNGY= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0/go.mod h1:BuhAPThV8PBHBvg8ZzZ/Ok3idOdhWIodywz2xEcRbJo= go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0 h1:THuZiwpQZuHPul65w4WcwEnkX2QIuMT+UFoOrygtoJw= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0/go.mod h1:J2pvYM5NGHofZ2/Ru6zw/TNWnEQp5crgyDeSrYpXkAw= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.42.0 h1:uLXP+3mghfMf7XmV4PkGfFhFKuNWoCvvx5wP/wOXo0o= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.42.0/go.mod h1:v0Tj04armyT59mnURNUJf7RCKcKzq+lgJs6QSjHjaTc= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 h1:88Y4s2C8oTui1LGM6bTWkw0ICGcOLCAI5l6zsD1j20k= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0/go.mod h1:Vl1/iaggsuRlrHf/hfPJPvVag77kKyvrLeD10kpMl+A= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0 h1:3iZJKlCZufyRzPzlQhUIWVmfltrXuGyfjREgGP3UUjc= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0/go.mod h1:/G+nUPfhq2e+qiXMGxMwumDrP5jtzU+mWN7/sjT2rak= go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.43.0 h1:TC+BewnDpeiAmcscXbGMfxkO+mwYUwE/VySwvw88PfA= go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.43.0/go.mod h1:J/ZyF4vfPwsSr9xJSPyQ4LqtcTPULFR64KwTikGLe+A= go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= @@ -296,8 +296,8 @@ go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfC go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= -go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= -go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= +go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g= +go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -308,8 +308,8 @@ go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= 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.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.49.0 h1:+Ng2ULVvLHnJ/ZFEq4KdcDd/cfjrrjjNSXNzxg0Y4U4= -golang.org/x/crypto v0.49.0/go.mod h1:ErX4dUh2UM+CFYiXZRTcMpEcN8b/1gxEuv3nODoYtCA= +golang.org/x/crypto v0.50.0 h1:zO47/JPrL6vsNkINmLoo/PH1gcxpls50DNogFvB5ZGI= +golang.org/x/crypto v0.50.0/go.mod h1:3muZ7vA7PBCE6xgPX7nkzzjiUq87kRItoJQM1Yo8S+Q= 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/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -317,8 +317,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0= -golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw= +golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA= +golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -336,23 +336,23 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= -golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= +golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.41.0 h1:QCgPso/Q3RTJx2Th4bDLqML4W6iJiaXFq2/ftQF13YU= -golang.org/x/term v0.41.0/go.mod h1:3pfBgksrReYfZ5lvYM0kSO0LIkAl4Yl2bXOkKP7Ec2A= +golang.org/x/term v0.42.0 h1:UiKe+zDFmJobeJ5ggPwOshJIVt6/Ft0rcfrXZDLWAWY= +golang.org/x/term v0.42.0/go.mod h1:Dq/D+snpsbazcBG5+F9Q1n2rXV8Ma+71xEjTRufARgY= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= -golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= +golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg= +golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -368,8 +368,8 @@ google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7 h1:XzmzkmB14QhVhgn google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7/go.mod h1:L43LFes82YgSonw6iTXTxXUX1OlULt4AQtkik4ULL/I= google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 h1:VPWxll4HlMw1Vs/qXtN7BvhZqsS9cdAittCNvVENElA= google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9/go.mod h1:7QBABkRtR8z+TEnmXTqIqwJLlzrZKVfAUm7tY3yGv0M= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 h1:m8qni9SQFH0tJc1X0vmnpw/0t+AImlSvp30sEupozUg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d h1:wT2n40TBqFY6wiwazVK9/iTWbsQrgk5ZfCSVFLO9LQA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= diff --git a/internal/logger/protohandler_test.go b/internal/logger/protohandler_test.go index 22643606..9febc27d 100644 --- a/internal/logger/protohandler_test.go +++ b/internal/logger/protohandler_test.go @@ -9,7 +9,7 @@ import ( "testing" "time" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/assert" "github.com/ultravioletrs/cocos/agent/cvms" ) diff --git a/manager/api/http/transport.go b/manager/api/http/transport.go index 058e8dd1..bec818e1 100644 --- a/manager/api/http/transport.go +++ b/manager/api/http/transport.go @@ -6,14 +6,14 @@ package http import ( "net/http" - "github.com/absmach/supermq" + "github.com/absmach/magistrala" "github.com/go-chi/chi/v5" "github.com/prometheus/client_golang/prometheus/promhttp" ) // MakeHandler returns a HTTP handler for API endpoints. func MakeHandler(r *chi.Mux, svcName, instanceID string) http.Handler { - r.Get("/health", supermq.Health(svcName, instanceID)) + r.Get("/health", magistrala.Health(svcName, instanceID)) r.Handle("/metrics", promhttp.Handler()) return r diff --git a/manager/service.go b/manager/service.go index 13a9212c..c56c295b 100644 --- a/manager/service.go +++ b/manager/service.go @@ -16,7 +16,7 @@ import ( "syscall" "time" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/google/uuid" "github.com/ultravioletrs/cocos/manager/qemu" "github.com/ultravioletrs/cocos/manager/vm" diff --git a/manager/service_test.go b/manager/service_test.go index 7bda0afa..9e2837c5 100644 --- a/manager/service_test.go +++ b/manager/service_test.go @@ -13,8 +13,8 @@ import ( "path/filepath" "testing" - mglog "github.com/absmach/supermq/logger" - "github.com/absmach/supermq/pkg/errors" + mglog "github.com/absmach/magistrala/logger" + "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/pkg/attestation/azure/snp.go b/pkg/attestation/azure/snp.go index 0793d1bc..ba6b56d0 100644 --- a/pkg/attestation/azure/snp.go +++ b/pkg/attestation/azure/snp.go @@ -10,7 +10,7 @@ import ( "io" "net/http" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/edgelesssys/go-azguestattestation/maa" "github.com/golang-jwt/jwt/v5" "github.com/google/go-sev-guest/tools/lib/report" diff --git a/pkg/attestation/azure/tdx.go b/pkg/attestation/azure/tdx.go index efd74c28..c4b1cd14 100644 --- a/pkg/attestation/azure/tdx.go +++ b/pkg/attestation/azure/tdx.go @@ -534,17 +534,28 @@ func verifyTDXQuoteWithCoRIM(report []byte, manifest *corim.UnsignedCorim) error return fmt.Errorf("failed to parse TDX quote: %w", err) } - quoteV4, ok := decodedQuote.(*tdxpb.QuoteV4) - if !ok { + var mrtd []byte + switch q := decodedQuote.(type) { + case *tdxpb.QuoteV4: + tdReport := q.GetTdQuoteBody() + if tdReport == nil { + return fmt.Errorf("missing TDX quote body") + } + mrtd = tdReport.GetMrTd() + case *tdxpb.QuoteV5: + bodyDesc := q.GetTdQuoteBodyDescriptor() + if bodyDesc == nil { + return fmt.Errorf("missing TDX quote body descriptor") + } + tdReport := bodyDesc.GetTdQuoteBodyV5() + if tdReport == nil { + return fmt.Errorf("missing TDX quote body V5") + } + mrtd = tdReport.GetMrTd() + default: return fmt.Errorf("unsupported TDX quote format") } - tdReport := quoteV4.GetTdQuoteBody() - if tdReport == nil { - return fmt.Errorf("missing TDX quote body") - } - - mrtd := tdReport.GetMrTd() if len(mrtd) == 0 { return fmt.Errorf("no MRTD in TDX quote") } diff --git a/pkg/attestation/eat/extractor.go b/pkg/attestation/eat/extractor.go index ac8c26ee..89746046 100644 --- a/pkg/attestation/eat/extractor.go +++ b/pkg/attestation/eat/extractor.go @@ -95,15 +95,59 @@ func extractTDXClaims(claims *EATClaims, report []byte) error { return fmt.Errorf("failed to parse TDX quote: %w", err) } - quoteV4, ok := decodedQuote.(*tdxpb.QuoteV4) - if !ok { + var rtmrs [][]byte + var mrTd []byte + var xfam []byte + var tdAttributes []byte + var mrConfigId []byte + var mrOwner []byte + var mrOwnerConfig []byte + var mrSeam []byte + var signature []byte + + switch q := decodedQuote.(type) { + case *tdxpb.QuoteV4: + tdReport := q.GetTdQuoteBody() + signedData := q.GetSignedData() + if tdReport == nil { + return fmt.Errorf("missing TDX quote body") + } + rtmrs = tdReport.GetRtmrs() + mrTd = tdReport.GetMrTd() + xfam = tdReport.GetXfam() + tdAttributes = tdReport.GetTdAttributes() + mrConfigId = tdReport.GetMrConfigId() + mrOwner = tdReport.GetMrOwner() + mrOwnerConfig = tdReport.GetMrOwnerConfig() + mrSeam = tdReport.GetMrSeam() + if signedData != nil { + signature = signedData.GetSignature() + } + case *tdxpb.QuoteV5: + bodyDesc := q.GetTdQuoteBodyDescriptor() + if bodyDesc == nil { + return fmt.Errorf("missing TDX quote body descriptor") + } + tdReport := bodyDesc.GetTdQuoteBodyV5() + if tdReport == nil { + return fmt.Errorf("missing TDX quote body V5") + } + rtmrs = tdReport.GetRtmrs() + mrTd = tdReport.GetMrTd() + xfam = tdReport.GetXfam() + tdAttributes = tdReport.GetTdAttributes() + mrConfigId = tdReport.GetMrConfigId() + mrOwner = tdReport.GetMrOwner() + mrOwnerConfig = tdReport.GetMrOwnerConfig() + mrSeam = tdReport.GetMrSeam() + signedData := q.GetSignedData() + if signedData != nil { + signature = signedData.GetSignature() + } + default: return fmt.Errorf("unsupported TDX quote format") } - tdReport := quoteV4.GetTdQuoteBody() - signedData := quoteV4.GetSignedData() - - rtmrs := tdReport.GetRtmrs() var rtmr0, rtmr1, rtmr2, rtmr3 []byte if len(rtmrs) > 0 { rtmr0 = rtmrs[0] @@ -119,22 +163,22 @@ func extractTDXClaims(claims *EATClaims, report []byte) error { } claims.TDXExtensions = &TDXExtensions{ - MRTD: tdReport.GetMrTd(), + MRTD: mrTd, RTMR0: rtmr0, RTMR1: rtmr1, RTMR2: rtmr2, RTMR3: rtmr3, - XFAM: binary.LittleEndian.Uint64(tdReport.GetXfam()), - TDAttributes: binary.LittleEndian.Uint64(tdReport.GetTdAttributes()), - MRConfigID: tdReport.GetMrConfigId(), - MROwner: tdReport.GetMrOwner(), - MROwnerConfig: tdReport.GetMrOwnerConfig(), - MRSEAM: tdReport.GetMrSeam(), - Signature: signedData.GetSignature(), + XFAM: binary.LittleEndian.Uint64(xfam), + TDAttributes: binary.LittleEndian.Uint64(tdAttributes), + MRConfigID: mrConfigId, + MROwner: mrOwner, + MROwnerConfig: mrOwnerConfig, + MRSEAM: mrSeam, + Signature: signature, } // Set core EAT claims - claims.Measurements = tdReport.GetMrTd() + claims.Measurements = mrTd // Use first 32 bytes of MRTD as UEID, similar to other extractors if len(claims.Measurements) >= 32 { claims.UEID = claims.Measurements[:32] diff --git a/pkg/attestation/tdx/tdx.go b/pkg/attestation/tdx/tdx.go index b165afc8..77b8d03d 100644 --- a/pkg/attestation/tdx/tdx.go +++ b/pkg/attestation/tdx/tdx.go @@ -11,7 +11,7 @@ import ( "os" "time" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/google/go-tdx-guest/abi" "github.com/google/go-tdx-guest/client" "github.com/google/go-tdx-guest/proto/checkconfig" diff --git a/pkg/attestation/vtpm/vtpm.go b/pkg/attestation/vtpm/vtpm.go index 2442621f..0a25c923 100644 --- a/pkg/attestation/vtpm/vtpm.go +++ b/pkg/attestation/vtpm/vtpm.go @@ -9,7 +9,7 @@ import ( "io" "os" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/google/go-sev-guest/proto/sevsnp" "github.com/google/go-tpm-tools/client" "github.com/google/go-tpm-tools/proto/attest" diff --git a/pkg/clients/grpc/agent/agent.go b/pkg/clients/grpc/agent/agent.go index c98d5643..807988b5 100644 --- a/pkg/clients/grpc/agent/agent.go +++ b/pkg/clients/grpc/agent/agent.go @@ -5,7 +5,7 @@ package agent import ( "context" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/ultravioletrs/cocos/agent" "github.com/ultravioletrs/cocos/pkg/clients" "github.com/ultravioletrs/cocos/pkg/clients/grpc" diff --git a/pkg/clients/grpc/agent/agent_test.go b/pkg/clients/grpc/agent/agent_test.go index 456df2cc..4703cedb 100644 --- a/pkg/clients/grpc/agent/agent_test.go +++ b/pkg/clients/grpc/agent/agent_test.go @@ -9,7 +9,7 @@ import ( "testing" "time" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/ultravioletrs/cocos/agent" diff --git a/pkg/clients/grpc/connect_test.go b/pkg/clients/grpc/connect_test.go index 96d7fd99..4132ec85 100644 --- a/pkg/clients/grpc/connect_test.go +++ b/pkg/clients/grpc/connect_test.go @@ -15,7 +15,7 @@ import ( "testing" "time" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/ultravioletrs/cocos/pkg/clients" diff --git a/pkg/clients/grpc/cvm/cvm_test.go b/pkg/clients/grpc/cvm/cvm_test.go index 29b1133d..79e3ae66 100644 --- a/pkg/clients/grpc/cvm/cvm_test.go +++ b/pkg/clients/grpc/cvm/cvm_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/ultravioletrs/cocos/agent" diff --git a/pkg/clients/grpc/grpc.go b/pkg/clients/grpc/grpc.go index 59ef819e..b5a5858a 100644 --- a/pkg/clients/grpc/grpc.go +++ b/pkg/clients/grpc/grpc.go @@ -9,7 +9,7 @@ import ( "net" "strings" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/ultravioletrs/cocos/pkg/atls" "github.com/ultravioletrs/cocos/pkg/clients" "github.com/ultravioletrs/cocos/pkg/tls" diff --git a/pkg/clients/grpc/manager/manager_test.go b/pkg/clients/grpc/manager/manager_test.go index 21284d49..cb2494fd 100644 --- a/pkg/clients/grpc/manager/manager_test.go +++ b/pkg/clients/grpc/manager/manager_test.go @@ -5,7 +5,7 @@ package manager import ( "testing" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/assert" "github.com/ultravioletrs/cocos/pkg/clients" ) diff --git a/pkg/crypto/decrypt.go b/pkg/crypto/decrypt.go index e14d174c..8f94d071 100644 --- a/pkg/crypto/decrypt.go +++ b/pkg/crypto/decrypt.go @@ -11,7 +11,7 @@ import ( "encoding/base64" "encoding/json" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "golang.org/x/crypto/hkdf" ) diff --git a/pkg/progressbar/progress_test.go b/pkg/progressbar/progress_test.go index 3cb2e21c..3ffffeee 100644 --- a/pkg/progressbar/progress_test.go +++ b/pkg/progressbar/progress_test.go @@ -10,7 +10,7 @@ import ( "strings" "testing" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/ultravioletrs/cocos/agent" diff --git a/pkg/sdk/agent.go b/pkg/sdk/agent.go index c7f40281..1706dc98 100644 --- a/pkg/sdk/agent.go +++ b/pkg/sdk/agent.go @@ -14,7 +14,7 @@ import ( "os" "strconv" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/ultravioletrs/cocos/agent" "github.com/ultravioletrs/cocos/agent/api/grpc" "github.com/ultravioletrs/cocos/agent/auth" diff --git a/pkg/sdk/agent_test.go b/pkg/sdk/agent_test.go index 5d19530b..43745101 100644 --- a/pkg/sdk/agent_test.go +++ b/pkg/sdk/agent_test.go @@ -14,7 +14,7 @@ import ( "os" "testing" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" diff --git a/pkg/tls/tls.go b/pkg/tls/tls.go index f2076a3e..3ba379a4 100644 --- a/pkg/tls/tls.go +++ b/pkg/tls/tls.go @@ -9,7 +9,7 @@ import ( "encoding/pem" "os" - "github.com/absmach/supermq/pkg/errors" + "github.com/absmach/magistrala/pkg/errors" "github.com/ultravioletrs/cocos/pkg/attestation" ) diff --git a/test/cvms/main.go b/test/cvms/main.go index d13f6f52..ccd50c26 100644 --- a/test/cvms/main.go +++ b/test/cvms/main.go @@ -14,9 +14,9 @@ import ( "strconv" "strings" - mglog "github.com/absmach/supermq/logger" - smqserver "github.com/absmach/supermq/pkg/server" - grpcserver "github.com/absmach/supermq/pkg/server/grpc" + mglog "github.com/absmach/magistrala/logger" + smqserver "github.com/absmach/magistrala/pkg/server" + grpcserver "github.com/absmach/magistrala/pkg/server/grpc" "github.com/caarlos0/env/v11" "github.com/ultravioletrs/cocos/agent/cvms" cvmsgrpc "github.com/ultravioletrs/cocos/agent/cvms/api/grpc"