{"id":26059687,"url":"https://github.com/orange-cloudfoundry/bopt","last_synced_at":"2025-07-11T01:34:03.638Z","repository":{"id":57588806,"uuid":"133523129","full_name":"orange-cloudfoundry/bopt","owner":"orange-cloudfoundry","description":"Cli which some useful tool to exploit bosh","archived":false,"fork":false,"pushed_at":"2018-05-15T14:25:34.000Z","size":1232,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-06-20T12:45:17.610Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/orange-cloudfoundry.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}},"created_at":"2018-05-15T13:50:02.000Z","updated_at":"2018-11-20T13:35:13.000Z","dependencies_parsed_at":"2022-09-26T19:42:55.299Z","dependency_job_id":null,"html_url":"https://github.com/orange-cloudfoundry/bopt","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orange-cloudfoundry%2Fbopt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orange-cloudfoundry%2Fbopt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orange-cloudfoundry%2Fbopt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orange-cloudfoundry%2Fbopt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orange-cloudfoundry","download_url":"https://codeload.github.com/orange-cloudfoundry/bopt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242555555,"owners_count":20148724,"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":[],"created_at":"2025-03-08T13:27:42.664Z","updated_at":"2025-03-08T13:27:43.077Z","avatar_url":"https://github.com/orange-cloudfoundry.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bopt\n\nBopt is the short name for bosh operator tools.\n\nIt provides some useful tool to exploit bosh, exemple:\n\n- `brd` -- *Bosh Release Downloader* command: Download all releases from a bosh manifest in a single zip\n and add an ops-file to be able to use offline release after downloading locally. (Useful when no access to internet to \n deposit in an accessible repository before deployment)\n- `cmder` -- *Commander* command: Run a set of commands on multiple vms found by deployments, jobs name and bosh directors.\n\n\n## Installation\n\n### On *nix system\n\nYou can install this via the command-line with either `curl` or `wget`.\n\n#### via curl\n\n```bash\n$ sh -c \"$(curl -fsSL https://raw.github.com/orange-cloudfoundry/bopt/master/bin/install.sh)\"\n```\n\n#### via wget\n\n```bash\n$ sh -c \"$(wget https://raw.github.com/orange-cloudfoundry/bopt/master/bin/install.sh -O -)\"\n```\n\n### On windows\n\nYou can install it by downloading the `.exe` corresponding to your cpu from releases page: https://github.com/orange-cloudfoundry/bopt/releases .\nAlternatively, if you have terminal interpreting shell you can also use command line script above, it will download file in your current working dir.\n\n### From go command line\n\nSimply run in terminal:\n\n```bash\n$ go get github.com/orange-cloudfoundry/bopt\n```\n\n## Usage\n\n```\nbopt: Usage:\n  bopt [OPTIONS] \u003cbrd | cmder\u003e\n\nApplication Options:\n  -v, --verbose  Verbose output\n\nHelp Options:\n  -h, --help     Show this help message\n\nAvailable commands:\n  brd    Download all releases from a manifest, package them and add an ops-file in order to use local-file as releases\n  cmder  Run a set of commands on multiple vms found by deployments, jobs name and bosh directors\n```\n\n### BRD\n\n```\nbopt: Usage:\n  bopt [OPTIONS] brd [brd-OPTIONS] PATH\n\nDownload all releases from a manifest, package them and add an ops-file in order to use local-file as releases.\nThis will package all of this (including ops-file) in a zip.\nDecompress zip and use local-release.yml to patch your existing manifest in order to use downloaded release.\n\nApplication Options:\n  -v, --verbose                  Verbose output\n\nHelp Options:\n  -h, --help                     Show this help message\n\n[brd command options]\n      -v, --var=VAR=VALUE        Set variable\n          --var-file=VAR=PATH    Set variable to file contents\n      -l, --vars-file=PATH       Load variables from a YAML file\n          --output=OUTPUT        Place zip file to this path (use - to write to stdout)\n          --vars-env=PREFIX      Load variables from environment variables (e.g.: 'MY' to load MY_var=value)\n      -o, --ops-file=PATH        Load manifest operations from a YAML file\n      -p, --parallel=PARALLEL    Concurrent download at same time\n          --path=OP-PATH         Extract value out of template (e.g.: /private_key)\n          --var-errs             Expect all variables to be found, otherwise error\n      -k, --skip-insecure        Skip insecure ssl\n          --var-errs-unused      Expect all variables to be used, otherwise error\n\n[brd command arguments]\n  PATH:                          Path to a template which could be interpolated (use - to load manifest from stdin)\n```\n\n### Cmder\n\n```\nbopt: Usage:\n  bopt [OPTIONS] cmder [cmder-OPTIONS]\n\nRun a set of commands on multiple vms found by deployments, jobs name and bosh directors\n\nApplication Options:\n  -v, --verbose                      Verbose output\n\nHelp Options:\n  -h, --help                         Show this help message\n\n[cmder command options]\n      -j, --job-match=JOB_MATCH      Job to target\n      -d, --deployment=DEPLOYMENT    If set it will looking only deployments which match regex given\n      -n, --non-privileged           Run scripts not in privileged mode\n      -s, --script=SCRIPT            Scripts to run\n      -a, --after-all=               Det of commands to run after all commands in script have been ran in all vms\n          --config=                  Config file path (default: ~/.bosh/config) [$BOSH_CONFIG]\n      -f, --file=PATH                Path to a script in yml format (use - to load file from stdin)\n      -e, --environment=             Director environment name or URL\n      -u, --username=                Username to use to connect to director\n      -p, --password=                Password to use to connect to director\n          --gw-disable               Disable usage of gateway connection [$BOSH_GW_DISABLE]\n          --gw-user=                 Username for gateway connection [$BOSH_GW_USER]\n          --gw-host=                 Host for gateway connection [$BOSH_GW_HOST]\n          --gw-private-key=          Private key path for gateway connection [$BOSH_GW_PRIVATE_KEY]\n          --store=PATH               Store script in yml format at a path (- write it to stdout)\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forange-cloudfoundry%2Fbopt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forange-cloudfoundry%2Fbopt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forange-cloudfoundry%2Fbopt/lists"}