{ "Serilog": { "Using": [ "Serilog.Sinks.Console" ], "MinimumLevel": { "Default": "Information", "Override": { "Microsoft": "Warning", "System": "Information" } }, "WriteTo": [ { "Name": "Console" } ], "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ], "Properties": { "Application": "UnrealCloudDDC" } }, "Mongo": { "ConnectionString": "mongodb://root:abc123@localhost:27018" }, "Scylla": { "LocalDatacenterName": "datacenter1", "LocalKeyspaceSuffix": "test" }, "UnrealCloudDDC": { "StorageImplementations": [ "memory" ], "RequirePrivatePortForEnumeration": false }, "GC": { "BlobCleanupServiceEnabled": false, "CleanOldBlobs": false, "CleanOldRefRecords": false }, "S3": { // use a local S3 emulation when running the tests "ConnectionString": "http://127.0.0.1:9000", "ForceAWSPathStyle": true, // required by minio, "AssumeHttpForRedirectUri": true, // minio runs over http but AWS SDK generates https links for redirect uris, force them to http "SetBucketPolicies": false, // minio does not support bucket access policies "BucketPrefix": "tests" }, "AWSCredentials": { // minio and health checks expect access keys to have been set // note that these credentials are not actually real credentials but rather something as we pass into minio when starting it "AwsAccessKey": "FSYPTVCPKC2IV5D1U8RE", "AwsSecretKey": "WaUf4Zq+J6YMlvbCVvTRkQJIPc7DvZwTm5UP0tPJ" }, "Azure": { "ConnectionString": "DefaultEndpointsProtocol=https;BlobEndpoint=http://localhost:11002/blobaccount;AccountName=blobaccount;AccountKey=iU6uTvlF1ysppmft+NO5lAD0E3hwrAORr5Rb5xcBWUgEz/OicrSkFxwZYMNK5XL29/wXZKGOoOVSW040nAOfPg==" }, "Auth": { "Enabled": false, "RequireAcls": true, "Policies": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "EnumerateBucket", "DeleteObject", "DeleteBucket", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ], "Scope": { "Namespaces": [ { "values": [ "test-builds-scylla", "test-builds-memory", "test-builds-copy-scylla", "test-builds-copy-memory" ] } ], "Buckets": [ /* access to all buckets except the ones that end with secret-platform */ { "values": [ "secret-platform" ], "match": ".*\\..*\\..*\\.(.*)", "not": true } ] } }, { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "EnumerateBucket" ], "Scope": { "Namespaces": [ { "values": [ "test-builds-wildcard" ] } ], "Buckets": [ { "values": [ "*" ] } ] } } ] }, "Namespaces": { "Policies": { "ue4.ddc": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject" ] } ] }, "TestNamespace": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject" ] } ] }, "test-namespace": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ] } ] }, "test-namespace-scylla": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ] } ] }, "test-namespace-mongo": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ] } ] }, "test-namespace-memory": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ] } ] }, "test-namespace-cassandra": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ] } ] }, "test-namespace-replication": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ] } ] }, "test-namespace-enumeration": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "ReadTransactionLog", "WriteTransactionLog", "AdminAction", "EnumerateBucket" ] } ] }, "test-namespace-bundle": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ] } ], "UseContentAddressedStorage": false, "AllowRedirectUris": true }, "test-namespace-bypass-cache": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ] } ], "BypassCacheOnWrite": true }, "test-namespace-redirect": { "AllowRedirectUris": true, "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ] } ] }, "delete-namespace": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject" ] } ] }, "test-delete-namespace": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace" ] } ] }, "test-namespace-delete-cassandra": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace" ] } ] }, "test-namespace-delete-mongo": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace" ] } ] }, "test-namespace-delete-scylla": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace" ] } ] }, "test-namespace-delete-memory": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace" ] } ] }, "test-namespace-no-overwrite-memory": { "AllowOverwritesOfRefs": false, "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace" ] } ] }, "test-namespace-no-overwrite-mongo": { "AllowOverwritesOfRefs": false, "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace" ] } ] }, "test-namespace-no-overwrite-scylla": { "AllowOverwritesOfRefs": false, "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace" ] } ] }, "test-namespace-no-overwrite-cassandra": { "AllowOverwritesOfRefs": false, "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace" ] } ] }, "test-builds-scylla": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace", "ReadTransactionLog", "WriteTransactionLog", "AdminAction", "EnumerateBucket" ] } ], "UseBlobIndexForExists": true }, "test-builds-copy-scylla": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace", "ReadTransactionLog", "WriteTransactionLog", "AdminAction", "EnumerateBucket" ] } ], "UseBlobIndexForExists": true }, "test-builds-memory": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "DeleteNamespace", "ReadTransactionLog", "WriteTransactionLog", "AdminAction", "EnumerateBucket" ] } ] }, "testbucket": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject" ] } ] }, "test-blobindex-memory": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject" ] } ] }, "test-blobindex-list-memory": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject" ] } ] }, "test-blobindex-mongo": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject" ] } ] }, "test-blobindex-list-mongo": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject" ] } ] }, "test-blobindex-cassandra": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject" ] } ] }, "test-blobindex-list-cassandra": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject" ] } ] }, "test-blobindex-scylla": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject" ] } ] }, "test-blobindex-list-scylla": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject" ] } ] }, "test-namespace-last-access": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject" ] } ] }, "test-namespace-gcref": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ] } ] }, "test-namespace-gcref-sharded": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ] } ] }, "test-symbols-memory": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ] } ] }, "test-symbols-scylla": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject", "DeleteObject", "DeleteBucket", "ReadTransactionLog", "WriteTransactionLog", "AdminAction" ] } ] }, "snapshot-namespace": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject" ] } ] }, "first-namespace": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject" ] } ], "FallbackNamespace": "fallback-namespace" }, "fallback-namespace": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject" ] } ] }, "second-namespace": { "Acls": [ { "Claims": [ "*" ], "Actions": [ "ReadObject", "WriteObject" ] } ], "FallbackNamespace": "fallback-namespace-no-auth" }, "fallback-namespace-no-access": { // no acls mapped "Acls": { } } } }, "AllowedHosts": "*", "Jupiter": { "CurrentSite": "test", "AssumeLocalConnectionsHasFullAccess": "true", "InternalApiPorts": [ 0 ] // consider all traffic as internal traffic so we can each the replication endpoints }, "Kestrel": { "Endpoints": { "Http": { "Url": "http://localhost:57001" }, "Http2": { "Url": "http://localhost:57002", "Protocols": "Http2" } } } }