* test: add integration tests for AssumeRole and AssumeRoleWithLDAPIdentity STS actions - Add s3_sts_assume_role_test.go with comprehensive tests for AssumeRole: * Parameter validation (missing RoleArn, RoleSessionName, invalid duration) * AWS SigV4 authentication with valid/invalid credentials * Temporary credential generation and usage - Add s3_sts_ldap_test.go with tests for AssumeRoleWithLDAPIdentity: * Parameter validation (missing LDAP credentials, RoleArn) * LDAP authentication scenarios (valid/invalid credentials) * Integration with LDAP server (when configured) - Update Makefile with new test targets: * test-sts: run all STS tests * test-sts-assume-role: run AssumeRole tests only * test-sts-ldap: run LDAP STS tests only * test-sts-suite: run tests with full service lifecycle - Enhance setup_all_tests.sh: * Add OpenLDAP container setup for LDAP testing * Create test LDAP users (testuser, ldapadmin) * Set LDAP environment variables for tests * Update cleanup to remove LDAP container - Fix setup_keycloak.sh: * Enable verbose error logging for realm creation * Improve error diagnostics Tests use fail-fast approach (t.Fatal) when server not configured, ensuring clear feedback when infrastructure is missing. * feat: implement AssumeRole and AssumeRoleWithLDAPIdentity STS actions Implement two new STS actions to match MinIO's STS feature set: **AssumeRole Implementation:** - Add handleAssumeRole with full AWS SigV4 authentication - Integrate with existing IAM infrastructure via verifyV4Signature - Validate required parameters (RoleArn, RoleSessionName) - Validate DurationSeconds (900-43200 seconds range) - Generate temporary credentials with expiration - Return AWS-compatible XML response **AssumeRoleWithLDAPIdentity Implementation:** - Add handleAssumeRoleWithLDAPIdentity handler (stub) - Validate LDAP-specific parameters (LDAPUsername, LDAPPassword) - Validate common STS parameters (RoleArn, RoleSessionName, DurationSeconds) - Return proper error messages for missing LDAP provider - Ready for LDAP provider integration **Routing Fixes:** - Add explicit routes for AssumeRole and AssumeRoleWithLDAPIdentity - Prevent IAM handler from intercepting authenticated STS requests - Ensure proper request routing priority **Handler Infrastructure:** - Add IAM field to STSHandlers for SigV4 verification - Update NewSTSHandlers to accept IAM reference - Add STS-specific error codes and response types - Implement writeSTSErrorResponse for AWS-compatible errors The AssumeRole action is fully functional and tested. AssumeRoleWithLDAPIdentity requires LDAP provider implementation. * fix: update IAM matcher to exclude STS actions from interception Update the IAM handler matcher to check for STS actions (AssumeRole, AssumeRoleWithWebIdentity, AssumeRoleWithLDAPIdentity) and exclude them from IAM handler processing. This allows STS requests to be handled by the STS fallback handler even when they include AWS SigV4 authentication. The matcher now parses the form data to check the Action parameter and returns false for STS actions, ensuring they are routed to the correct handler. Note: This is a work-in-progress fix. Tests are still showing some routing issues that need further investigation. * fix: address PR review security issues for STS handlers This commit addresses all critical security issues from PR review: Security Fixes: - Use crypto/rand for cryptographically secure credential generation instead of time.Now().UnixNano() (fixes predictable credentials) - Add sts:AssumeRole permission check via VerifyActionPermission to prevent unauthorized role assumption - Generate proper session tokens using crypto/rand instead of placeholder strings Code Quality Improvements: - Refactor DurationSeconds parsing into reusable parseDurationSeconds() helper function used by all three STS handlers - Create generateSecureCredentials() helper for consistent and secure temporary credential generation - Fix iamMatcher to check query string as fallback when Action not found in form data LDAP Provider Implementation: - Add go-ldap/ldap/v3 dependency - Create LDAPProvider implementing IdentityProvider interface with full LDAP authentication support (connect, bind, search, groups) - Update ProviderFactory to create real LDAP providers - Wire LDAP provider into AssumeRoleWithLDAPIdentity handler Test Infrastructure: - Add LDAP user creation verification step in setup_all_tests.sh * fix: address PR feedback (Round 2) - config validation & provider improvements - Implement `validateLDAPConfig` in `ProviderFactory` - Improve `LDAPProvider.Initialize`: - Support `connectionTimeout` parsing (string/int/float) from config map - Warn if `BindDN` is present but `BindPassword` is empty - Improve `LDAPProvider.GetUserInfo`: - Add fallback to `searchUserGroups` if `memberOf` returns no groups (consistent with Authenticate) * fix: address PR feedback (Round 3) - LDAP connection improvements & build fix - Improve `LDAPProvider` connection handling: - Use `net.Dialer` with configured timeout for connection establishment - Enforce TLS 1.2+ (`MinVersion: tls.VersionTLS12`) for both LDAPS and StartTLS - Fix build error in `s3api_sts.go` (format verb for ErrorCode) * fix: address PR feedback (Round 4) - LDAP hardening, Authz check & Routing fix - LDAP Provider Hardening: - Prevent re-initialization - Enforce single user match in `GetUserInfo` (was explicit only in Authenticate) - Ensure connection closure if StartTLS fails - STS Handlers: - Add robust provider detection using type assertion - **Security**: Implement authorization check (`VerifyActionPermission`) after LDAP authentication - Routing: - Update tests to reflect that STS actions are handled by STS handler, not generic IAM * fix: address PR feedback (Round 5) - JWT tokens, ARN formatting, PrincipalArn CRITICAL FIXES: - Replace standalone credential generation with STS service JWT tokens - handleAssumeRole now generates proper JWT session tokens - handleAssumeRoleWithLDAPIdentity now generates proper JWT session tokens - Session tokens can be validated across distributed instances - Fix ARN formatting in responses - Extract role name from ARN using utils.ExtractRoleNameFromArn() - Prevents malformed ARNs like "arn:aws:sts::assumed-role/arn:aws:iam::..." - Add configurable AccountId for federated users - Add AccountId field to STSConfig (defaults to "111122223333") - PrincipalArn now uses configured account ID instead of hardcoded "aws" - Enables proper trust policy validation IMPROVEMENTS: - Sanitize LDAP authentication error messages (don't leak internal details) - Remove duplicate comment in provider detection - Add utils import for ARN parsing utilities * feat: implement LDAP connection pooling to prevent resource exhaustion PERFORMANCE IMPROVEMENT: - Add connection pool to LDAPProvider (default size: 10 connections) - Reuse LDAP connections across authentication requests - Prevent file descriptor exhaustion under high load IMPLEMENTATION: - connectionPool struct with channel-based connection management - getConnection(): retrieves from pool or creates new connection - returnConnection(): returns healthy connections to pool - createConnection(): establishes new LDAP connection with TLS support - Close(): cleanup method to close all pooled connections - Connection health checking (IsClosing()) before reuse BENEFITS: - Reduced connection overhead (no TCP handshake per request) - Better resource utilization under load - Prevents "too many open files" errors - Non-blocking pool operations (creates new conn if pool empty) * fix: correct TokenGenerator access in STS handlers CRITICAL FIX: - Make TokenGenerator public in STSService (was private tokenGenerator) - Update all references from Config.TokenGenerator to TokenGenerator - Remove TokenGenerator from STSConfig (it belongs in STSService) This fixes the "NotImplemented" errors in distributed and Keycloak tests. The issue was that Round 5 changes tried to access Config.TokenGenerator which didn't exist - TokenGenerator is a field in STSService, not STSConfig. The TokenGenerator is properly initialized in STSService.Initialize() and is now accessible for JWT token generation in AssumeRole handlers. * fix: update tests to use public TokenGenerator field Following the change to make TokenGenerator public in STSService, this commit updates the test files to reference the correct public field name. This resolves compilation errors in the IAM STS test suite. * fix: update distributed tests to use valid Keycloak users Updated s3_iam_distributed_test.go to use 'admin-user' and 'read-user' which exist in the standard Keycloak setup provided by setup_keycloak.sh. This resolves 'unknown test user' errors in distributed integration tests. * fix: ensure iam_config.json exists in setup target for CI The GitHub Actions workflow calls 'make setup' which was not creating iam_config.json, causing the server to start without IAM integration enabled (iamIntegration = nil), resulting in NotImplemented errors. Now 'make setup' copies iam_config.local.json to iam_config.json if it doesn't exist, ensuring IAM is properly configured in CI. * fix(iam/ldap): fix connection pool race and rebind corruption - Add atomic 'closed' flag to connection pool to prevent racing on Close() - Rebind authenticated user connections back to service account before returning to pool - Close connections on error instead of returning potentially corrupted state to pool * fix(iam/ldap): populate standard TokenClaims fields in ValidateToken - Set Subject, Issuer, Audience, IssuedAt, and ExpiresAt to satisfy the interface - Use time.Time for timestamps as required by TokenClaims struct - Default to 1 hour TTL for LDAP tokens * fix(s3api): include account ID in STS AssumedRoleUser ARN - Consistent with AWS, include the account ID in the assumed-role ARN - Use the configured account ID from STS service if available, otherwise default to '111122223333' - Apply to both AssumeRole and AssumeRoleWithLDAPIdentity handlers - Also update .gitignore to ignore IAM test environment files * refactor(s3api): extract shared STS credential generation logic - Move common logic for session claims and credential generation to prepareSTSCredentials - Update handleAssumeRole and handleAssumeRoleWithLDAPIdentity to use the helper - Remove stale comments referencing outdated line numbers * feat(iam/ldap): make pool size configurable and add audience support - Add PoolSize to LDAPConfig (default 10) - Add Audience to LDAPConfig to align with OIDC validation - Update initialization and ValidateToken to use new fields * update tests * debug * chore(iam): cleanup debug prints and fix test config port * refactor(iam): use mapstructure for LDAP config parsing * feat(sts): implement strict trust policy validation for AssumeRole * test(iam): refactor STS tests to use AWS SDK signer * test(s3api): implement ValidateTrustPolicyForPrincipal in MockIAMIntegration * fix(s3api): ensure IAM matcher checks query string on ParseForm error * fix(sts): use crypto/rand for secure credentials and extract constants * fix(iam): fix ldap connection leaks and add insecure warning * chore(iam): improved error wrapping and test parameterization * feat(sts): add support for LDAPProviderName parameter * Update weed/iam/ldap/ldap_provider.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update weed/s3api/s3api_sts.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix(sts): use STSErrSTSNotReady when LDAP provider is missing * fix(sts): encapsulate TokenGenerator in STSService and add getter --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
471 lines
24 KiB
Modula-2
471 lines
24 KiB
Modula-2
module github.com/seaweedfs/seaweedfs
|
|
|
|
go 1.24.9
|
|
|
|
require (
|
|
cloud.google.com/go v0.121.6 // indirect
|
|
cloud.google.com/go/pubsub v1.50.1
|
|
cloud.google.com/go/storage v1.57.1
|
|
github.com/Shopify/sarama v1.38.1
|
|
github.com/aws/aws-sdk-go v1.55.8
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/bwmarrin/snowflake v0.3.0
|
|
github.com/cenkalti/backoff/v4 v4.3.0
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
|
github.com/coreos/go-semver v0.3.1 // indirect
|
|
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
|
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
|
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
|
github.com/dustin/go-humanize v1.0.1
|
|
github.com/eapache/go-resiliency v1.6.0 // indirect
|
|
github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect
|
|
github.com/eapache/queue v1.1.0 // indirect
|
|
github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a
|
|
github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c // indirect
|
|
github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 // indirect
|
|
github.com/facebookgo/stats v0.0.0-20151006221625-1b76add642e4
|
|
github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 // indirect
|
|
github.com/fsnotify/fsnotify v1.9.0 // indirect
|
|
github.com/go-redsync/redsync/v4 v4.15.0
|
|
github.com/go-sql-driver/mysql v1.9.3
|
|
github.com/go-zookeeper/zk v1.0.3 // indirect
|
|
github.com/gocql/gocql v1.7.0
|
|
github.com/golang/protobuf v1.5.4
|
|
github.com/golang/snappy v1.0.0
|
|
github.com/google/btree v1.1.3
|
|
github.com/google/uuid v1.6.0
|
|
github.com/google/wire v0.7.0 // indirect
|
|
github.com/googleapis/gax-go/v2 v2.15.0 // indirect
|
|
github.com/gorilla/mux v1.8.1
|
|
github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect
|
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
|
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
|
github.com/hashicorp/go-uuid v1.0.3 // indirect
|
|
github.com/jackc/pgx/v5 v5.7.6
|
|
github.com/jcmturner/gofork v1.7.6 // indirect
|
|
github.com/jcmturner/gokrb5/v8 v8.4.4 // indirect
|
|
github.com/jinzhu/copier v0.4.0
|
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
|
github.com/json-iterator/go v1.1.12
|
|
github.com/karlseguin/ccache/v2 v2.0.8
|
|
github.com/klauspost/compress v1.18.2
|
|
github.com/klauspost/reedsolomon v1.12.6
|
|
github.com/kurin/blazer v0.5.3
|
|
github.com/linxGnu/grocksdb v1.10.3
|
|
github.com/mailru/easyjson v0.7.7 // indirect
|
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
|
github.com/olivere/elastic/v7 v7.0.32
|
|
github.com/peterh/liner v1.2.2
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
|
github.com/posener/complete v1.2.3
|
|
github.com/pquerna/cachecontrol v0.2.0
|
|
github.com/prometheus/client_golang v1.23.2
|
|
github.com/prometheus/client_model v0.6.2 // indirect
|
|
github.com/prometheus/common v0.66.1 // indirect
|
|
github.com/prometheus/procfs v0.19.2
|
|
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
|
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
|
github.com/seaweedfs/goexif v1.0.3
|
|
github.com/seaweedfs/raft v1.1.6
|
|
github.com/sirupsen/logrus v1.9.3 // indirect
|
|
github.com/spf13/afero v1.15.0 // indirect
|
|
github.com/spf13/cast v1.10.0 // indirect
|
|
github.com/spf13/viper v1.21.0
|
|
github.com/stretchr/testify v1.11.1
|
|
github.com/stvp/tempredis v0.0.0-20181119212430-b82af8480203
|
|
github.com/syndtr/goleveldb v1.0.1-0.20190318030020-c3a204f8e965
|
|
github.com/tidwall/gjson v1.18.0
|
|
github.com/tidwall/match v1.2.0
|
|
github.com/tidwall/pretty v1.2.0 // indirect
|
|
github.com/tsuna/gohbase v0.0.0-20201125011725-348991136365
|
|
github.com/tylertreat/BoomFilters v0.0.0-20210315201527-1a82519a3e43
|
|
github.com/valyala/bytebufferpool v1.0.0
|
|
github.com/viant/ptrie v1.0.1
|
|
github.com/xdg-go/pbkdf2 v1.0.0 // indirect
|
|
github.com/xdg-go/scram v1.1.2 // indirect
|
|
github.com/xdg-go/stringprep v1.0.4 // indirect
|
|
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect
|
|
go.etcd.io/etcd/client/v3 v3.6.6
|
|
go.mongodb.org/mongo-driver v1.17.6
|
|
go.opencensus.io v0.24.0 // indirect
|
|
gocloud.dev v0.44.0
|
|
gocloud.dev/pubsub/natspubsub v0.44.0
|
|
gocloud.dev/pubsub/rabbitpubsub v0.44.0
|
|
golang.org/x/crypto v0.46.0
|
|
golang.org/x/exp v0.0.0-20250811191247-51f88131bc50
|
|
golang.org/x/image v0.34.0
|
|
golang.org/x/net v0.48.0
|
|
golang.org/x/oauth2 v0.34.0
|
|
golang.org/x/sys v0.39.0
|
|
golang.org/x/text v0.32.0 // indirect
|
|
golang.org/x/tools v0.39.0 // indirect
|
|
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
|
|
google.golang.org/api v0.258.0
|
|
google.golang.org/genproto v0.0.0-20250715232539-7130f93afb79 // indirect
|
|
google.golang.org/grpc v1.77.0
|
|
google.golang.org/protobuf v1.36.11
|
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
|
modernc.org/b v1.0.0 // indirect
|
|
modernc.org/mathutil v1.7.1
|
|
modernc.org/memory v1.11.0 // indirect
|
|
modernc.org/sqlite v1.42.2
|
|
modernc.org/strutil v1.2.1
|
|
)
|
|
|
|
require (
|
|
cloud.google.com/go/kms v1.23.2
|
|
github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0
|
|
github.com/Jille/raft-grpc-transport v1.6.1
|
|
github.com/ThreeDotsLabs/watermill v1.5.1
|
|
github.com/a-h/templ v0.3.943
|
|
github.com/apple/foundationdb/bindings/go v0.0.0-20250911184653-27f7192f47c3
|
|
github.com/arangodb/go-driver v1.6.9
|
|
github.com/armon/go-metrics v0.4.1
|
|
github.com/aws/aws-sdk-go-v2 v1.41.0
|
|
github.com/aws/aws-sdk-go-v2/config v1.32.6
|
|
github.com/aws/aws-sdk-go-v2/credentials v1.19.6
|
|
github.com/aws/aws-sdk-go-v2/service/s3 v1.95.0
|
|
github.com/cognusion/imaging v1.0.2
|
|
github.com/fluent/fluent-logger-golang v1.10.1
|
|
github.com/getsentry/sentry-go v0.40.0
|
|
github.com/gin-contrib/sessions v1.0.4
|
|
github.com/gin-gonic/gin v1.11.0
|
|
github.com/golang-jwt/jwt/v5 v5.3.0
|
|
github.com/google/flatbuffers/go v0.0.0-20230108230133-3b8644d32c50
|
|
github.com/hashicorp/raft v1.7.3
|
|
github.com/hashicorp/raft-boltdb/v2 v2.3.1
|
|
github.com/hashicorp/vault/api v1.22.0
|
|
github.com/jhump/protoreflect v1.17.0
|
|
github.com/lib/pq v1.10.9
|
|
github.com/linkedin/goavro/v2 v2.14.1
|
|
github.com/mattn/go-sqlite3 v1.14.32
|
|
github.com/minio/crc64nvme v1.1.1
|
|
github.com/orcaman/concurrent-map/v2 v2.0.1
|
|
github.com/parquet-go/parquet-go v0.26.3
|
|
github.com/pkg/sftp v1.13.10
|
|
github.com/rabbitmq/amqp091-go v1.10.0
|
|
github.com/rclone/rclone v1.71.2
|
|
github.com/rdleal/intervalst v1.5.0
|
|
github.com/redis/go-redis/v9 v9.17.2
|
|
github.com/schollz/progressbar/v3 v3.19.0
|
|
github.com/seaweedfs/go-fuse/v2 v2.9.1
|
|
github.com/shirou/gopsutil/v4 v4.25.11
|
|
github.com/tarantool/go-tarantool/v2 v2.4.1
|
|
github.com/tikv/client-go/v2 v2.0.7
|
|
github.com/xeipuuv/gojsonschema v1.2.0
|
|
github.com/ydb-platform/ydb-go-sdk-auth-environ v0.5.1
|
|
github.com/ydb-platform/ydb-go-sdk/v3 v3.125.1
|
|
go.etcd.io/etcd/client/pkg/v3 v3.6.7
|
|
go.uber.org/atomic v1.11.0
|
|
golang.org/x/sync v0.19.0
|
|
golang.org/x/tools/godoc v0.1.0-deprecated
|
|
google.golang.org/grpc/security/advancedtls v1.0.0
|
|
)
|
|
|
|
require github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 // indirect
|
|
|
|
require (
|
|
cloud.google.com/go/longrunning v0.6.7 // indirect
|
|
cloud.google.com/go/pubsub/v2 v2.2.1 // indirect
|
|
github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/signin v1.0.4 // indirect
|
|
github.com/bazelbuild/rules_go v0.46.0 // indirect
|
|
github.com/biogo/store v0.0.0-20201120204734-aad293a2328f // indirect
|
|
github.com/blevesearch/snowballstem v0.9.0 // indirect
|
|
github.com/bufbuild/protocompile v0.14.1 // indirect
|
|
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
|
|
github.com/cockroachdb/apd/v3 v3.1.0 // indirect
|
|
github.com/cockroachdb/errors v1.11.3 // indirect
|
|
github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 // indirect
|
|
github.com/cockroachdb/redact v1.1.5 // indirect
|
|
github.com/cockroachdb/version v0.0.0-20250314144055-3860cd14adf2 // indirect
|
|
github.com/dave/dst v0.27.2 // indirect
|
|
github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 // indirect
|
|
github.com/go-ldap/ldap/v3 v3.4.12 // indirect
|
|
github.com/goccy/go-yaml v1.18.0 // indirect
|
|
github.com/golang/geo v0.0.0-20210211234256-740aa86cb551 // indirect
|
|
github.com/google/go-cmp v0.7.0 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
|
|
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
|
github.com/hashicorp/go-secure-stdlib/parseutil v0.2.0 // indirect
|
|
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect
|
|
github.com/hashicorp/go-sockaddr v1.0.7 // indirect
|
|
github.com/hashicorp/hcl v1.0.1-vault-7 // indirect
|
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
|
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
|
|
github.com/jackc/puddle/v2 v2.2.2 // indirect
|
|
github.com/jaegertracing/jaeger v1.47.0 // indirect
|
|
github.com/kr/pretty v0.3.1 // indirect
|
|
github.com/kr/text v0.2.0 // indirect
|
|
github.com/lithammer/shortuuid/v3 v3.0.7 // indirect
|
|
github.com/openzipkin/zipkin-go v0.4.3 // indirect
|
|
github.com/parquet-go/bitpack v1.0.0 // indirect
|
|
github.com/parquet-go/jsonlite v1.0.0 // indirect
|
|
github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect
|
|
github.com/pierrre/geohash v1.0.0 // indirect
|
|
github.com/quic-go/qpack v0.6.0 // indirect
|
|
github.com/quic-go/quic-go v0.57.0 // indirect
|
|
github.com/rogpeppe/go-internal v1.14.1 // indirect
|
|
github.com/ryanuber/go-glob v1.0.0 // indirect
|
|
github.com/sasha-s/go-deadlock v0.3.1 // indirect
|
|
github.com/stretchr/objx v0.5.2 // indirect
|
|
github.com/twpayne/go-geom v1.4.1 // indirect
|
|
github.com/twpayne/go-kml v1.5.2 // indirect
|
|
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
|
|
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
|
|
github.com/zeebo/xxh3 v1.0.2 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/zipkin v1.36.0 // indirect
|
|
go.opentelemetry.io/proto/otlp v1.7.0 // indirect
|
|
go.yaml.in/yaml/v2 v2.4.2 // indirect
|
|
go.yaml.in/yaml/v3 v3.0.4 // indirect
|
|
golang.org/x/mod v0.30.0 // indirect
|
|
gonum.org/v1/gonum v0.16.0 // indirect
|
|
)
|
|
|
|
require (
|
|
cel.dev/expr v0.24.0 // indirect
|
|
cloud.google.com/go/auth v0.17.0 // indirect
|
|
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
|
|
cloud.google.com/go/compute/metadata v0.9.0 // indirect
|
|
cloud.google.com/go/iam v1.5.2 // indirect
|
|
cloud.google.com/go/monitoring v1.24.2 // indirect
|
|
filippo.io/edwards25519 v1.1.0 // indirect
|
|
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.20.0
|
|
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1
|
|
github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 // indirect
|
|
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.3
|
|
github.com/Azure/azure-sdk-for-go/sdk/storage/azfile v1.5.2 // indirect
|
|
github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect
|
|
github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 // indirect
|
|
github.com/Files-com/files-sdk-go/v3 v3.2.218 // indirect
|
|
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0 // indirect
|
|
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0 // indirect
|
|
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.53.0 // indirect
|
|
github.com/IBM/go-sdk-core/v5 v5.21.0 // indirect
|
|
github.com/Max-Sum/base32768 v0.0.0-20230304063302-18e6ce5945fd // indirect
|
|
github.com/Microsoft/go-winio v0.6.2 // indirect
|
|
github.com/ProtonMail/bcrypt v0.0.0-20211005172633-e235017c1baf // indirect
|
|
github.com/ProtonMail/gluon v0.17.1-0.20230724134000-308be39be96e // indirect
|
|
github.com/ProtonMail/go-crypto v1.3.0 // indirect
|
|
github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f // indirect
|
|
github.com/ProtonMail/go-srp v0.0.7 // indirect
|
|
github.com/ProtonMail/gopenpgp/v2 v2.9.0 // indirect
|
|
github.com/PuerkitoBio/goquery v1.10.3 // indirect
|
|
github.com/abbot/go-http-auth v0.4.0 // indirect
|
|
github.com/andybalholm/brotli v1.2.0 // indirect
|
|
github.com/andybalholm/cascadia v1.3.3 // indirect
|
|
github.com/appscode/go-querystring v0.0.0-20170504095604-0126cfb3f1dc // indirect
|
|
github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e // indirect
|
|
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
|
|
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 // indirect
|
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16 // indirect
|
|
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.20.3 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.16 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.16 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.16 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.7 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.16 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.16 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sns v1.34.7 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sqs v1.38.8 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sso v1.30.8 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sts v1.41.5 // indirect
|
|
github.com/aws/smithy-go v1.24.0 // indirect
|
|
github.com/boltdb/bolt v1.3.1 // indirect
|
|
github.com/bradenaw/juniper v0.15.3 // indirect
|
|
github.com/bradfitz/iter v0.0.0-20191230175014-e8f45d346db8 // indirect
|
|
github.com/buengese/sgzip v0.1.1 // indirect
|
|
github.com/bytedance/sonic v1.14.0 // indirect
|
|
github.com/bytedance/sonic/loader v0.3.0 // indirect
|
|
github.com/calebcase/tmpfile v1.0.3 // indirect
|
|
github.com/chilts/sid v0.0.0-20190607042430-660e94789ec9 // indirect
|
|
github.com/cloudflare/circl v1.6.1 // indirect
|
|
github.com/cloudinary/cloudinary-go/v2 v2.12.0 // indirect
|
|
github.com/cloudsoda/go-smb2 v0.0.0-20250228001242-d4c70e6251cc // indirect
|
|
github.com/cloudsoda/sddl v0.0.0-20250224235906-926454e91efc // indirect
|
|
github.com/cloudwego/base64x v0.1.6 // indirect
|
|
github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f // indirect
|
|
github.com/colinmarc/hdfs/v2 v2.4.0 // indirect
|
|
github.com/creasty/defaults v1.8.0 // indirect
|
|
github.com/cronokirby/saferith v0.33.0 // indirect
|
|
github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548 // indirect
|
|
github.com/d4l3k/messagediff v1.2.1 // indirect
|
|
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect
|
|
github.com/dropbox/dropbox-sdk-go-unofficial/v6 v6.0.5 // indirect
|
|
github.com/ebitengine/purego v0.9.1 // indirect
|
|
github.com/elastic/gosigar v0.14.3 // indirect
|
|
github.com/emersion/go-message v0.18.2 // indirect
|
|
github.com/emersion/go-vcard v0.0.0-20241024213814-c9703dde27ff // indirect
|
|
github.com/envoyproxy/go-control-plane/envoy v1.35.0 // indirect
|
|
github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect
|
|
github.com/fatih/color v1.18.0 // indirect
|
|
github.com/felixge/httpsnoop v1.0.4 // indirect
|
|
github.com/flynn/noise v1.1.0 // indirect
|
|
github.com/gabriel-vasile/mimetype v1.4.9 // indirect
|
|
github.com/geoffgarside/ber v1.2.0 // indirect
|
|
github.com/gin-contrib/sse v1.1.0 // indirect
|
|
github.com/go-chi/chi/v5 v5.2.2 // indirect
|
|
github.com/go-darwin/apfs v0.0.0-20211011131704-f84b94dbf348 // indirect
|
|
github.com/go-jose/go-jose/v4 v4.1.3 // indirect
|
|
github.com/go-logr/logr v1.4.3 // indirect
|
|
github.com/go-logr/stdr v1.2.2 // indirect
|
|
github.com/go-ole/go-ole v1.3.0 // indirect
|
|
github.com/go-openapi/errors v0.22.2 // indirect
|
|
github.com/go-openapi/strfmt v0.23.0 // indirect
|
|
github.com/go-playground/locales v0.14.1 // indirect
|
|
github.com/go-playground/universal-translator v0.18.1 // indirect
|
|
github.com/go-playground/validator/v10 v10.27.0 // indirect
|
|
github.com/go-resty/resty/v2 v2.16.5 // indirect
|
|
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
|
|
github.com/goccy/go-json v0.10.5 // indirect
|
|
github.com/gofrs/flock v0.12.1 // indirect
|
|
github.com/gogo/protobuf v1.3.2 // indirect
|
|
github.com/golang-jwt/jwt/v4 v4.5.2 // indirect
|
|
github.com/google/s2a-go v0.1.9 // indirect
|
|
github.com/googleapis/enterprise-certificate-proxy v0.3.7 // indirect
|
|
github.com/gorilla/context v1.1.2 // indirect
|
|
github.com/gorilla/schema v1.4.1 // indirect
|
|
github.com/gorilla/securecookie v1.1.2 // indirect
|
|
github.com/gorilla/sessions v1.4.0 // indirect
|
|
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 // indirect
|
|
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
|
github.com/hashicorp/go-hclog v1.6.3 // indirect
|
|
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
|
|
github.com/hashicorp/go-metrics v0.5.4 // indirect
|
|
github.com/hashicorp/go-msgpack/v2 v2.1.2 // indirect
|
|
github.com/hashicorp/go-retryablehttp v0.7.8 // indirect
|
|
github.com/hashicorp/golang-lru v0.6.0 // indirect
|
|
github.com/henrybear327/Proton-API-Bridge v1.0.0 // indirect
|
|
github.com/henrybear327/go-proton-api v1.0.0 // indirect
|
|
github.com/jcmturner/aescts/v2 v2.0.0 // indirect
|
|
github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect
|
|
github.com/jcmturner/goidentity/v6 v6.0.1 // indirect
|
|
github.com/jcmturner/rpc/v2 v2.0.3 // indirect
|
|
github.com/jlaffaye/ftp v0.2.1-0.20240918233326-1b970516f5d3 // indirect
|
|
github.com/jonboulle/clockwork v0.5.0 // indirect
|
|
github.com/josharian/intern v1.0.0 // indirect
|
|
github.com/jtolio/noiseconn v0.0.0-20231127013910-f6d9ecbf1de7 // indirect
|
|
github.com/jzelinskie/whirlpool v0.0.0-20201016144138-0675e54bb004 // indirect
|
|
github.com/k0kubun/pp v3.0.1+incompatible
|
|
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
|
|
github.com/koofr/go-httpclient v0.0.0-20240520111329-e20f8f203988 // indirect
|
|
github.com/koofr/go-koofrclient v0.0.0-20221207135200-cbd7fc9ad6a6 // indirect
|
|
github.com/kr/fs v0.1.0 // indirect
|
|
github.com/kylelemons/godebug v1.1.0 // indirect
|
|
github.com/lanrat/extsort v1.4.0 // indirect
|
|
github.com/leodido/go-urn v1.4.0 // indirect
|
|
github.com/lpar/date v1.0.0 // indirect
|
|
github.com/lufia/plan9stats v0.0.0-20250317134145-8bc96cf8fc35 // indirect
|
|
github.com/mattn/go-colorable v0.1.14 // indirect
|
|
github.com/mattn/go-runewidth v0.0.16 // indirect
|
|
github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect
|
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
|
github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 // indirect
|
|
github.com/montanaflynn/stats v0.7.1 // indirect
|
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
|
github.com/nats-io/nats.go v1.43.0 // indirect
|
|
github.com/nats-io/nkeys v0.4.11 // indirect
|
|
github.com/nats-io/nuid v1.0.1 // indirect
|
|
github.com/ncruces/go-strftime v0.1.9 // indirect
|
|
github.com/ncw/swift/v2 v2.0.4 // indirect
|
|
github.com/nxadm/tail v1.4.11 // indirect
|
|
github.com/oklog/ulid v1.3.1 // indirect
|
|
github.com/onsi/ginkgo/v2 v2.23.3 // indirect
|
|
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
|
github.com/oracle/oci-go-sdk/v65 v65.98.0 // indirect
|
|
github.com/panjf2000/ants/v2 v2.11.3 // indirect
|
|
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
|
|
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
|
|
github.com/pengsrc/go-shared v0.2.1-0.20190131101655-1999055a4a14 // indirect
|
|
github.com/philhofer/fwd v1.2.0 // indirect
|
|
github.com/pierrec/lz4/v4 v4.1.22
|
|
github.com/pingcap/errors v0.11.5-0.20211224045212-9687c2b0f87c // indirect
|
|
github.com/pingcap/failpoint v0.0.0-20220801062533-2eaa32854a6c // indirect
|
|
github.com/pingcap/kvproto v0.0.0-20230403051650-e166ae588106 // indirect
|
|
github.com/pingcap/log v1.1.1-0.20221110025148-ca232912c9f3 // indirect
|
|
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
|
|
github.com/pkg/xattr v0.4.12 // indirect
|
|
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
|
|
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
|
|
github.com/putdotio/go-putio/putio v0.0.0-20200123120452-16d982cac2b8 // indirect
|
|
github.com/relvacode/iso8601 v1.6.0 // indirect
|
|
github.com/rfjakob/eme v1.1.2 // indirect
|
|
github.com/rivo/uniseg v0.4.7 // indirect
|
|
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
|
github.com/sagikazarmark/locafero v0.11.0 // indirect
|
|
github.com/samber/lo v1.51.0 // indirect
|
|
github.com/seaweedfs/cockroachdb-parser v0.0.0-20251021184156-909763b17138
|
|
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect
|
|
github.com/smartystreets/goconvey v1.8.1 // indirect
|
|
github.com/sony/gobreaker v1.0.0 // indirect
|
|
github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect
|
|
github.com/spacemonkeygo/monkit/v3 v3.0.24 // indirect
|
|
github.com/spf13/pflag v1.0.10 // indirect
|
|
github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect
|
|
github.com/subosito/gotenv v1.6.0 // indirect
|
|
github.com/t3rm1n4l/go-mega v0.0.0-20250926104142-ccb8d3498e6c // indirect
|
|
github.com/tarantool/go-iproto v1.1.0 // indirect
|
|
github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a // indirect
|
|
github.com/tikv/pd/client v0.0.0-20230329114254-1948c247c2b1 // indirect
|
|
github.com/tinylib/msgp v1.3.0 // indirect
|
|
github.com/tklauser/go-sysconf v0.3.16 // indirect
|
|
github.com/tklauser/numcpus v0.11.0 // indirect
|
|
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
|
|
github.com/twmb/murmur3 v1.1.3 // indirect
|
|
github.com/ugorji/go/codec v1.3.0 // indirect
|
|
github.com/unknwon/goconfig v1.0.0 // indirect
|
|
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
|
|
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
|
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
|
github.com/yandex-cloud/go-genproto v0.0.0-20211115083454-9ca41db5ed9e // indirect
|
|
github.com/ydb-platform/ydb-go-genproto v0.0.0-20251125145508-6d7ef87db5cb // indirect
|
|
github.com/ydb-platform/ydb-go-yc v0.12.1 // indirect
|
|
github.com/ydb-platform/ydb-go-yc-metadata v0.6.1 // indirect
|
|
github.com/yunify/qingstor-sdk-go/v3 v3.2.0 // indirect
|
|
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
|
github.com/zeebo/blake3 v0.2.4 // indirect
|
|
github.com/zeebo/errs v1.4.0 // indirect
|
|
go.etcd.io/bbolt v1.4.2 // indirect
|
|
go.etcd.io/etcd/api/v3 v3.6.6 // indirect
|
|
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
|
|
go.opentelemetry.io/contrib/detectors/gcp v1.38.0 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.62.0 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 // indirect
|
|
go.opentelemetry.io/otel v1.38.0 // indirect
|
|
go.opentelemetry.io/otel/metric v1.38.0 // indirect
|
|
go.opentelemetry.io/otel/sdk v1.38.0 // indirect
|
|
go.opentelemetry.io/otel/sdk/metric v1.38.0 // indirect
|
|
go.opentelemetry.io/otel/trace v1.38.0 // indirect
|
|
go.uber.org/multierr v1.11.0 // indirect
|
|
go.uber.org/zap v1.27.0 // indirect
|
|
golang.org/x/arch v0.20.0 // indirect
|
|
golang.org/x/term v0.38.0 // indirect
|
|
golang.org/x/time v0.14.0 // indirect
|
|
google.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8 // indirect
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 // indirect
|
|
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
|
|
gopkg.in/validator.v2 v2.0.1 // indirect
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
modernc.org/libc v1.66.10 // indirect
|
|
moul.io/http2curl/v2 v2.3.0 // indirect
|
|
sigs.k8s.io/yaml v1.6.0 // indirect
|
|
storj.io/common v0.0.0-20250808122759-804533d519c1 // indirect
|
|
storj.io/drpc v0.0.35-0.20250513201419-f7819ea69b55 // indirect
|
|
storj.io/eventkit v0.0.0-20250410172343-61f26d3de156 // indirect
|
|
storj.io/infectious v0.0.2 // indirect
|
|
storj.io/picobuf v0.0.4 // indirect
|
|
storj.io/uplink v1.13.1 // indirect
|
|
)
|
|
|
|
// replace github.com/seaweedfs/raft => /Users/chrislu/go/src/github.com/seaweedfs/raft
|