DigitalOcean Spaces
Synopsis
Creates a target that writes log messages to DigitalOcean Spaces with support for various file formats and authentication methods. The target handles large file uploads efficiently with configurable rotation based on size or event count. DigitalOcean Spaces provides simple, scalable object storage with built-in CDN integration.
Schema
- name: <string>
description: <string>
type: digitaloceans3
pipelines: <pipeline[]>
status: <boolean>
properties:
key: <string>
secret: <string>
session: <string>
region: <string>
endpoint: <string>
part_size: <numeric>
bucket: <string>
buckets:
- bucket: <string>
name: <string>
format: <string>
compression: <string>
extension: <string>
schema: <string>
name: <string>
format: <string>
compression: <string>
extension: <string>
schema: <string>
max_size: <numeric>
batch_size: <numeric>
timeout: <numeric>
field_format: <string>
debug:
status: <boolean>
dont_send_logs: <boolean>
Configuration
The following fields are used to define the target:
| Field | Required | Default | Description |
|---|---|---|---|
name | Y | Target name | |
description | N | - | Optional description |
type | Y | Must be digitaloceans3 | |
pipelines | N | - | Optional post-processor pipelines |
status | N | true | Enable/disable the target |
DigitalOcean Spaces Credentials
| Field | Required | Default | Description |
|---|---|---|---|
key | Y | - | DigitalOcean Spaces access key |
secret | Y | - | DigitalOcean Spaces secret key |
session | N | - | STS temporary session token (for short-lived credentials) |
region | Y | - | DigitalOcean region (e.g., nyc3, sfo3, ams3, sgp1) |
endpoint | Y | - | Spaces endpoint URL (format: https://<region>.digitaloceanspaces.com) |
Connection
| Field | Required | Default | Description |
|---|---|---|---|
part_size | N | 5 | Multipart upload part size in megabytes (minimum 5MB) |
timeout | N | 30 | Connection timeout in seconds |
field_format | N | - | Data normalization format. See applicable Normalization section |
Files
| Field | Required | Default | Description |
|---|---|---|---|
bucket | N* | - | Default Spaces bucket name (used if buckets not specified) |
buckets | N* | - | Array of bucket configurations for file distribution |
buckets.bucket | Y | - | Spaces bucket name |
buckets.name | Y | - | File name template |
buckets.format | N | "json" | Output format: json, multijson, avro, parquet |
buckets.compression | N | - | Compression algorithm. See the Compression section below |
buckets.extension | N | Matches format | File extension override |
buckets.schema | N* | - | Schema reference (required for Avro and Parquet formats) |
name | N | "vmetric.{{.Timestamp}}.{{.Extension}}" | Default file name template when buckets not used |
format | N | "json" | Default output format when buckets not used |
compression | N | zstd | Default compression when buckets not used |
extension | N | Matches format | Default file extension when buckets not used |
schema | N | - | Default schema reference when buckets not used |
max_size | N | 33554432 | Maximum file size in bytes before rotation (default 32MB) |
batch_size | N | 100000 | Maximum number of messages per file |
* = Either bucket or buckets must be specified. When using buckets, schema is conditionally required for Avro and Parquet formats.
When max_size is reached, the current file is uploaded to Spaces and a new file is created. Setting max_size to 0 does not disable rotation — an explicit 0 is replaced by the 32 MB default (MustInt64), so there is no unlimited setting. Raise the value instead.
Scheduling
See Scheduling and Pool Behavior for interval and cron fields shared by all targets.
Debug Options
| Field | Required | Default | Description |
|---|---|---|---|
debug.status | N | false | Enable debug logging |
debug.dont_send_logs | N | false | Process logs but don't send to target (testing) |
Details
The DigitalOcean Spaces target provides simple, developer-friendly object storage with comprehensive file format support. Spaces includes built-in CDN functionality powered by DigitalOcean's global network for fast content delivery.
Authentication
Requires DigitalOcean Spaces access credentials. Access keys can be generated through the DigitalOcean Control Panel under API settings. Each key provides full access to all Spaces in the account.
Endpoint Configuration
The endpoint URL follows the pattern https://<region>.digitaloceanspaces.com where <region> is your chosen DigitalOcean datacenter location.
Available Regions
DigitalOcean Spaces is available in the following regions:
| Region Code | Location |
|---|---|
nyc3 | New York City, USA |
sfo3 | San Francisco, USA |
ams3 | Amsterdam, Netherlands |
sgp1 | Singapore |
fra1 | Frankfurt, Germany |
syd1 | Sydney, Australia |