{"id":16543289,"url":"https://github.com/codemation/rubrik-mv_begin_end_proxy","last_synced_at":"2026-06-08T15:32:14.856Z","repository":{"id":130201816,"uuid":"204792718","full_name":"codemation/Rubrik-MV_begin_end_proxy","owner":"codemation","description":"Simple HTTP Proxy for triggering Rubrik Managed Volume begin|end snapshots from a HOST supporting TLSv1.2 Use Case:  To be used on non TLSv1.2 clients to start / end snapshots through more up to date hosts ","archived":false,"fork":false,"pushed_at":"2019-08-28T06:48:58.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-04T07:14:09.273Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/codemation.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":"2019-08-27T21:22:29.000Z","updated_at":"2019-08-28T06:49:00.000Z","dependencies_parsed_at":"2023-07-17T05:47:10.587Z","dependency_job_id":null,"html_url":"https://github.com/codemation/Rubrik-MV_begin_end_proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codemation/Rubrik-MV_begin_end_proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemation%2FRubrik-MV_begin_end_proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemation%2FRubrik-MV_begin_end_proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemation%2FRubrik-MV_begin_end_proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemation%2FRubrik-MV_begin_end_proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codemation","download_url":"https://codeload.github.com/codemation/Rubrik-MV_begin_end_proxy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemation%2FRubrik-MV_begin_end_proxy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34069489,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-10-11T18:59:50.963Z","updated_at":"2026-06-08T15:32:14.839Z","avatar_url":"https://github.com/codemation.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rubrik-MV_begin_end_proxy\nSimple HTTP Proxy for triggering Rubrik Managed Volume begin|end snapshots from a HOST supporting TLSv1.2 Use Case:  To be used on non TLSv1.2 clients to start / end snapshots through more up to date hosts \n\n# Getting Started\n\nSteps Before Use:\n1. Create an credentials file, containing 'username:pw'. Method: echo -n 'admin:abcd1234' \u003e ~/special_cdm_auth\n\n2. Update auth.cfg within Rubrik-modify_share package/folder with credential file location. Method echo -n '~/special_cdm_auth' \u003e auth.cfg\n\nRequirements: \n    flask is required to run HTTP Server. Install with pip install flask.\n\n\nSteps Before Use:\n1. Create an credentials file, containing 'username:pw'. Method: echo -n 'admin:abcd1234' \u003e ~/special_cdm_auth\n\n2. Update auth.cfg within Rubrik-MV_begin_end_proxy package/folder with credential file location. Method echo -n '~/special_cdm_auth' \u003e auth.cfg\n\nUsage: \n\n    Proxy:\n        python proxy.py\n        defaults to 0.0.0.0:12345 for server\n            or \n        python proxy.py \u003chost_address\u003e \u003cport\u003e\n    \n    Trigger Snapshot:\n        python snapshot.py \u003c\"begin|end\"\u003e \u003cproxy:port\u003e \u003c\"cdm_ip\"\u003e \u003cmv_id\u003e\n\n       Example:\n            -- for MangedVolume:::5ecc5f58-085c-4835-9a00-3a9abd08b330 --\n            python snapshot.py \"begin\" \"localhost:12345\" \"10.35.36.165\" \"5ecc5f58-085c-4835-9a00-3a9abd08b330\"\n        Note: snapshot.py is not required to trigger backup, script will generate and print curl command used to trigger each request which can be used anywhere in local environment which has network connectivity to proxy.\n        \n        Output:\n\n        /Rubrik-MV_begin_end_proxy$ python snapshot.py \"begin\" \"localhost:12345\" \"10.35.36.165\" \"5ecc5f58-085c-4835-9a00-   3a9abd08b330\"\n            curl -v -X GET -d '{\"cluster\": \"10.35.36.165\", \"manageVolumeId\": \"5ecc5f58-085c-4835-9a00-3a9abd08b330\"}' http://localhost:12345/begin_snapshot\n            *   Trying 127.0.0.1...\n            * TCP_NODELAY set\n            * Connected to localhost (127.0.0.1) port 12345 (#0)\n            \u003e GET /begin_snapshot HTTP/1.1\n            \u003e Host: localhost:12345\n            \u003e User-Agent: curl/7.58.0\n            \u003e Accept: */*\n            \u003e Content-Length: 85\n            \u003e Content-Type: application/x-www-form-urlencoded\n            \u003e \n            * upload completely sent off: 85 out of 85 bytes\n            * HTTP 1.0, assume close after body\n            \u003c HTTP/1.0 0 OK\n            \u003c Content-Type: application/json\n            \u003c Content-Length: 77\n            \u003c Server: Werkzeug/0.15.5 Python/2.7.15+\n            \u003c Date: Wed, 28 Aug 2019 05:57:52 GMT\n            \u003c \n            {\n            \"message\": \"{\\\"snapshotId\\\":\\\"e69f2df5-9f02-438d-a098-ccfbbecd223e\\\"}\"\n            }\n            * Closing connection 0\n        Subsequent backups can use the same snapshot script to trigger an \"end\" or use the generated CURL command:\n            Begin:\n                curl -v -X GET -d '{\"cluster\": \"10.35.36.165\", \"manageVolumeId\": \"5ecc5f58-085c-4835-9a00-3a9abd08b330\"}' http://localhost:12345/begin_snapshot\n            End:\n                curl -v -X GET -d '{\"cluster\": \"10.35.36.165\", \"manageVolumeId\": \"5ecc5f58-085c-4835-9a00-3a9abd08b330\"}' http://localhost:12345/end_snapshot\n        \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodemation%2Frubrik-mv_begin_end_proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodemation%2Frubrik-mv_begin_end_proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodemation%2Frubrik-mv_begin_end_proxy/lists"}