Tree:
				24f3571a2a
			
			
		
		add-admin-and-worker-to-helm-charts
			
				add-ec-vacuum
			
				add-foundation-db
			
				add_fasthttp_client
			
				add_remote_storage
			
				adding-message-queue-integration-tests
			
				avoid_releasing_temp_file_on_write
			
				changing-to-zap
			
				collect-public-metrics
			
				create-table-snapshot-api-design
			
				data_query_pushdown
			
				dependabot/maven/other/java/client/com.google.protobuf-protobuf-java-3.25.5
			
				dependabot/maven/other/java/examples/org.apache.hadoop-hadoop-common-3.4.0
			
				detect-and-plan-ec-tasks
			
				do-not-retry-if-error-is-NotFound
			
				enhance-erasure-coding
			
				fasthttp
			
				filer1_maintenance_branch
			
				fix-GetObjectLockConfigurationHandler
			
				fix-versioning-listing-only
			
				ftp
			
				gh-pages
			
				improve-fuse-mount
			
				improve-fuse-mount2
			
				logrus
			
				master
			
				message_send
			
				mount2
			
				mq-subscribe
			
				mq2
			
				original_weed_mount
			
				pr-7412
			
				random_access_file
			
				refactor-needle-read-operations
			
				refactor-volume-write
			
				remote_overlay
			
				revert-5134-patch-1
			
				revert-5819-patch-1
			
				revert-6434-bugfix-missing-s3-audit
			
				s3-select
			
				sub
			
				tcp_read
			
				test-reverting-lock-table
			
				test_udp
			
				testing
			
				testing-sdx-generation
			
				tikv
			
				track-mount-e2e
			
				volume_buffered_writes
			
				worker-execute-ec-tasks
			
			
				0.72
			
				0.72.release
			
				0.73
			
				0.74
			
				0.75
			
				0.76
			
				0.77
			
				0.90
			
				0.91
			
				0.92
			
				0.93
			
				0.94
			
				0.95
			
				0.96
			
				0.97
			
				0.98
			
				0.99
			
				1.00
			
				1.01
			
				1.02
			
				1.03
			
				1.04
			
				1.05
			
				1.06
			
				1.07
			
				1.08
			
				1.09
			
				1.10
			
				1.11
			
				1.12
			
				1.14
			
				1.15
			
				1.16
			
				1.17
			
				1.18
			
				1.19
			
				1.20
			
				1.21
			
				1.22
			
				1.23
			
				1.24
			
				1.25
			
				1.26
			
				1.27
			
				1.28
			
				1.29
			
				1.30
			
				1.31
			
				1.32
			
				1.33
			
				1.34
			
				1.35
			
				1.36
			
				1.37
			
				1.38
			
				1.40
			
				1.41
			
				1.42
			
				1.43
			
				1.44
			
				1.45
			
				1.46
			
				1.47
			
				1.48
			
				1.49
			
				1.50
			
				1.51
			
				1.52
			
				1.53
			
				1.54
			
				1.55
			
				1.56
			
				1.57
			
				1.58
			
				1.59
			
				1.60
			
				1.61
			
				1.61RC
			
				1.62
			
				1.63
			
				1.64
			
				1.65
			
				1.66
			
				1.67
			
				1.68
			
				1.69
			
				1.70
			
				1.71
			
				1.72
			
				1.73
			
				1.74
			
				1.75
			
				1.76
			
				1.77
			
				1.78
			
				1.79
			
				1.80
			
				1.81
			
				1.82
			
				1.83
			
				1.84
			
				1.85
			
				1.86
			
				1.87
			
				1.88
			
				1.90
			
				1.91
			
				1.92
			
				1.93
			
				1.94
			
				1.95
			
				1.96
			
				1.97
			
				1.98
			
				1.99
			
				1;70
			
				2.00
			
				2.01
			
				2.02
			
				2.03
			
				2.04
			
				2.05
			
				2.06
			
				2.07
			
				2.08
			
				2.09
			
				2.10
			
				2.11
			
				2.12
			
				2.13
			
				2.14
			
				2.15
			
				2.16
			
				2.17
			
				2.18
			
				2.19
			
				2.20
			
				2.21
			
				2.22
			
				2.23
			
				2.24
			
				2.25
			
				2.26
			
				2.27
			
				2.28
			
				2.29
			
				2.30
			
				2.31
			
				2.32
			
				2.33
			
				2.34
			
				2.35
			
				2.36
			
				2.37
			
				2.38
			
				2.39
			
				2.40
			
				2.41
			
				2.42
			
				2.43
			
				2.47
			
				2.48
			
				2.49
			
				2.50
			
				2.51
			
				2.52
			
				2.53
			
				2.54
			
				2.55
			
				2.56
			
				2.57
			
				2.58
			
				2.59
			
				2.60
			
				2.61
			
				2.62
			
				2.63
			
				2.64
			
				2.65
			
				2.66
			
				2.67
			
				2.68
			
				2.69
			
				2.70
			
				2.71
			
				2.72
			
				2.73
			
				2.74
			
				2.75
			
				2.76
			
				2.77
			
				2.78
			
				2.79
			
				2.80
			
				2.81
			
				2.82
			
				2.83
			
				2.84
			
				2.85
			
				2.86
			
				2.87
			
				2.88
			
				2.89
			
				2.90
			
				2.91
			
				2.92
			
				2.93
			
				2.94
			
				2.95
			
				2.96
			
				2.97
			
				2.98
			
				2.99
			
				3.00
			
				3.01
			
				3.02
			
				3.03
			
				3.04
			
				3.05
			
				3.06
			
				3.07
			
				3.08
			
				3.09
			
				3.10
			
				3.11
			
				3.12
			
				3.13
			
				3.14
			
				3.15
			
				3.16
			
				3.18
			
				3.19
			
				3.20
			
				3.21
			
				3.22
			
				3.23
			
				3.24
			
				3.25
			
				3.26
			
				3.27
			
				3.28
			
				3.29
			
				3.30
			
				3.31
			
				3.32
			
				3.33
			
				3.34
			
				3.35
			
				3.36
			
				3.37
			
				3.38
			
				3.39
			
				3.40
			
				3.41
			
				3.42
			
				3.43
			
				3.44
			
				3.45
			
				3.46
			
				3.47
			
				3.48
			
				3.50
			
				3.51
			
				3.52
			
				3.53
			
				3.54
			
				3.55
			
				3.56
			
				3.57
			
				3.58
			
				3.59
			
				3.60
			
				3.61
			
				3.62
			
				3.63
			
				3.64
			
				3.65
			
				3.66
			
				3.67
			
				3.68
			
				3.69
			
				3.71
			
				3.72
			
				3.73
			
				3.74
			
				3.75
			
				3.76
			
				3.77
			
				3.78
			
				3.79
			
				3.80
			
				3.81
			
				3.82
			
				3.83
			
				3.84
			
				3.85
			
				3.86
			
				3.87
			
				3.88
			
				3.89
			
				3.90
			
				3.91
			
				3.92
			
				3.93
			
				3.94
			
				3.95
			
				3.96
			
				3.97
			
				3.98
			
				3.99
			
				4.00
			
				dev
			
				helm-3.65.1
			
				v0.69
			
				v0.70beta
			
				v3.33
			
		${ noResults }
		
	
		
			8 Commits (24f3571a2a3b384a03773eb9b54e0c78500de56e)
		
	
	
		
	
    | Author | SHA1 | Message | Date | 
|---|---|---|---|
| 
							
							
								 | 
						51525ea2ba | 
							
							
								
								remove filerAddress required
							
							
							
							
								
 | 
						2 months ago | 
| 
							
							
								 | 
						13bff3f594 | 
							
							
								
								fix tests
							
							
							
							
								
 | 
						2 months ago | 
| 
							
							
								 | 
						0575d93bca | 
							
							
								
								address comments
							
							
							
							
								
 | 
						2 months ago | 
| 
							
							
								 | 
						586ebbca2d | 
							
							
								
								refactor: simplify configuration by using constants for default base paths
							
							
							
							
							
							
								
This commit addresses the user feedback that configuration files should not
need to specify default paths when constants are available.
### Changes Made:
#### Configuration Simplification:
- Removed redundant basePath configurations from iam_config_distributed.json
- All stores now use constants for defaults:
  * Sessions: /etc/iam/sessions (DefaultSessionBasePath)
  * Policies: /etc/iam/policies (DefaultPolicyBasePath)
  * Roles: /etc/iam/roles (DefaultRoleBasePath)
- Eliminated empty storeConfig objects entirely for cleaner JSON
#### Updated Store Implementations:
- FilerPolicyStore: Updated hardcoded path to use /etc/iam/policies
- FilerRoleStore: Updated hardcoded path to use /etc/iam/roles
- All stores consistently align with /etc/ filer convention
#### Runtime Filer Address Integration:
- Updated IAM manager methods to accept filerAddress parameter:
  * AssumeRoleWithWebIdentity(ctx, filerAddress, request)
  * AssumeRoleWithCredentials(ctx, filerAddress, request)
  * IsActionAllowed(ctx, filerAddress, request)
  * ExpireSessionForTesting(ctx, filerAddress, sessionToken)
- Enhanced S3IAMIntegration to store filerAddress from S3ApiServer
- Updated all test files to pass test filerAddress ('localhost:8888')
### Benefits:
- ✅ Cleaner, minimal configuration files
- ✅ Consistent use of well-defined constants for defaults
- ✅ No configuration needed for standard use cases
- ✅ Runtime filer address flexibility maintained
- ✅ Aligns with SeaweedFS /etc/ convention throughout
### Breaking Change:
- S3IAMIntegration constructor now requires filerAddress parameter
- All IAM manager methods now require filerAddress as second parameter
- Tests and middleware updated accordingly
							
						 | 
						2 months ago | 
| 
							
							
								 | 
						2add9e1523 | 
							
							
								
								🌐 IMPLEMENT OIDC USERINFO ENDPOINT: Complete Enterprise OIDC Integration!
							
							
							
							
							
							
								
MAJOR ENHANCEMENT: Full OIDC UserInfo Endpoint Integration 🏆 PRODUCTION-READY USERINFO INTEGRATION: - Real HTTP calls to OIDC UserInfo endpoints with Bearer token authentication - Automatic endpoint discovery using standard OIDC convention (/.../userinfo) - Configurable UserInfoUri for custom provider endpoints - Complete claim mapping from UserInfo response to SeaweedFS identity - Comprehensive error handling for authentication and network failures ✅ COMPLETE USERINFO OPERATIONS: - GetUserInfoWithToken: Retrieve user information with access token - getUserInfoWithToken: Internal implementation with HTTP client integration - mapUserInfoToIdentity: Map OIDC claims to ExternalIdentity structure - Custom claims mapping support for non-standard OIDC providers 🚀 ENTERPRISE-GRADE FEATURES: - HTTP client with configurable timeouts and proper header handling - Bearer token authentication with Authorization header - JSON response parsing with comprehensive claim extraction - Standard OIDC claims support (sub, email, name, groups) - Custom claims mapping for enterprise identity provider integration - Multiple group format handling (array, single string, mixed types) 🔧 COMPREHENSIVE CLAIM MAPPING: - Standard OIDC claims: sub → UserID, email → Email, name → DisplayName - Groups claim: Flexible parsing for arrays, strings, or mixed formats - Custom claims mapping: Configurable field mapping via ClaimsMapping config - Attribute storage: All additional claims stored as custom attributes - JSON serialization: Complex claims automatically serialized for storage ✅ ROBUST ERROR HANDLING & VALIDATION: - Bearer token validation and proper HTTP status code handling - 401 Unauthorized responses for invalid tokens - Network error handling with descriptive error messages - JSON parsing error recovery with detailed failure information - Empty token validation and proper error responses 🧪 COMPREHENSIVE TEST COVERAGE (6/6 PASSING): - TestOIDCProviderUserInfo/get_user_info_with_access_token ✅ - TestOIDCProviderUserInfo/get_admin_user_info (role-based responses) ✅ - TestOIDCProviderUserInfo/get_user_info_without_token (error handling) ✅ - TestOIDCProviderUserInfo/get_user_info_with_invalid_token (401 handling) ✅ - TestOIDCProviderUserInfo/get_user_info_with_custom_claims_mapping ✅ - TestOIDCProviderUserInfo/get_user_info_with_empty_id (validation) ✅ 🎯 PRODUCTION USE CASES SUPPORTED: - Google Workspace: Full user info retrieval with groups and custom claims - Microsoft Azure AD: Enterprise directory integration with role mapping - Auth0: Custom claims and flexible group management - Keycloak: Open source OIDC provider integration - Custom OIDC Providers: Configurable claim mapping and endpoint URLs 🔒 SECURITY & COMPLIANCE: - Bearer token authentication per OIDC specification - Secure HTTP client with timeout protection - Input validation for tokens and configuration parameters - Error message sanitization to prevent information disclosure - Standard OIDC claim validation and processing This completes the OIDC provider implementation with full UserInfo endpoint support, enabling enterprise SSO integration with any OIDC-compliant provider! All OIDC tests passing ✅ - Ready for production deployment  | 
						2 months ago | 
| 
							
							
								 | 
						b5855042aa | 
							
							
								
								🗂️ IMPLEMENT FILER POLICY STORE: Enterprise Persistent Policy Management!
							
							
							
							
							
							
								
MAJOR ENHANCEMENT: Complete FilerPolicyStore for Distributed Policy Storage 🏆 PRODUCTION-READY POLICY PERSISTENCE: - Full SeaweedFS filer integration for distributed policy storage - JSON serialization with pretty formatting for human readability - Configurable filer address and base path (/seaweedfs/iam/policies) - Graceful error handling with proper SeaweedFS client patterns - File-level security with 0600 permissions (owner read/write only) ✅ COMPREHENSIVE POLICY OPERATIONS: - StorePolicy: Serialize and store policy documents as JSON files - GetPolicy: Retrieve and deserialize policies with validation - DeletePolicy: Delete policies with not-found error tolerance - ListPolicies: Batch listing with filename parsing and extraction 🚀 ENTERPRISE-GRADE FEATURES: - Persistent policy storage survives server restarts and failures - Distributed policy sharing across SeaweedFS cluster nodes - Batch processing with pagination for efficient policy listing - Automatic policy file naming (policy_[name].json) for organization - Pretty-printed JSON for configuration management and debugging 🔧 SEAMLESS INTEGRATION PATTERNS: - SetFilerClient: Dynamic filer connection configuration - withFilerClient: Consistent error handling and connection management - Compatible with existing SeaweedFS filer client conventions - Follows pb.WithGrpcFilerClient patterns for reliability - Proper gRPC dial options and server addressing ✅ ROBUST ERROR HANDLING & RELIABILITY: - Graceful handling of 'not found' errors during deletion - JSON validation and deserialization error recovery - Connection failure tolerance with detailed error messages - Batch listing with stream processing for large policy sets - Automatic cleanup of malformed policy files 🎯 PRODUCTION USE CASES SUPPORTED: - Multi-node SeaweedFS deployments with shared policy state - Policy persistence across server restarts and maintenance - Distributed IAM policy management for S3 API access - Enterprise-grade policy templates and custom policies - Scalable policy management for high-availability deployments 🔒 SECURITY & COMPLIANCE: - File permissions set to owner-only access (0600) - Policy data encrypted in transit via gRPC - Secure policy file naming with structured prefixes - Namespace isolation with configurable base paths - Audit trail support through filer metadata This enables enterprise IAM deployments with persistent, distributed policy management using SeaweedFS's proven filer infrastructure! All policy tests passing ✅ - Ready for production deployment  | 
						2 months ago | 
| 
							
							
								 | 
						d1de50c9d3 | 
							
							
								
								🔧 TDD Support: Enhanced Mock Providers & Policy Validation
							
							
							
							
							
							
								
Supporting changes for full IAM integration: ✅ ENHANCED MOCK PROVIDERS: - LDAP mock provider with complete authentication support - OIDC mock provider with token compatibility improvements - Better test data separation between mock and production code ✅ IMPROVED POLICY VALIDATION: - Trust policy validation separate from resource policies - Enhanced policy engine test coverage - Better policy document structure validation ✅ REFINED STS SERVICE: - Improved session management and validation - Better error handling and edge cases - Enhanced test coverage for complex scenarios These changes provide the foundation for the integrated IAM system.  | 
						2 months ago | 
| 
							
							
								 | 
						674931f165 | 
							
							
								
								🎉 TDD GREEN PHASE COMPLETE: Advanced Policy Engine - ALL TESTS PASSING!
							
							
							
							
							
							
								
PHASE 3 MILESTONE ACHIEVED: 20/20 test cases passing! ✅ ENTERPRISE-GRADE POLICY ENGINE IMPLEMENTED: - AWS IAM-compatible policy document structure (Version, Statement, Effect) - Complete policy evaluation engine with Allow/Deny precedence logic - Advanced condition evaluation (IP address restrictions, string matching) - Resource and action matching with wildcard support (* patterns) - Explicit deny precedence (security-first approach) - Professional policy validation and error handling ✅ COMPREHENSIVE FEATURE SET: - Policy document validation with detailed error messages - Multi-resource and multi-action statement support - Conditional access based on request context (sourceIP, etc.) - Memory-based policy storage with deep copying for safety - Extensible condition operators (IpAddress, StringEquals, etc.) - Resource ARN pattern matching (exact, wildcard, prefix) ✅ SECURITY-FOCUSED DESIGN: - Explicit deny always wins (AWS IAM behavior) - Default deny when no policies match - Secure condition evaluation (unknown conditions = false) - Input validation and sanitization ✅ TEST COVERAGE DETAILS: - TestPolicyEngineInitialization: Configuration and setup validation - TestPolicyDocumentValidation: Policy document structure validation - TestPolicyEvaluation: Core Allow/Deny evaluation logic with edge cases - TestConditionEvaluation: IP-based access control conditions - TestResourceMatching: ARN pattern matching (wildcards, prefixes) - TestActionMatching: Service action matching (s3:*, filer:*, etc.) 🚀 PRODUCTION READY: Enterprise-grade policy engine ready for fine-grained access control in SeaweedFS with full AWS IAM compatibility. This completes Phase 3 of the Advanced IAM Development Plan  | 
						2 months ago |