{"id":14956161,"url":"https://github.com/ipfs/go-ds-s3","last_synced_at":"2025-04-05T03:11:31.336Z","repository":{"id":38325995,"uuid":"82222998","full_name":"ipfs/go-ds-s3","owner":"ipfs","description":"An s3 datastore implementation","archived":false,"fork":false,"pushed_at":"2024-05-01T19:16:17.000Z","size":806,"stargazers_count":240,"open_issues_count":17,"forks_count":66,"subscribers_count":23,"default_branch":"master","last_synced_at":"2024-10-29T14:18:52.243Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","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/ipfs.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":"2017-02-16T20:27:25.000Z","updated_at":"2024-10-10T16:27:52.000Z","dependencies_parsed_at":"2023-02-16T06:40:14.898Z","dependency_job_id":"d1c73996-fcf5-453c-a0bd-edfdac9d801c","html_url":"https://github.com/ipfs/go-ds-s3","commit_stats":{"total_commits":196,"total_committers":33,"mean_commits":"5.9393939393939394","dds":0.7959183673469388,"last_synced_commit":"7ef7ee4dd660697a5b0860cdccd97bcd64729b31"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipfs%2Fgo-ds-s3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipfs%2Fgo-ds-s3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipfs%2Fgo-ds-s3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipfs%2Fgo-ds-s3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ipfs","download_url":"https://codeload.github.com/ipfs/go-ds-s3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247280272,"owners_count":20912967,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-09-24T13:12:24.459Z","updated_at":"2025-04-05T03:11:31.321Z","avatar_url":"https://github.com/ipfs.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# S3 Datastore Implementation\n\nThis is an implementation of the datastore interface backed by amazon s3.\n\n**NOTE:** Plugins only work on Linux and MacOS at the moment. You can track the progress of this issue here: https://github.com/golang/go/issues/19282\n\n## Quickstart\n\n  1. Grab a plugin release from the [releases](https://github.com/ipfs/go-ds-s3/releases) section matching your Kubo version and install the plugin file in `~/.ipfs/plugins`.\n  2. Follow the instructions in the plugin's [README.md](go-ds-s3-plugin/README.md)\n\n\n## Building and installing\n\n\nThe plugin can be manually built/installed for different versions of Kubo (starting with 0.23.0) with:\n\n```\ngit checkout go-ds-s3-plugin/v\u003ckubo-version\u003e\nmake plugin\nmake install-plugin\n```\n\n## Updating to a new version\n\n  1. `go get` the Kubo release you want to build for. Make sure any other\n     dependencies are aligned to what Kubo uses.\n  2. `make install` and test.\n\n\nIf you are building against dist-released versions of Kubo, you need to build using the same version of go that was used to build the release ([here](https://github.com/ipfs/distributions/blob/master/.tool-versions)).\n\nIf you are building against your own build of Kubo you must align your plugin to use it.\n\nIf you are updating this repo to produce a new version of the plugin:\n\n  1. Submit a PR so that integration tests run\n  2. Make a new tag `go-ds-s3-plugin/v\u003ckubo_version\u003e` and push it. This will build and release the plugin prebuilt binaries.\n\n## Bundling\n\nAs go plugins can be finicky to correctly compile and install, you may want to consider bundling this plugin and re-building kubo. If you do it this way, you won't need to install the `.so` file in your local repo, i.e following the above Building and Installing section, and you won't need to worry about getting all the versions to match up.\n\n```bash\n# We use go modules for everything.\n\u003e export GO111MODULE=on\n\n# Clone kubo.\n\u003e git clone https://github.com/ipfs/kubo\n\u003e cd kubo\n\n# Pull in the datastore plugin (you can specify a version other than latest if you'd like).\n\u003e go get github.com/ipfs/go-ds-s3@latest\n\n# Add the plugin to the preload list.\n\u003e echo -en \"\\ns3ds github.com/ipfs/go-ds-s3/plugin 0\" \u003e\u003e plugin/loader/preload_list\n\n# ( this first pass will fail ) Try to build kubo with the plugin\n\u003e make build\n\n# Update the deptree\n\u003e go mod tidy\n\n# Now rebuild kubo with the plugin\n\u003e make build\n\n# (Optionally) install kubo\n\u003e make install\n```\n\n## Contribute\n\nFeel free to join in. All welcome. Open an [issue](https://github.com/ipfs/go-ipfs-example-plugin/issues)!\n\nThis repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\n### Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipfs%2Fgo-ds-s3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fipfs%2Fgo-ds-s3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipfs%2Fgo-ds-s3/lists"}