{"id":20398750,"url":"https://github.com/bcambl/rpda","last_synced_at":"2026-05-07T21:40:39.205Z","repository":{"id":57608104,"uuid":"253151264","full_name":"bcambl/rpda","owner":"bcambl","description":"A direct access utility for RecoverPoint","archived":false,"fork":false,"pushed_at":"2023-02-10T01:16:24.000Z","size":77,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-31T13:42:49.542Z","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":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bcambl.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":"2020-04-05T03:55:38.000Z","updated_at":"2023-09-16T20:49:08.000Z","dependencies_parsed_at":"2024-06-20T12:59:26.092Z","dependency_job_id":"e31972c8-73c0-4bfe-9063-e6f6e83658c8","html_url":"https://github.com/bcambl/rpda","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/bcambl/rpda","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcambl%2Frpda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcambl%2Frpda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcambl%2Frpda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcambl%2Frpda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcambl","download_url":"https://codeload.github.com/bcambl/rpda/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcambl%2Frpda/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32757729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":[],"created_at":"2024-11-15T04:23:56.089Z","updated_at":"2026-05-07T21:40:39.180Z","avatar_url":"https://github.com/bcambl.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"rpda\n====\nIs a RecoverPoint Direct Access utility to provide clients a simple CLI to manage _direct access_ testing on the latest image of a copy node within a consistency group remotely via API. The project is written in Go (golang) and can be compiled to a single binary for ease of deployment.\n\n**DOWNLOAD THE LATEST VERSION OF THIS UTILITY ON THE RELEASE PAGE [HERE](https://github.com/bcambl/rpda/releases/latest)**\n\n## User Permissions\nAn account on the RecoverPoint Appliance is required and the user must have access to administrate desired consistency groups. This utility will only administer consistency groups of which the account has access to modify as per RecoverPoint user privledges when `--all` is used.\n\n## Configuration\nA configuration template will be generated upon first execution of `rpda [command]`. (ie: `rpda list` or `rpda status --all`)\n\n```\napi:\n  delay: 0\n  polldelay: 3\n  pollmax: 30\n  url: https://recoverpoint_fqdn/\n  username: username\nidentifiers:\n  copy_node_regexp: _CN$\n  production_node_regexp: _PN$\n  test_node_regexp: ^TC_\n\n```\n\nUpdate the configuration file with variables that suit your site or environment.  \nThe `identifiers` section in the configuration file uses [_regexp_](https://golang.org/pkg/regexp/) to determine the desired copy for when `--test` or `--dr` are used.\n\nThe following example will work with the default `identifiers` section in the configuration example above.\n\n```\nEXAMPLE_CONSISTENCY_GROUP_CG:\n\n             PRODUCTION_NODE_PN          \u003c-- Production/Protection node\n                /        \\\n               /          \\\n              /            \\\n             /              \\\n            /        TC_TESTING_COPY_CN  \u003c-- copy node for testing or long term direct access\n           /\n       COPY_NODE_CN  \u003c---------------------- un-interupted copy node for disaster recovery\n```\n\n## Available Commands\n- `list`    List all Consistency Group Names\n- `status`  Display Consistency Group Status\n- `enable`  Enable direct access mode for the latest copy\n- `finish`  Return a conistency group to a full replication state\n- `help`    Help about any command\n\n## Specifying a Copy\nNaming consistency groups using a consistent _naming scheme_ will allow the use of `--test` and `--dr` options by configuring the `identifiers` section with regular expressions to suite your environment. _(see configuration section above)_\n\nOne of the following _copy flags_ must be provided:\n - `--copy \u003ccopy_name\u003e` to specify copy name to enable direct access\n - `--test` to use the latest _test_ copy based on `test_node_regexp` regular expression within the configuration file\n - `--dr` to use the latest _test_ copy based on `copy_node_regexp` regular expression within the configuration file\n\n Note:  \n - only one of the above flags can be provided at once.\n - `--copy` cannot be combined with `--all`\n\n## Additional Flags\n\n- `--user \u003cusername\u003e` will override the `username` specified within the configuration file. _(will prompt for password)_\n- `--delay 60`: will introduce a delay of `60` seconds between consistency group changes when using `--all` (default: `0`)\n- `--polldelay 10`: will modify the seconds which the utility will wait between API status polling requests (default: `3`)\n- `--pollmax 60`: will modify the number of status poll attempts with before failing (default: `30`)\n- `--debug`: will produce additional debugging output to assist with troubleshooting \u0026 development\n- `--check`: will run allow the application to execute _without_ making any changes (`GET` requests only)\n- `--help`: will display CLI help and examples\n\n  Note:  \n  Each _command_ also has its own `--help`  \n  ```\n  rpda enable --help\n  ```\n\n## Command-Line Examples\n\n### List  \nList All Consistency Groups\n```\nrpda list\n```\n\n### Status  \nDisplay Status of all Consistency Groups\n```\nrpda status --all\n```\n\nDisplay Status of Consistency Group `TestGroup_CG`\n```\nrpda status --group TestGroup_CG\n```\n\n### Enable Direct Access  \nEnable Direct Image Access Mode for the **_Test_ Copy** on **_ALL_** Consistency Groups\n```\nrpda enable --all --test\n```\n\nEnable Direct Image Access Mode for the **_Test_ Copy** on **_ALL_** Consistency Groups with `30` second **delay**\n```\nrpda enable --all --test --delay 30\n```\n\nEnable Direct Image Access Mode for the **_Test_ Copy** on Consistency Group `TestGroup_CG`\n```\nrpda enable --group TestGroup_CG --test\n```\n\nEnable Direct Image Access Mode for the **_DR_ Copy** on **_ALL_** Consistency Groups\n```\nrpda enable --all --dr\n```\n\nEnable Direct Image Access Mode for the **_DR_ Copy** on Consistency Group `TestGroup_CG`\n```\nrpda enable --group TestGroup_CG --dr\n```\n\nEnable Direct Image Access Mode for a **_User Defined Copy_** (`_Example_CN_`) on Consistency Group `TestGroup_CG`\n```\nrpda enable --group TestGroup_CG --copy Example_CN\n```\n\n### Finish Testing (Disable Direct Access \u0026 Start Tansfer)\nFinish Direct Image Access Mode on **_ALL_** Consistency Groups for **_Test_ Copy**\n```\nrpda finish --all --test\n```\n\nFinish Direct Image Access Mode on **_ALL_** Consistency Groups for **_Test_ Copy** with `60` second delay\n```\nrpda finish --all --test --delay 60\n```\n\nFinish Direct Image Access Mode on Consistency Group `TestGroup_CG` for **_Test_ Copy**\n```\nrpda finish --group TestGroup_CG --test\n```\n\nFinish Direct Image Access Mode on **_ALL_** Consistency Groups for **_DR_ Copy**\n```\nrpda finish --all --dr\n```\n\nFinish Direct Image Access Mode on Consistency Group `TestGroup_CG` for **_DR_ Copy**\n```\nrpda finish --group TestGroup_CG --dr\n```\n\nFinish Direct Image Access Mode on Consistency Group `TestGroup_CG` for **_User Defined Copy_** (`_Example_CN_`)\n```\nrpda finish --group TestGroup_CG --copy Example_CN\n```\n\n## Build Instructions\n\n**DOWNLOAD THE LATEST VERSION OF THIS UTILITY ON THE RELEASE PAGE [HERE](https://github.com/bcambl/rpda/releases/latest)**\n\nIf you would rather compile the project from source, please install the latest version of the Go programming language  [here](https://golang.org/dl/).\n\nBuild Project for `x86_64/amd64` Linux\n```\nGOOS=linux GOARCH=amd64 go build -ldflags=\"-s -w\" -o rpda main.go\n```\n\nBuild Project for `x86_64/amd64` Windows\n```\nGOOS=windows GOARCH=amd64 go build -ldflags=\"-s -w\" -o rpda.exe main.go\n```\n\nPlease read more about building the project for other platforms (`$GOOS` and `$GOARCH`) [here](https://golang.org/doc/install/source#environment).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcambl%2Frpda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbcambl%2Frpda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcambl%2Frpda/lists"}