Repository navigation
Expand file tree
/
Copy path.rr.yaml.example
More file actions
130 lines (114 loc) · 3.57 KB
/
Copy path.rr.yaml.example
File metadata and controls
130 lines (114 loc) · 3.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Example RoadRunner Configuration with S3 Plugin
# Server configuration
server:
command: "php worker.php"
relay: pipes
# RPC configuration for plugin communication
rpc:
listen: tcp://127.0.0.1:6001
# S3 Plugin Configuration
s3:
# Default bucket to use when bucket name is not specified
default: uploads
# Server definitions: credentials and endpoints that can be shared between buckets
servers:
# AWS S3 server configuration
aws-us-east:
region: us-east-1
endpoint: "" # Leave empty for AWS S3 (uses default AWS endpoint)
credentials:
key: ${AWS_ACCESS_KEY_ID}
secret: ${AWS_SECRET_ACCESS_KEY}
token: ${AWS_SESSION_TOKEN} # Optional, for temporary credentials
# AWS S3 different region
aws-eu-west:
region: eu-west-1
endpoint: ""
credentials:
key: ${AWS_EU_ACCESS_KEY_ID}
secret: ${AWS_EU_SECRET_ACCESS_KEY}
# MinIO server
minio-local:
region: us-east-1 # MinIO requires a region value
endpoint: http://localhost:9000
credentials:
key: minioadmin
secret: minioadmin
# DigitalOcean Spaces
do-spaces-nyc:
region: nyc3
endpoint: https://nyc3.digitaloceanspaces.com
credentials:
key: ${DO_SPACES_KEY}
secret: ${DO_SPACES_SECRET}
# Backblaze B2 (S3-compatible)
backblaze-us:
region: us-west-002
endpoint: https://s3.us-west-002.backblazeb2.com
credentials:
key: ${B2_APPLICATION_KEY_ID}
secret: ${B2_APPLICATION_KEY}
# Bucket definitions: reference servers and define bucket-specific settings
buckets:
# Public uploads bucket on AWS S3
uploads:
server: aws-us-east # References server from servers section
bucket: my-app-uploads # Actual S3 bucket name
prefix: "uploads/" # Optional: path prefix for all operations
visibility: public # Default ACL: "public" or "private"
max_concurrent_operations: 100 # Limit concurrent operations per bucket
part_size: 5242880 # 5MB - multipart upload chunk size
concurrency: 5 # Goroutines for multipart uploads
# Private documents bucket (same AWS account, different bucket)
documents:
server: aws-us-east
bucket: my-app-private-docs
prefix: "documents/"
visibility: private
max_concurrent_operations: 50
# User avatars in EU region
avatars:
server: aws-eu-west
bucket: user-avatars-eu
prefix: "avatars/"
visibility: public
max_concurrent_operations: 200
# Development bucket on local MinIO
dev-storage:
server: minio-local
bucket: dev-bucket
prefix: "" # No prefix
visibility: public
max_concurrent_operations: 50
# DigitalOcean Spaces bucket
cdn-assets:
server: do-spaces-nyc
bucket: cdn-assets-bucket
prefix: "static/"
visibility: public
max_concurrent_operations: 100
# Backblaze B2 for backups
backups:
server: backblaze-us
bucket: application-backups
prefix: "daily/"
visibility: private
max_concurrent_operations: 20
part_size: 104857600 # 100MB - larger chunks for big backup files
concurrency: 10
# Logging
logs:
level: info
encoding: console
output: stdout
err_output: stderr
# Optional: HTTP server for health checks
http:
address: 127.0.0.1:8080
max_request_size: 256
middleware: []
pool:
num_workers: 4
max_jobs: 0
allocate_timeout: 60s
destroy_timeout: 60s