pub struct BlobConfig {Show 20 fields
pub id: Option<String>,
pub provider: String,
pub bucket: String,
pub directory: Option<String>,
pub region: Option<String>,
pub endpoint: Option<String>,
pub disable_ssl: Option<bool>,
pub s3_force_path_style: Option<bool>,
pub acl: Option<String>,
pub cache_control: Option<Vec<String>>,
pub content_disposition: Option<String>,
pub kms_key: Option<String>,
pub ids: Option<Vec<String>>,
pub skip: Option<StringOrBool>,
pub include_meta: Option<bool>,
pub extra_files: Option<Vec<ExtraFileSpec>>,
pub templated_extra_files: Option<Vec<TemplatedExtraFile>>,
pub extra_files_only: Option<bool>,
pub parallelism: Option<usize>,
pub required: Option<bool>,
}Fields§
§id: Option<String>Unique identifier for this blob config.
provider: StringCloud storage provider: s3, gcs (or gs), or azblob (or azure).
bucket: StringBucket or container name (supports templates).
directory: Option<String>Directory/folder within the bucket (supports templates).
Default: {{ ProjectName }}/{{ Tag }}.
region: Option<String>AWS region (S3 only).
endpoint: Option<String>Custom endpoint URL for S3-compatible storage (e.g. MinIO, R2, DO Spaces).
disable_ssl: Option<bool>Disable SSL for the connection (S3 only, default: false).
s3_force_path_style: Option<bool>Enable path-style addressing for S3-compatible backends.
Defaults to true when endpoint is set (MinIO, R2, DO Spaces need this),
false otherwise (standard AWS virtual-hosted style).
acl: Option<String>Canned ACL for uploaded objects.
S3: one of private (default), public-read, public-read-write,
authenticated-read, aws-exec-read, bucket-owner-read,
bucket-owner-full-control. Matches GoReleaser’s accepted set;
AWS’s log-delivery-write is intentionally omitted because it is only
valid on S3LogBucket targets and would silently fail on a normal bucket.
GCS: pass the camelCase predefined-ACL name (e.g. publicRead,
bucketOwnerFullControl); not validated up-front, so a typo surfaces
as a 400 from the GCS API at upload time.
cache_control: Option<Vec<String>>HTTP Cache-Control header values, joined with “, “ when uploading. Accepts a string (single value) or array of strings in YAML.
content_disposition: Option<String>HTTP Content-Disposition header (supports templates).
Default: "attachment;filename={{Filename}}". Set to "-" to disable.
kms_key: Option<String>AWS KMS encryption key for server-side encryption (S3 only).
ids: Option<Vec<String>>Build IDs to include. Empty means all artifacts.
skip: Option<StringOrBool>Skip this blob config. Accepts bool or template string
(e.g. "{{ if IsSnapshot }}true{{ endif }}" for conditional skip).
include_meta: Option<bool>Also upload metadata.json and artifacts.json.
extra_files: Option<Vec<ExtraFileSpec>>Pre-existing files to upload (supports glob patterns).
templated_extra_files: Option<Vec<TemplatedExtraFile>>Extra files whose contents are rendered through the template engine before upload.
Unlike extra_files which copy as-is, template variables like {{ .Tag }} are expanded.
GoReleaser Pro feature.
extra_files_only: Option<bool>Upload only extra files (skip artifacts).
parallelism: Option<usize>Maximum number of parallel uploads for this blob config.
Overrides the global --parallelism setting when set.
required: Option<bool>When true, a failed blob upload counts as a required-publisher
failure: trips the submitter gate (chocolatey/winget/snapcraft/aur
don’t run if blob failed) and surfaces in
report.required_failures() so the CLI exits non-zero.
Default: false. Snapshot release pipelines typically don’t
require blobs; production pipelines that ship binaries via S3/GCS
often do.
When multiple blob configs exist, the blob stage records ONE
aggregated PublisherResult: required = true if ANY config opted
in. Same semantics as “any required blob target failing should
fail the release.”
Trait Implementations§
Source§impl Clone for BlobConfig
impl Clone for BlobConfig
Source§fn clone(&self) -> BlobConfig
fn clone(&self) -> BlobConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BlobConfig
impl Debug for BlobConfig
Source§impl Default for BlobConfig
impl Default for BlobConfig
Source§fn default() -> BlobConfig
fn default() -> BlobConfig
Source§impl<'de> Deserialize<'de> for BlobConfigwhere
BlobConfig: Default,
impl<'de> Deserialize<'de> for BlobConfigwhere
BlobConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for BlobConfig
impl JsonSchema for BlobConfig
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read more