⚡️ Store Turborepo remote cache in your S3 bucket

Overview

turborepo-s3-remote-cache

HTTP server to store Turborepo remote cache to an AWS S3 bucket.

⚠️ Do not use in production ⚠️

Configuration

Environment variable Description
TURBOREPO_ALLOWED_TOKENS Required. Allowed tokens for Turborepo authentication. Comma separated list
AWS_REGION Required. Region of the S3 Bucket
AWS_ACCESS_KEY_ID Required. Access key ID
AWS_SECRET_ACCESS_KEY Required. Secret access key
AWS_ENDPOINT Leave empty for default AWS endpoint. Customize for S3 compatible storage (e.g. min.io)
AWS_DISABLE_SSL Disable SSL in the AWS SDK
AWS_S3_BUCKET Default: turborepo-cache
AWS_S3_FORCE_PATH_STYLE Use legacy path for S3 objects
GIN_TRUSTED_PROXIES See Gin docs for more info. Comma separated list

For more info take a look at the AWS guide on configuring the SDK

Running

With Docker

docker run ghcr.io/acifani/turborepo-s3-remote-cache:latest

Check out all available tags in the Packages page.

From pre-built binaries

Download a binary from the Release page, unpackage it and run it.

Binaries are available for Windows, MacOS, Linux in amd64 and arm64

From source

git clone https://github.com/acifani/turborepo-s3-remote-cache.git
cd turborepo-s3-remote-cache
go build ./...
./turborepo-s3-remote-cache

Usage

You will need to configure the API endpoint and the auth token.

E.g.

turbo run build --api="http://localhost:8080" --token="t0k3n" --team="my-team"

If you provide a team name (recommended), the cache will be stored in a dedicated directory within the bucket.

Releases(v0.3.0)
Owner
Alessandro Cifani
Alessandro Cifani
Perkeep (née Camlistore) is your personal storage system for life: a way of storing, syncing, sharing, modelling and backing up content.

Perkeep is your personal storage system. It's a way to store, sync, share, import, model, and back up content. Keep your stuff for life. For more, see

Perkeep (née Camlistore) 5.8k Jan 17, 2022
Akutan is a distributed knowledge graph store, sometimes called an RDF store or a triple store.

Akutan is a distributed knowledge graph store, sometimes called an RDF store or a triple store. Knowledge graphs are suitable for modeling data that is highly interconnected by many types of relationships, like encyclopedic information about the world. A knowledge graph store enables rich queries on its data, which can be used to power real-time interfaces, to complement machine learning applications, and to make sense of new, unstructured information in the context of the existing knowledge.

eBay 1.6k Jan 17, 2022
🔥🔥 🌈 Golang configuration,use to Viper reading from remote Nacos config systems. Viper remote for Naocs.

Viper remote for Nacos Golang configuration,use to Viper reading from remote Nacos config systems. Viper remote for Naocs. runtime_viper := viper.New(

yoyofxteam 19 Dec 29, 2021
Slack remote terminal - execute commands on remote host using slack slash command

slackRT Slack remote terminal - execute commands on remote host using slack slash command Installation Go to api.slack.com/apps and sign in and create

null 1 Jan 16, 2022
A Lightweight "Remote Cache Access" (Rekas) Framework

Rekas 项目介绍 Rekas:一个轻量级分布式缓存系统 框架 ,解决缓存系统中出现的缓存击穿[锁机制]、缓存穿透[布隆过滤器]、缓存雪崩[分布式]问题,实现

null 4 Dec 26, 2021
This service provides authenticated access to a static website hosted in an s3 bucket.

website-openid-proxy This service provides OpenID authenticated access to a static website hosted in an s3 bucket. It is designed to be a simple way t

Mark Wolfe 21 Aug 31, 2021
Efficient token-bucket-based rate limiter package.

ratelimit -- import "github.com/juju/ratelimit" The ratelimit package provides an efficient token bucket implementation. See http://en.wikipedia.org/w

Juju 2.2k Jan 18, 2022
A Golang blocking leaky-bucket rate limit implementation

Go rate limiter This package provides a Golang implementation of the leaky-bucket rate limit algorithm. This implementation refills the bucket based o

Uber Go 2.8k Jan 15, 2022
An idiomatic Go implementation of Leaky bucket.

lbucket lbucket is an idiomatic Go leaky bucket implementation. The library make use of plain old Go stdlib; in other words, there are no third-party

Alex Rios 10 Jun 12, 2021
Bucket-ssh. A fuzzy ssh manager for managing and categorizing ssh connections.

Bssh is an ssh bucket for categorizing and automating ssh connections. Also, with parallel command execution and connection checks(pings) over categories (namespaces).

Furkan Aksoy 13 Sep 13, 2021
Put a web archive (WARC) on an S3 bucket suitable for hosting with S3 Website Hosting.

warc-to-s3 This is a small Go application that consumes a WARC file ( using slyzrc/warc) and puts it on S3 suitable for serving with S3 Website Hostin

Ian Dees 5 Jan 6, 2022
concurrent map implementation using bucket list like a skip list.

Skip List Map in Golang Skip List Map is an ordered and concurrent map. this Map is goroutine safety for reading/updating/deleting, no-require locking

Kazuhisa TAKEI 3 Dec 28, 2021
Empty an S3 bucket as fast as possible 💨

s3-destroyer Iteratively calls ListObjects, add objects keys to a buffer and calls DeleteObject in goroutines. Usage -access-key string s3 a

Stanislas 2 Dec 13, 2021
Go REST API - Bucket list - built with go-chi, Docker, and PostgreSQL

Go REST API - Bucket list - built with go-chi, Docker, and PostgreSQL Requirements Docker and Go golang-migrate/migrate Usage Clone the repository wit

Fabian Sosa Escalada 0 Dec 14, 2021
Notify messages from gcs bucket objects to slack

Notify to Slack Notify message to slack from gcs storage file. Deploy $ gcloud functions deploy notify_to_slack \ --entry-point NotifyToSlack \

Days, Inc. 0 Oct 5, 2021
Cache library for golang. It supports expirable Cache, LFU, LRU and ARC.

GCache Cache library for golang. It supports expirable Cache, LFU, LRU and ARC. Features Supports expirable Cache, LFU, LRU and ARC. Goroutine safe. S

Jun Kimura 1.8k Jan 20, 2022
cyhone 52 Jan 22, 2022
Package cache is a middleware that provides the cache management for Flamego.

cache Package cache is a middleware that provides the cache management for Flamego. Installation The minimum requirement of Go is 1.16. go get github.

Flamego 10 Jan 16, 2022
A mem cache base on other populator cache, add following feacture

memcache a mem cache base on other populator cache, add following feacture add lazy load(using expired data, and load it asynchronous) add singlefligh

zhq 1 Oct 28, 2021
Fast in-memory key:value store/cache with TTL

MCache library go-mcache - this is a fast key:value storage. Its major advantage is that, being essentially a thread-safe . map[string]interface{} wit

O.J 74 Nov 2, 2021
An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.

go-cache go-cache is an in-memory key:value store/cache similar to memcached that is suitable for applications running on a single machine. Its major

Patrick Mylund Nielsen 5.7k Jan 10, 2022
Distributed cache and in-memory key/value data store. It can be used both as an embedded Go library and as a language-independent service.

Olric Distributed cache and in-memory key/value data store. It can be used both as an embedded Go library and as a language-independent service. With

Burak Sezer 2.1k Jan 13, 2022
An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.

go-cache go-cache is an in-memory key:value store/cache similar to memcached that is suitable for applications running on a single machine. Its major

Patrick Mylund Nielsen 5.8k Jan 21, 2022
Distributed cache and in-memory key/value data store.

Distributed cache and in-memory key/value data store. It can be used both as an embedded Go library and as a language-independent service.

Burak Sezer 2.1k Jan 13, 2022
A REST-API service that works as an in memory key-value store with go-minimal-cache library.

A REST-API service that works as an in memory key-value store with go-minimal-cache library.

HarunBuyuktepe 1 Oct 25, 2021
An in-memory key:value store/cache library written in Go 1.18 generics

go-generics-cache go-generics-cache is an in-memory key:value store/cache that is suitable for applications running on a single machine. This in-memor

Kei Kamikawa 98 Jan 11, 2022
An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.

go-cache go-cache is an in-memory key:value store/cache similar to memcached that is suitable for applications running on a single machine. Its major

Patrick Mylund Nielsen 5.8k Jan 16, 2022