{"id":16288069,"url":"https://github.com/valentin2105/glusterpv-provisioner","last_synced_at":"2026-05-09T14:13:31.112Z","repository":{"id":95267239,"uuid":"159731551","full_name":"valentin2105/GlusterPV-Provisioner","owner":"valentin2105","description":"Kubernetes Persistent volume Provisioner for GlusterFS. ","archived":false,"fork":false,"pushed_at":"2018-11-29T23:31:36.000Z","size":17,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-15T01:28:24.408Z","etag":null,"topics":["bash","containers","gluster-kubernetes","glusterfs","kubernetes"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/valentin2105.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2018-11-29T21:46:04.000Z","updated_at":"2018-12-02T20:42:12.000Z","dependencies_parsed_at":"2023-03-13T16:52:33.062Z","dependency_job_id":null,"html_url":"https://github.com/valentin2105/GlusterPV-Provisioner","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valentin2105%2FGlusterPV-Provisioner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valentin2105%2FGlusterPV-Provisioner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valentin2105%2FGlusterPV-Provisioner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valentin2105%2FGlusterPV-Provisioner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/valentin2105","download_url":"https://codeload.github.com/valentin2105/GlusterPV-Provisioner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247994122,"owners_count":21030049,"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":["bash","containers","gluster-kubernetes","glusterfs","kubernetes"],"created_at":"2024-10-10T19:47:11.951Z","updated_at":"2026-05-09T14:13:26.075Z","avatar_url":"https://github.com/valentin2105.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GlusterPV-Provisioner\n\u003e Kubernetes Persistent volume Provisioner for GlusterFS. \n\nA simple shell script in 100 line of bash to watch the Kubernetes API for `Pending` Persistent Volume Claims, then create the wanted volume on the GlusterFS cluster and finally submit the Persistent Volume to Kubernetes. \n\nThis service is made  to run on your external GlusterFS cluster (or single server) but you can embed it in your Docker Gluster's container to enable Auto-PV creation within your Kubernetes cluster. \n\n### Require \n\nTo run this service you will need the following packages :\n\n```\njq\nkubectl\nglusterfs-server\n```\nAnd a running GlusterFS cluster (or single node). You can follow this [link](http://banoffeepiserver.com/glusterfs/set-up-glusterfs-on-two-nodes.html) to achieve this point if you need a tutorial. \n\n### Installation\n\n```\n# Run on one of your Gluster server\nmkdir -p /srv/scripts\ncd /opt/\ngit clone git@github.com:valentin2105/GlusterPV-Provisioner.git\nchmod +x GlusterPV-Provisioner/gluster-pv.sh\ncp GlusterPV-Provisioner/gluster-pv.sh /srv/scripts/\ncp GlusterPV-Provisioner/gluster-pv.service /etc/systemd/system/\n\n# Edit the script to match your cluster config (IP, kubeconfig Path)\nvim /srv/scripts/gluster-pv.sh\n\n# Launch the service\nsystemctl daemon-reload\nservice gluster-pv start\njournactl -u gluster-pv -f\n```\n\nWhen the service run, simply install a Helm Chart the requiere some PVs, and GlusterPV-Provisioner will create them for you. \n\n### Configuration\n\nThe configuration is in the first lines of the script : \n\n```\n#!/bin/bash\n\n# a mandatory name to identify your Gluster server       \nglusterName='glusterfs-cluster'   \n\n# the IP where Kubernetes will mount your Gluster volume (for H/A use a shared IP) \nglusterEP='192.168.42.42'         \n\n# the path of all nodes in your Gluster cluster (use just one in a single-node context)\nglusterClusterPath='192.168.42.42:/gluster-pool 192.168.42.43:/gluster-pool' \n\n# the total node Number (number of replicas for your volume) \nglusterNodesNumber=2\n\n# the path of the kubeconfig file \nkubeConfigPath=/root/.kube/config\n```\n\n### Future\n\nI'm currently working to rewrite this in `Golang`, if someone want help, it would be awesome. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalentin2105%2Fglusterpv-provisioner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalentin2105%2Fglusterpv-provisioner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalentin2105%2Fglusterpv-provisioner/lists"}