Remote Storage
| Component | Available in version |
|---|---|
| Organization | v1.0 |
By default, zone file content is stored on the Organization Server's local disk. Enabling remote storage moves that content to an S3-compatible bucket instead. This is useful when local disk space is a constraint, or when storage needs to scale independently of the server itself. Remote storage is an optional plugin.
Prerequisites
- An S3-compatible bucket.
- Access credentials for that bucket.
The access credentials must be authorized for the following S3 permissions on the bucket:
| Permission | Purpose |
|---|---|
PutObject |
Upload zone file content to the bucket |
GetObject |
Download zone file content from the bucket |
DeleteObject |
Delete zone file content from the bucket |
ListBucket |
List the objects stored in the bucket |
CreateBucket |
Create the bucket. Only needed if the bucket is not already created beforehand |
Configuration
- Enable remote storage by setting
remote_storage.enabled=trueinmain/config/server.config. - Configure
remote_storage.provider,remote_storage.endpoint, andremote_storage.bucketin the same file. See server.config for the full property list. Note that the bucket name must be unique per Organization — the main component's UUID is recommended, since it is already guaranteed unique. Optionally, setremote_storage.self_test_on_startto verify the connection to the bucket on every startup. - Add the S3 access key and secret key to
main/config/remote-storage-credentials.properties. See remote-storage-credentials.properties. - Restart the
maincomponent for the configuration to take effect.
Example configuration
remote_storage.enabled=true
remote_storage.bucket=ex4mpl31-8d4f-4c9b-a2e3-7f5c1b9d3e6a
remote_storage.provider=SafeSpring
remote_storage.endpoint=s3.sto2.safedc.net
remote_storage.credentials=/config/remote-storage-credentials.properties
accessKey=EXMPL1234567890ABCD
secretKey=ExAmPlEsEcReTkEy1234567890abcdefghijkl