2019-06-05 15:51:01 +02:00
---
title: Blob
series: customization
2019-08-19 15:59:49 +02:00
hideFromIndex: true
weight: 114
2019-06-05 15:51:01 +02:00
---
## Customization
```yaml
# .goreleaser.yml
2019-08-02 21:17:38 +02:00
blobs:
2019-06-05 15:51:01 +02:00
# You can have multiple blob configs
-
# Template for the cloud provider name
# s3 for AWS S3 Storage
# azblob for Azure Blob Storage
# gs for Google Cloud Storage
provider: azblob
2019-06-09 21:51:24 +02:00
2019-11-20 18:08:25 +02:00
# Set a custom endpoint, useful if you're using a minio backend or
# other s3-compatible backends.
# Implies s3ForcePathStyle and requires provider to be `s3`
endpoint: https://minio.foo.bar
2019-12-27 19:18:41 +02:00
# Sets the bucket region.
# Requires provider to be `s3`
# Defaults to empty.
region: us-west-1
# Disables SSL
# Requires provider to be `s3`
# Defaults to false
disableSSL: true
2019-06-05 15:51:01 +02:00
# Template for the bucket name
bucket: goreleaser-bucket
2019-06-09 21:51:24 +02:00
# IDs of the artifacts you want to upload.
ids:
- foo
- bar
2019-06-05 15:51:01 +02:00
# Template for the path/name inside the bucket.
# Default is `{{ .ProjectName }}/{{ .Tag }}`
folder: "foo/bar/{{.Version}}"
-
provider: gs
bucket: goreleaser-bucket
folder: "foo/bar/{{.Version}}"
-
provider: s3
bucket: goreleaser-bucket
folder: "foo/bar/{{.Version}}"
```
> Learn more about the [name template engine](/templates).
## Authentication
2019-06-28 15:07:22 +02:00
Goreleaser's blob pipe authentication varies depending upon the blob provider as mentioned below:
2019-06-05 15:51:01 +02:00
2019-06-28 13:51:19 +02:00
### S3 Provider
2019-06-05 15:51:01 +02:00
2019-06-28 13:51:19 +02:00
S3 provider support AWS [default credential provider ](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials ) chain in the following order:
2019-06-05 15:51:01 +02:00
2019-06-28 13:51:19 +02:00
- Environment variables.
- Shared credentials file.
2019-08-02 21:17:38 +02:00
- If your application is running on an Amazon EC2 instance, IAM role for Amazon EC2.
2019-06-28 13:51:19 +02:00
### Azure Blob Provider
Currently it supports authentication only with [environment variables ](https://docs.microsoft.com/en-us/azure/storage/common/storage-azure-cli#set-default-azure-storage-account-environment-variables ):
2019-06-05 15:51:01 +02:00
- AZURE_STORAGE_ACCOUNT
2019-06-28 13:51:19 +02:00
- AZURE_STORAGE_KEY or AZURE_STORAGE_SAS_TOKEN
2019-06-05 15:51:01 +02:00
### [GCS Provider](https://cloud.google.com/docs/authentication/production)
2019-06-28 13:51:19 +02:00
GCS provider uses [Application Default Credentials ](https://cloud.google.com/docs/authentication/production ) in the following order:
- Environment Variable (GOOGLE_APPLICATION_CREDENTIALS)
- Default Service Account from the compute instance(Compute Engine, Kubernetes Engine, Cloud function etc).
2020-01-26 17:25:27 +02:00
### ACLs
There is no common way to set ACLs across all bucket providers, so, [go-cloud][]
[does not support it yet][issue1108].
You are expected to set the ACLs on the bucket/folder/etc, depending on your
provider.
[go-cloud]: https://gocloud.dev/howto/blob/
[issue1108]: https://github.com/google/go-cloud/issues/1108