{"id":22165571,"url":"https://github.com/textileio/basin-s3","last_synced_at":"2026-01-30T20:31:28.474Z","repository":{"id":254134818,"uuid":"831105515","full_name":"textileio/basin-s3","owner":"textileio","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-21T14:59:44.000Z","size":112,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-15T05:41:19.686Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/textileio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-19T17:09:31.000Z","updated_at":"2024-09-05T11:48:23.000Z","dependencies_parsed_at":"2024-08-21T16:57:12.681Z","dependency_job_id":"3df6d3f9-8bfc-4f71-931a-96421212570b","html_url":"https://github.com/textileio/basin-s3","commit_stats":null,"previous_names":["textileio/basin-s3"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/textileio/basin-s3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textileio%2Fbasin-s3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textileio%2Fbasin-s3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textileio%2Fbasin-s3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textileio%2Fbasin-s3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/textileio","download_url":"https://codeload.github.com/textileio/basin-s3/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textileio%2Fbasin-s3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28918441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T20:25:28.696Z","status":"ssl_error","status_checked_at":"2026-01-30T20:25:13.426Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-02T05:15:34.643Z","updated_at":"2026-01-30T20:31:28.456Z","avatar_url":"https://github.com/textileio.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Basin S3\n\n[![License](https://img.shields.io/github/license/tablelandnetwork/s3-ipc.svg)](./LICENSE)\n[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg)](https://github.com/RichardLitt/standard-readme)\n\n\u003e An S3 adapter for Basin\n\n# Table of Contents\n\n- [Basin S3](#basin-s3)\n    - [Table of Contents](#table-of-contents)\n    - [Background](#background)\n    - [Usage](#usage)\n    - [Development](#development)\n    - [Contributing](#contributing)\n    - [License](#license)\n\n# Background\n\n**Basin S3** is a S3 adapter for Basin. It provides a S3 compatible API that translates S3 requests into Basin transactions or requests. With that we're able to leverage any S3 client or tooling to make use of the Basin features.\n\nThe Basin S3 implementation is built on top of the [s3s](https://github.com/Nugine/s3s) project. `s3s` provides a [trait](https://github.com/Nugine/s3s/blob/main/crates/s3s/src/s3_trait.rs#L10), generated from [aws-sdk-rust](https://github.com/awslabs/aws-sdk-rust) repository. By providing an implementation of that trait we can provide an HTTP service that \"speaks S3\".\n\n# Usage\n\nYou can start the server by running\n\n```bash\ncargo run --features binary -- --private-key [PRIVATE_KEY] --access-key AKEXAMPLES3S --secret-key SKEXAMPLES3S\n```\nIn read-only mode, just omit the private key.\n\nYou can point the adapter to a specific Basin network by providing the `--network` flag. By default, it points to `testnet`. For development, you can use `localnet` or `devnet`.  \n\n# Development\n\nRight now, for lack of a better option, the tests rely on a running 3-node `localnet` network. So, make sure you have one running locally to run them.\n\n# Deployment\n\nBuilding the Docker image:\n\n```bash\ndocker build -t basin-s3 .\n```\n\nRunning it\n\n```bash\ndocker run -dt \\\n  -e HOST=0.0.0.0 \\\n  -e ACCESS_KEY=S3EXAMPLEAK \\\n  -e SECRET_KEY=S3EXAMPLESK  \\\n  -e PRIVATE_KEY=PRIVATE_KEY \\\n  --name basin-s3 \\\n  --network host \\\n  basin-s3\n```\n\nnote: `--network=host` does not work on MacOS.\n\n# Contributing\n\nPRs accepted.\n\nSmall note: If editing the README, please conform to the\n[standard-readme](https://github.com/RichardLitt/standard-readme) specification.\n\n# License\n\nMIT AND Apache-2.0, © 2021-2024 Basin Network Contributors\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftextileio%2Fbasin-s3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftextileio%2Fbasin-s3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftextileio%2Fbasin-s3/lists"}