{"id":13416315,"url":"https://github.com/rexray/rexray","last_synced_at":"2026-01-12T11:36:35.492Z","repository":{"id":30357164,"uuid":"33909634","full_name":"rexray/rexray","owner":"rexray","description":"REX-Ray is a container storage orchestration engine enabling persistence for cloud native workloads","archived":false,"fork":false,"pushed_at":"2023-09-02T05:53:33.000Z","size":49788,"stargazers_count":2222,"open_issues_count":294,"forks_count":332,"subscribers_count":83,"default_branch":"master","last_synced_at":"2025-12-26T08:48:06.882Z","etag":null,"topics":["containers","docker","go","kubernetes","mesos","rex-ray","storage-orchestration","storage-providers"],"latest_commit_sha":null,"homepage":"http://rexray.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rexray.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":".github/code_of_conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md"}},"created_at":"2015-04-14T03:53:58.000Z","updated_at":"2025-12-24T17:13:01.000Z","dependencies_parsed_at":"2024-01-07T05:59:58.744Z","dependency_job_id":"b951b381-7869-4a9f-92ab-98f8fdb237b9","html_url":"https://github.com/rexray/rexray","commit_stats":{"total_commits":1188,"total_committers":53,"mean_commits":22.41509433962264,"dds":0.3484848484848485,"last_synced_commit":"362035816046e87f7bc5a6ca745760d09a69a40c"},"previous_names":["codedellemc/rexray","emccode/rexray","thecodeteam/rexray"],"tags_count":98,"template":false,"template_full_name":null,"purl":"pkg:github/rexray/rexray","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexray%2Frexray","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexray%2Frexray/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexray%2Frexray/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexray%2Frexray/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rexray","download_url":"https://codeload.github.com/rexray/rexray/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexray%2Frexray/sbom","scorecard":{"id":773034,"data":{"date":"2025-08-11","repo":{"name":"github.com/rexray/rexray","commit":"362035816046e87f7bc5a6ca745760d09a69a40c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 5/26 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 9 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: .docker/plugins/Dockerfile:1: pin your Docker image by updating alpine:3.6 to alpine:3.6@sha256:66790a2b79e1ea3e1dabac43990c54aca5d1ddf268d9a5a0285e4167c8b24475","Warn: containerImage not pinned by hash: .docker/plugins/azureud/.Dockerfile:1: pin your Docker image by updating alpine:3.6 to alpine:3.6@sha256:66790a2b79e1ea3e1dabac43990c54aca5d1ddf268d9a5a0285e4167c8b24475","Warn: containerImage not pinned by hash: .docker/plugins/csi-nfs/.Dockerfile:1: pin your Docker image by updating centos:7.4.1708 to centos:7.4.1708@sha256:8906d699cbd9406b07a105bedebc14a5945c200971b0a3a067aa245badc545b2","Warn: containerImage not pinned by hash: .docker/plugins/ebs/.Dockerfile:1: pin your Docker image by updating alpine:3.6 to alpine:3.6@sha256:66790a2b79e1ea3e1dabac43990c54aca5d1ddf268d9a5a0285e4167c8b24475","Warn: containerImage not pinned by hash: .docker/plugins/efs/.Dockerfile:1: pin your Docker image by updating alpine:3.6 to alpine:3.6@sha256:66790a2b79e1ea3e1dabac43990c54aca5d1ddf268d9a5a0285e4167c8b24475","Warn: containerImage not pinned by hash: .docker/plugins/isilon/.Dockerfile:1: pin your Docker image by updating alpine:3.6 to alpine:3.6@sha256:66790a2b79e1ea3e1dabac43990c54aca5d1ddf268d9a5a0285e4167c8b24475","Warn: containerImage not pinned by hash: .docker/plugins/rbd/.Dockerfile:1: pin your Docker image by updating centos:7.4.1708 to centos:7.4.1708@sha256:8906d699cbd9406b07a105bedebc14a5945c200971b0a3a067aa245badc545b2","Warn: containerImage not pinned by hash: .docker/plugins/s3fs/.Dockerfile:1: pin your Docker image by updating alpine:3.5 to alpine:3.5@sha256:66952b313e51c3bd1987d7c4ddf5dba9bc0fb6e524eed2448fa660246b3e76ec","Warn: containerImage not pinned by hash: .docker/plugins/scaleio/.Dockerfile:1: pin your Docker image by updating alpine:3.6 to alpine:3.6@sha256:66790a2b79e1ea3e1dabac43990c54aca5d1ddf268d9a5a0285e4167c8b24475","Warn: goCommand not pinned by hash: vendor/github.com/coreos/go-systemd/scripts/jenkins/periodic-go-systemd-builder.sh:21","Warn: goCommand not pinned by hash: vendor/github.com/coreos/go-systemd/scripts/jenkins/periodic-go-systemd-builder.sh:22","Warn: goCommand not pinned by hash: vendor/github.com/coreos/go-systemd/test:26","Warn: goCommand not pinned by hash: vendor/github.com/coreos/go-systemd/test:27","Warn: downloadThenRun not pinned by hash: vendor/github.com/gophercloud/gophercloud/script/acceptancetest_environments/keystonev2-lbaasv1.sh:37","Warn: goCommand not pinned by hash: vendor/github.com/gophercloud/gophercloud/script/acceptancetest_environments/keystonev2-lbaasv1.sh:42","Warn: goCommand not pinned by hash: vendor/github.com/gophercloud/gophercloud/script/acceptancetest_environments/keystonev2-lbaasv1.sh:43","Warn: downloadThenRun not pinned by hash: vendor/github.com/gophercloud/gophercloud/script/acceptancetest_environments/keystonev3-lbaasv2.sh:33","Warn: goCommand not pinned by hash: vendor/github.com/gophercloud/gophercloud/script/acceptancetest_environments/keystonev3-lbaasv2.sh:41","Warn: goCommand not pinned by hash: vendor/github.com/gophercloud/gophercloud/script/acceptancetest_environments/keystonev3-lbaasv2.sh:42","Warn: goCommand not pinned by hash: vendor/github.com/gophercloud/gophercloud/script/bootstrap:11","Warn: goCommand not pinned by hash: vendor/github.com/pelletier/go-toml/test.sh:28","Warn: goCommand not pinned by hash: vendor/github.com/pelletier/go-toml/test.sh:29","Warn: goCommand not pinned by hash: vendor/github.com/stretchr/testify/.travis.gogenerate.sh:7","Warn: goCommand not pinned by hash: vendor/google.golang.org/grpc/vet.sh:28","Warn: goCommand not pinned by hash: vendor/google.golang.org/grpc/vet.sh:30","Info:   0 out of   9 containerImage dependencies pinned","Info:   2 out of  16 goCommand dependencies pinned","Info:   0 out of   2 downloadThenRun dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-23T02:43:46.856Z","repository_id":30357164,"created_at":"2025-08-23T02:43:46.856Z","updated_at":"2025-08-23T02:43:46.856Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28338971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T10:58:46.209Z","status":"ssl_error","status_checked_at":"2026-01-12T10:58:42.742Z","response_time":98,"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":["containers","docker","go","kubernetes","mesos","rex-ray","storage-orchestration","storage-providers"],"created_at":"2024-07-30T21:00:56.969Z","updated_at":"2026-01-12T11:36:35.475Z","avatar_url":"https://github.com/rexray.png","language":"Go","readme":"# REX-Ray [![GoDoc](https://godoc.org/github.com/rexray/rexray?status.svg)](http://godoc.org/github.com/rexray/rexray) [![Build Status](http://travis-ci.org/rexray/rexray.svg?branch=master)](https://travis-ci.org/rexray/rexray) [![Go Report Card](http://goreportcard.com/badge/rexray/rexray)](http://goreportcard.com/report/rexray/rexray) [![codecov.io](https://codecov.io/github/rexray/rexray/coverage.svg?branch=master)](https://codecov.io/github/rexray/rexray?branch=master) [ ![Download](http://api.bintray.com/packages/rexray/rexray/stable/images/download.svg) ](https://dl.bintray.com/rexray/rexray/stable/latest/)\n\n---\n\n![info](https://cdn.rawgit.com/akutz/741a53ec8cd1348753556e8bd4d2836a/raw/399cb9e5b39436d119d77a893dd991db0a7b6f9f/info-circle.svg \"info-circle\") **Note:** _All hosted `unstable` and `staged` binaries older than `0.11.2-rc1` have\nbeen pruned due to quota restrictions._\n\n---\n\nThe long-term goal of the REX-Ray project is to enable collaboration between\norganizations  focused on creating enterprise-grade storage plugins for the\nContainer Storage Interface (CSI). As a rapidly changing specification, CSI\nsupport within REX-Ray will be planned when CSI reaches version 1.0, currently\nprojected for a late 2018 release. In the interim, there remains active\nengagement with the project to support the community.\n\nREX-Ray provides a vendor agnostic storage orchestration engine.  The primary\ndesign goal is to provide persistent storage for `Docker`, `Kubernetes`, and `Mesos`.\n\nIt is additionally available as a Go package, CLI tool, and Linux service which\nenables it to be used for additional use cases.\n\n## Documentation [![Docs](https://readthedocs.org/projects/rexray/badge/?version=stable)](http://rexray.readthedocs.org/en/stable/)\nYou will find complete documentation for REX-Ray at [rexray.readthedocs.org](http://rexray.readthedocs.org/en/stable/), including\n[licensing](http://rexray.readthedocs.org/en/stable/about/license/) and\n[support](http://rexray.readthedocs.org/en/stable/#getting-help) information.\nDocumentation provided at RTD is based on the latest stable build.  The `/.docs`\ndirectory in this repo will refer to the latest or specific commit.\n\n## Architecture\nREX-Ray is available as a standalone process today and as a distributed\nmodel of client-server.  The `client` performs a level abstraction of local\nhost processes (request for volume attachment, discovery, format, and mounting\nof devices) while the `server` provides the necessary abstraction of the\ncontrol plane for multiple storage platforms/\n\n### Storage Provider Support\nThe following storage providers and platforms are supported by REX-Ray.\n\n| Provider              | Storage Platform  | \u003ccenter\u003e[Docker](https://docs.docker.com/engine/extend/plugins_volume/)\u003c/center\u003e | \u003ccenter\u003eContainerized\u003c/center\u003e |\n|-----------------------|----------------------|:---:|:---:|\n| Amazon EC2 | [EBS](.docs/user-guide/storage-providers/aws.md#aws-ebs) | ✓ | ✓ |\n| | [EFS](.docs/user-guide/storage-providers/aws.md#aws-efs) | ✓ | ✓ |\n| | [S3FS](.docs/user-guide/storage-providers/aws.md#aws-s3fs) | ✓ | ✓ |\n| Ceph | [RBD](.docs/user-guide/storage-providers/ceph.md#ceph-rbd) | ✓ | ✓ |\n| Dell EMC | [Isilon](.docs/user-guide/storage-providers/dellemc.md#dell-emc-isilon) | ✓ | ✓ |\n| | [ScaleIO](.docs/user-guide/storage-providers/dellemc.md#dell-emc-scaleio) | ✓ | ✓ |\n| DigitalOcean | [Block Storage](.docs/user-guide/storage-providers/digitalocean.md#do-block-storage) | ✓ | ✓ |\n| FittedCloud | [EBS Optimizer](.docs/user-guide/storage-providers/fittedcloud.md#ebs-optimizer) | ✓ | |\n| Google | [GCE Persistent Disk](.docs/user-guide/storage-providers/google.md#gce-persistent-disk) | ✓ | ✓ |\n| Microsoft | [Azure Unmanaged Disk](.docs/user-guide/storage-providers/microsoft.md#azure-ud) | ✓ | ✓ |\n| OpenStack | [Cinder](.docs/user-guide/storage-providers/openstack.md#cinder) | ✓ | ✓ |\n| VirtualBox | [Virtual Media](.docs/user-guide/storage-providers/virtualbox.md#virtualbox) | ✓ | |\n\n### Operating System Support\nThe following operating systems are supported by REX-Ray:\n\n| OS             | \u003ccenter\u003eCommand Line\u003c/center\u003e | \u003ccenter\u003eService\u003c/center\u003e |\n|---------------|:---:|:---:|\n| Ubuntu 12+     | ✓          | ✓ |\n| Debian 6+      | ✓          | ✓ |\n| RedHat         | ✓          | ✓ |\n| CentOS 6+      | ✓          | ✓ |\n| CoreOS         | ✓          | ✓ |\n| TinyLinux (boot2docker)| ✓  | ✓ |\n| OS X Yosemite+ | ✓          |  |\n| Windows        |            |  |\n\n## Installation\nThe following command will install the REX-Ray client-server tool.  If using\n`CentOS`, `Debian`, `RHEL`, or `Ubuntu` the necessary service manager is used\nto bootstrap the process on startup\n\n`curl -sSL https://rexray.io/install | sh -`\n\n## Runtime - CLI\nREX-Ray can be run as an interactive CLI to perform volume management\ncapabilities.\n\n```bash\n$ export REXRAY_SERVICE=ebs\n$ export EBS_ACCESSKEY=access_key\n$ export EBS_SECRETKEY=secret_key\n$ rexray volume ls\nID            Name  Status    Size\nvol-6ac6c7d6        attached  8\n```\n\n## Runtime - Service (Docker)\nAdditionally, it can be run as a service to support `Docker`, `Mesos`, and other\n platforms that can communicate through `HTTP/JSON`.\n\n```bash\n$ export REXRAY_SERVICE=ebs\n$ export EBS_ACCESSKEY=access_key\n$ export EBS_SECRETKEY=secret_key\n$ rexray service start\nStarting REX-Ray...SUCCESS!\n\n  The REX-Ray daemon is now running at PID XX. To\n  shutdown the daemon execute the following command:\n\n    sudo /usr/bin/rexray stop\n\n$ docker run -ti --volume-driver=rexray -v test:/test busybox\n$ df -h /test\n```\n\n## Runtime - Docker Plugin\nStarting with Docker 1.13, Docker now supports a new plugin architecture in\nwhich plugins can be installed as containers.\n\n```bash\n$ docker plugin install rexray/ebs EBS_ACCESSKEY=access_key EBS_SECRETKEY=secret_key\nPlugin \"rexray/ebs:latest\" is requesting the following privileges:\n - network: [host]\n - mount: [/dev]\n - allow-all-devices: [true]\n - capabilities: [CAP_SYS_ADMIN]\nDo you grant the above permissions? [y/N] y\nlatest: Pulling from rexray/ebs\n2ef3a0b3d192: Download complete\nDigest: sha256:86a3bf7fdab857c955d7ef3fb94c01e350e34ba0f7fd3d0bd485e45f1592e1c2\nStatus: Downloaded newer image for rexray/ebs:latest\nInstalled plugin rexray/ebs:latest\n\n$ docker plugin ls\nID                  NAME                   DESCRIPTION              ENABLED\n450420731dc3        rexray/ebs:latest      REX-Ray for Amazon EBS   true\n\n$ docker run -ti --volume-driver=rexray/ebs -v test:/test busybox\n$ df -h /test\n```\n","funding_links":[],"categories":["Container Operations","Go","kubernetes","RIP","mesos","Repositories"],"sub_categories":["Volume Management / Data","Articles and Sample Code"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frexray%2Frexray","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frexray%2Frexray","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frexray%2Frexray/lists"}