Serves S3 proxy on port :9669. Routes S3 requests to storages from config based on routing policy and creates replication tasks for worker based on replication policy.
Set storage and Redis credentials in config.yaml and run.
Important
Both Proxy and Worker should have the same Redis and storage configuration.
Manage replication policies with CLI.
Note
Worker is required to use CLI. Deploy worker and provide worker gRPC API address to CLI.
With CLI:
- Check current replication state:
chorctl dash - List buckets for replication:
chorctl repl buckets -f <from> -t <to> -u <user> - Create replication:
chorctl repl add -f <from> -t <to> -u <user> -b <bucket>
See config.yaml for all options.
For Swift storage, Proxy configuration differs from Worker:
- Worker needs
authURLand full Keystone credentials - Proxy only needs
storageURL(direct Swift endpoint)
When using Helm, specify Swift storage separately in proxy.config.storage and worker.config.storage.
For S3, Proxy supports S3 signature v4, presigned (query string) v4 URLs, and v2 (v2 can be enabled). See auth section in config.yaml:
auth.useStorage- use credentials from a configured storageauth.custom- use custom credentials for proxy endpoint
For SWIFT, proxy does not perform authentication itself. It checks response status from forwarded requests to Swift storage.