releaser 07291f1a08
Unbound Release / Check Preconditions (push) Successful in 21s
Unbound Release / Create Tag (push) Skipped
Unbound Release / Generate Changelog and Handle PR (push) Successful in 25s
storage / test (push) Skipped
storage / vulnerabilities (push) Skipped
Unbound Release / Create Release (push) Successful in 25s
Release / release (push) Successful in 2m13s
pre-commit / pre-commit (push) Successful in 2m36s
chore(release): prepare for v0.4.3 (#180)
## [0.4.3] - 2026-08-09

### 🐛 Bug Fixes

- *(deps)* Update aws-sdk-go-v2 monorepo (#138)
- *(deps)* Update aws-sdk-go-v2 monorepo (#140)
- *(deps)* Update aws-sdk-go-v2 monorepo (#142)
- *(deps)* Update aws-sdk-go-v2 monorepo (#148)
- *(deps)* Update aws-sdk-go-v2 monorepo (#150)
- *(deps)* Update aws-sdk-go-v2 monorepo (#152)
- *(deps)* Update module github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager to v0.3.0 (#154)
- *(deps)* Update aws-sdk-go-v2 monorepo (#156)
- *(deps)* Update module github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager to v0.3.2 (#158)
- *(deps)* Update aws-sdk-go-v2 monorepo (#161)
- *(deps)* Update module github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager to v0.3.4 (#163)
- *(deps)* Update aws-sdk-go-v2 monorepo (#166)
- *(deps)* Update aws-sdk-go-v2 monorepo (#169)
- *(deps)* Update aws-sdk-go-v2 monorepo (#171)
- *(deps)* Update aws-sdk-go-v2 monorepo (#173)
- *(deps)* Update aws-sdk-go-v2 monorepo (#175)
- *(deps)* Update aws-sdk-go-v2 monorepo (#177)
- *(deps)* Update aws-sdk-go-v2 monorepo (#179)

### ⚙️ Miscellaneous Tasks

- *(deps)* Update actions/checkout action to v7 (#144)
- *(deps)* Update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.26.0 (#146)
- *(deps)* Update actions/setup-go action to v7 (#160)
- *(deps)* Update actions/setup-python action to v7 (#165)

<!-- generated by git-cliff -->

---

**Note:** Please use **Squash Merge** when merging this PR.

Reviewed-on: #180
Co-authored-by: Unbound Releaser <releaser@unbound.se>
2026-08-11 09:42:27 +00:00

Storage Module

Shared storage utilities for AWS S3.

Features

  • S3 object storage with presigned URL generation
  • Two upload strategies: managed uploads (for large files) and direct uploads
  • Configurable part size for multipart uploads
  • 15-minute presigned URL expiration

Usage

import "gitea.unbound.se/unboundsoftware/storage"

// Create storage with automatic AWS config loading
s3Storage, err := storage.New("my-bucket")
if err != nil {
    // handle error
}

// Upload a file and get a presigned URL
url, err := s3Storage.Store("path/to/file.pdf", fileReader, "application/pdf")

Using Direct Upload (for smaller files or custom config)

import (
    "github.com/aws/aws-sdk-go-v2/config"
    "git.unbound.se/unboundsoftware/storage"
)

// Load custom AWS config
cfg, err := config.LoadDefaultConfig(context.Background())
if err != nil {
    // handle error
}

// Create storage with custom config
s3Storage := storage.NewS3(cfg, "my-bucket")

// Upload a file and get a presigned URL
url, err := s3Storage.Store("path/to/file.pdf", fileReader, "application/pdf")

Configuration

The storage module uses AWS SDK v2 and loads configuration from:

  • Environment variables (AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
  • Shared configuration files (~/.aws/config, ~/.aws/credentials)
  • IAM roles (when running on AWS infrastructure)
S
Description
No description provided
Readme
531 KiB
v0.4.4
Latest
2026-08-29 11:33:59 +00:00
Languages
Go 99.6%
JavaScript 0.4%