Skip to content

vango-go/vango-s3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vango-s3

vango-s3 is the S3-compatible object storage integration for Vango applications.

It implements the upload lifecycle contract described in S3_INTEGRATION_SPEC.md:

  1. CreateUploadIntent (validate constraints + presign PUT + mint signed intent token)
  2. direct or proxied upload to temp key
  3. ClaimUpload (verify token + tenant scope + object constraints + conditional promote)

Install

go get github.com/vango-go/vango-s3

Quickstart

store, err := s3store.New(context.Background(), s3store.Config{
    Endpoint:        os.Getenv("S3_ENDPOINT"),
    AccessKeyID:     os.Getenv("S3_ACCESS_KEY_ID"),
    SecretAccessKey: os.Getenv("S3_SECRET_ACCESS_KEY"),
    Bucket:          os.Getenv("S3_BUCKET"),
    Region:          os.Getenv("S3_REGION"),
    IntentSecret:    os.Getenv("S3_INTENT_SECRET"),
})
if err != nil {
    panic(err)
}
defer store.Close()

For full API details, behavior contracts, and security notes, use:

  • S3_INTEGRATION_SPEC.md
  • package docs in code (types.go, config.go, test_store.go)

If you customize key roots (TempKeyPrefix / FileKeyPrefix), use the explicit *WithPrefix key helpers (for example FinalKeyWithPrefix(...)) so generated keys match claim-time scope checks.

To route lifecycle structured logs (s3_intent_created, s3_claim_attempt, s3_promote_operation) into your app logger pipeline, set Config.Logger (otherwise vango-s3 uses slog.Default()).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages