Merge pull request #71 from h5vx/feature/per-bucket-cors

feat: per-bucket CORS configuration with S3 ?cors enforcement\n\nRelease hardening and site-replication convergence follow-up: #75.
This commit is contained in:
Feng Ruohang
2026-08-28 10:34:52 +08:00
committed by GitHub
16 changed files with 1269 additions and 102 deletions
@@ -41,6 +41,7 @@
"github.com/minio/minio/internal/auth",
"github.com/minio/minio/internal/bpool",
"github.com/minio/minio/internal/bucket/bandwidth",
"github.com/minio/minio/internal/bucket/cors",
"github.com/minio/minio/internal/bucket/encryption",
"github.com/minio/minio/internal/bucket/lifecycle",
"github.com/minio/minio/internal/bucket/object/lock",
@@ -857,6 +858,7 @@
"/minio/health/cluster/read",
"/minio/health/live",
"/minio/health/ready",
"/mybucket/obj",
"/myobject*",
"/netperf",
"/newfolder",
@@ -1708,6 +1710,8 @@
"cmd:cmd:field:BucketMetadata.BucketTargetsConfigMetaJSON",
"cmd:cmd:field:BucketMetadata.BucketTargetsConfigMetaUpdatedAt",
"cmd:cmd:field:BucketMetadata.BucketTargetsConfigUpdatedAt",
"cmd:cmd:field:BucketMetadata.CorsConfigUpdatedAt",
"cmd:cmd:field:BucketMetadata.CorsConfigXML",
"cmd:cmd:field:BucketMetadata.Created",
"cmd:cmd:field:BucketMetadata.EncryptionConfigUpdatedAt",
"cmd:cmd:field:BucketMetadata.EncryptionConfigXML",
@@ -3127,6 +3131,8 @@
"cmd:cmd:method:BucketMetadataSys.GetBucketTargetsConfig",
"cmd:cmd:method:BucketMetadataSys.GetConfig",
"cmd:cmd:method:BucketMetadataSys.GetConfigFromDisk",
"cmd:cmd:method:BucketMetadataSys.GetCorsConfig",
"cmd:cmd:method:BucketMetadataSys.GetCorsConfigXML",
"cmd:cmd:method:BucketMetadataSys.GetLifecycleConfig",
"cmd:cmd:method:BucketMetadataSys.GetNotificationConfig",
"cmd:cmd:method:BucketMetadataSys.GetObjectLockConfig",
@@ -4032,6 +4038,7 @@
"cmd:cmd:method:SiteReplicationSys.Netperf",
"cmd:cmd:method:SiteReplicationSys.PeerAddPolicyHandler",
"cmd:cmd:method:SiteReplicationSys.PeerBucketConfigureReplHandler",
"cmd:cmd:method:SiteReplicationSys.PeerBucketCorsConfigHandler",
"cmd:cmd:method:SiteReplicationSys.PeerBucketDeleteHandler",
"cmd:cmd:method:SiteReplicationSys.PeerBucketLCConfigHandler",
"cmd:cmd:method:SiteReplicationSys.PeerBucketMakeWithVersioningHandler",
@@ -5873,6 +5880,23 @@
"internal/bucket/bandwidth:bandwidth:type:MonitorReaderOptions",
"internal/bucket/bandwidth:bandwidth:type:MonitoredReader",
"internal/bucket/bandwidth:bandwidth:type:SelectionFunction",
"internal/bucket/cors:cors:field:Config.CORSRules",
"internal/bucket/cors:cors:field:Config.XMLName",
"internal/bucket/cors:cors:field:Rule.AllowedHeaders",
"internal/bucket/cors:cors:field:Rule.AllowedMethods",
"internal/bucket/cors:cors:field:Rule.AllowedOrigins",
"internal/bucket/cors:cors:field:Rule.ExposeHeaders",
"internal/bucket/cors:cors:field:Rule.ID",
"internal/bucket/cors:cors:field:Rule.MaxAgeSeconds",
"internal/bucket/cors:cors:func:ParseBucketCorsConfig",
"internal/bucket/cors:cors:method:Config.MatchPreflight",
"internal/bucket/cors:cors:method:Config.MatchRule",
"internal/bucket/cors:cors:method:Config.Validate",
"internal/bucket/cors:cors:method:Rule.FilterAllowedHeaders",
"internal/bucket/cors:cors:method:Rule.HasAllowedMethod",
"internal/bucket/cors:cors:method:Rule.HasAllowedOrigin",
"internal/bucket/cors:cors:type:Config",
"internal/bucket/cors:cors:type:Rule",
"internal/bucket/encryption:sse:const:AES256",
"internal/bucket/encryption:sse:const:AWSKms",
"internal/bucket/encryption:sse:field:ApplyOptions.AutoEncrypt",