{"id":13551334,"url":"https://github.com/contiv-experimental/volplugin","last_synced_at":"2025-04-07T12:06:14.914Z","repository":{"id":34518066,"uuid":"38460040","full_name":"contiv-experimental/volplugin","owner":"contiv-experimental","description":"**EXPERIMENTAL** Contiv Storage: Policy backed Clustered Storage (via Ceph or NFS) for Docker","archived":false,"fork":false,"pushed_at":"2024-03-10T05:42:39.000Z","size":3649,"stargazers_count":220,"open_issues_count":40,"forks_count":29,"subscribers_count":34,"default_branch":"master","last_synced_at":"2025-03-31T10:06:50.293Z","etag":null,"topics":["ceph","contiv-storage","docker","kubernetes","mesos","nfs","storage","volume"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mozilla/popcorn-js","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contiv-experimental.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2015-07-02T22:31:53.000Z","updated_at":"2024-04-13T03:29:56.000Z","dependencies_parsed_at":"2024-08-01T12:19:12.138Z","dependency_job_id":"9b718957-8abb-4999-b103-eb2a9a849c55","html_url":"https://github.com/contiv-experimental/volplugin","commit_stats":null,"previous_names":["contiv/volplugin"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contiv-experimental%2Fvolplugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contiv-experimental%2Fvolplugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contiv-experimental%2Fvolplugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contiv-experimental%2Fvolplugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contiv-experimental","download_url":"https://codeload.github.com/contiv-experimental/volplugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247648977,"owners_count":20972945,"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":["ceph","contiv-storage","docker","kubernetes","mesos","nfs","storage","volume"],"created_at":"2024-08-01T12:01:46.341Z","updated_at":"2025-04-07T12:06:14.893Z","avatar_url":"https://github.com/contiv-experimental.png","language":"Go","funding_links":[],"categories":["Go","docker"],"sub_categories":[],"readme":"[![Build-Status][Build-Status-Image]][Build-Status-URL] [![ReportCard][ReportCard-Image]][ReportCard-URL]\n\n# volplugin: cluster-wide volume management for container ecosystems\n\n**Note**: Most of this documentation is about the open source project. If you\ncame to try Contiv, [read our documentation](http://contiv.github.io/).\n\nvolplugin controls [Ceph](http://ceph.com/) RBD or NFS devices, in a way that\nmakes them easy to use for devs with docker, and flexible to configure for ops.\nReference your volumes with docker from anywhere your storage is available, and\nthey are located and mounted. Works great with [Compose](https://github.com/docker/compose) and\n[Swarm](https://github.com/docker/swarm), now [Mesos](https://www.mesosphere.com) too!\n\nOur profiles system makes instantiating lots of similar class volumes a snap,\nallowing for a variety of use cases:\n\n* Give your dev teams full-stack dev environments (complete with state) that\n  arrive on demand. They can configure them.\n* Scale your stateful containers in a snap with our snapshot facilities, just\n  `volcli volume snapshot copy` and refer to the volume immediately. Anywhere. (Ceph only)\n* Container crashed? Host died? volplugin's got you. Just re-init your\n  container on another host with the same volume name.\n\nvolplugin currently only supports Docker volume plugins. First class scheduler support for:\n[Kubernetes](https://github.com/kubernetes/kubernetes) and\n[Mesos](http://mesos.apache.org/) will be available before the first stable\nrelease.\n\n* On-the-fly image creation and (re)mount from any Ceph source, by referencing\n  a policy and volume name.\n* Manage many kinds of filesystems, including providing mkfs commands.\n* Snapshot frequency and pruning. Also copy snapshots to new volumes!\n* Ephemeral (removed on container teardown) volumes\n* BPS limiting (via blkio cgroup)\n\nvolplugin is still alpha at the time of this writing; features and the API may\nbe extremely volatile and it is not suggested that you use this in production.\n\n## Try it out\n\nThis will start the suite of volplugin tools in containers from the\n`contiv/volplugin` image. It will do the work of configuring docker for you.  Note that you must have\na working ceph environment that volplugin can already use.\n\n\n```\n$ docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock contiv/volplugin-autorun\n```\n\nIf you get an error like \"mountpoint / is not a shared mount\", set\n`MountFlags=shared` in your systemd unit file for docker. It will most likely\nbe set to `slave` instead.\n\n## Development Instructions \n\nOur [Getting Started instructions](http://contiv.github.io/documents/gettingStarted/)\nshould be the first thing you read. The prerequisites are absolutely necessary.\n\nPlease see our [CONTRIBUTING](https://github.com/contiv/volplugin/blob/master/CONTRIBUTING.md)\ndocument as well.\n\nPlease read the `Makefile` for most targets. If you `make build` you will get\napiserver/volplugin/volcli installed on the guests, so `make run-build` if you\nwant a `go install`'d version of these programs on your host.\napiserver/volplugin **do not** run on anything but linux (you can use volcli,\nhowever, on other platforms).\n\n`make start` will start the development environment. `make stop` stops, and\n`make restart` rebuilds it.\n\nIf you wish to run the tests, `make test`. The unit tests (`make unit-test`)\nlive throughout the codebase as `*_test` files. The system tests / integration\ntests (`make system-test`) live in the `systemtests` directory.  Note that `make system-test`\n**will not** successfully run on OSX due to dependencies on unavailable libraries.\n\n[ReportCard-URL]: https://goreportcard.com/report/github.com/contiv/volplugin\n[ReportCard-Image]: https://goreportcard.com/badge/github.com/contiv/volplugin\n[Build-Status-URL]: http://contiv-ci.ngrok.io/job/Volplugin%20Push%20Build%20Master\n[Build-Status-Image]: http://contiv-ci.ngrok.io/buildStatus/icon?job=Volplugin%20Push%20Build%20Master\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontiv-experimental%2Fvolplugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcontiv-experimental%2Fvolplugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontiv-experimental%2Fvolplugin/lists"}