Overview
All SDK runtime settings live on ResonTechConfig. Construct one and pass it to ResonTech(config).
Required Fields
| Field | Type | Description |
|---|---|---|
| base_url | str | Base URL of the REST API. Trailing slash is stripped. |
| str | Account email. | |
| password | str | Account password. |
| s3_access_key_id | str | Access key ID issued when you provisioned the bucket. |
| s3_secret_access_key | str | Secret key shown once at bucket creation. Rotate from Profile → Storage if lost. |
Optional Fields (with Defaults)
| Field | Default | Description |
|---|---|---|
| s3_bucket_alias | "" | Bucket alias. Auto-resolved on login from GET /api/users/storage/bucket if empty. |
| s3_endpoint | "https://s3.reson.tech" | S3-compatible endpoint URL. Override for staging, self-hosted, or local MinIO. |
| s3_region | "garage" | Region label. Garage ignores it but boto3 requires a value. |
| dashboard_url | "https://app.reson.tech" | Web UI base. Used to build job.dashboard_url. Match your deployment. |
Environment-Variable Pattern
The dataclass itself doesn't read env vars — that's up to you. A common pattern:
Self-Hosted / Staging Example
Rotating a Leaked Secret Key
If you committed the secret by accident or suspect compromise:
- Open Profile → Storage in the web UI.
- Click Rotate Key — revokes the old key and returns a new
secretAccessKeyonce. - Paste the new secret into your
ResonTechConfig.
i
The old key stops working immediately; any in-flight upload will fail with
InvalidAccessKeyId.Reading the Bucket Alias Programmatically
If you'd rather resolve the bucket alias yourself without logging in through the SDK, the backend exposes it at:
The SDK calls this automatically on sdk.login() unless you set s3_bucket_alias up front.