Browse Source
refactor: simplify configuration by using constants for default base paths
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 accordinglypull/7160/head
8 changed files with 33 additions and 40 deletions
-
13test/s3/iam/iam_config_distributed.json
-
20weed/iam/integration/iam_integration_test.go
-
16weed/iam/integration/iam_manager.go
-
2weed/iam/integration/role_store.go
-
2weed/iam/policy/policy_store.go
-
2weed/s3api/s3_end_to_end_test.go
-
16weed/s3api/s3_iam_middleware.go
-
2weed/s3api/s3api_server.go
Write
Preview
Loading…
Cancel
Save
Reference in new issue