https://github.com/orange-cloudfoundry/bopt
Cli which some useful tool to exploit bosh
https://github.com/orange-cloudfoundry/bopt
Last synced: 12 months ago
JSON representation
Cli which some useful tool to exploit bosh
- Host: GitHub
- URL: https://github.com/orange-cloudfoundry/bopt
- Owner: orange-cloudfoundry
- License: apache-2.0
- Created: 2018-05-15T13:50:02.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-15T14:25:34.000Z (about 8 years ago)
- Last Synced: 2024-06-20T12:45:17.610Z (about 2 years ago)
- Language: Go
- Size: 1.17 MB
- Stars: 1
- Watchers: 7
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Bopt
Bopt is the short name for bosh operator tools.
It provides some useful tool to exploit bosh, exemple:
- `brd` -- *Bosh Release Downloader* command: Download all releases from a bosh manifest in a single zip
and add an ops-file to be able to use offline release after downloading locally. (Useful when no access to internet to
deposit in an accessible repository before deployment)
- `cmder` -- *Commander* command: Run a set of commands on multiple vms found by deployments, jobs name and bosh directors.
## Installation
### On *nix system
You can install this via the command-line with either `curl` or `wget`.
#### via curl
```bash
$ sh -c "$(curl -fsSL https://raw.github.com/orange-cloudfoundry/bopt/master/bin/install.sh)"
```
#### via wget
```bash
$ sh -c "$(wget https://raw.github.com/orange-cloudfoundry/bopt/master/bin/install.sh -O -)"
```
### On windows
You can install it by downloading the `.exe` corresponding to your cpu from releases page: https://github.com/orange-cloudfoundry/bopt/releases .
Alternatively, if you have terminal interpreting shell you can also use command line script above, it will download file in your current working dir.
### From go command line
Simply run in terminal:
```bash
$ go get github.com/orange-cloudfoundry/bopt
```
## Usage
```
bopt: Usage:
bopt [OPTIONS]
Application Options:
-v, --verbose Verbose output
Help Options:
-h, --help Show this help message
Available commands:
brd Download all releases from a manifest, package them and add an ops-file in order to use local-file as releases
cmder Run a set of commands on multiple vms found by deployments, jobs name and bosh directors
```
### BRD
```
bopt: Usage:
bopt [OPTIONS] brd [brd-OPTIONS] PATH
Download all releases from a manifest, package them and add an ops-file in order to use local-file as releases.
This will package all of this (including ops-file) in a zip.
Decompress zip and use local-release.yml to patch your existing manifest in order to use downloaded release.
Application Options:
-v, --verbose Verbose output
Help Options:
-h, --help Show this help message
[brd command options]
-v, --var=VAR=VALUE Set variable
--var-file=VAR=PATH Set variable to file contents
-l, --vars-file=PATH Load variables from a YAML file
--output=OUTPUT Place zip file to this path (use - to write to stdout)
--vars-env=PREFIX Load variables from environment variables (e.g.: 'MY' to load MY_var=value)
-o, --ops-file=PATH Load manifest operations from a YAML file
-p, --parallel=PARALLEL Concurrent download at same time
--path=OP-PATH Extract value out of template (e.g.: /private_key)
--var-errs Expect all variables to be found, otherwise error
-k, --skip-insecure Skip insecure ssl
--var-errs-unused Expect all variables to be used, otherwise error
[brd command arguments]
PATH: Path to a template which could be interpolated (use - to load manifest from stdin)
```
### Cmder
```
bopt: Usage:
bopt [OPTIONS] cmder [cmder-OPTIONS]
Run a set of commands on multiple vms found by deployments, jobs name and bosh directors
Application Options:
-v, --verbose Verbose output
Help Options:
-h, --help Show this help message
[cmder command options]
-j, --job-match=JOB_MATCH Job to target
-d, --deployment=DEPLOYMENT If set it will looking only deployments which match regex given
-n, --non-privileged Run scripts not in privileged mode
-s, --script=SCRIPT Scripts to run
-a, --after-all= Det of commands to run after all commands in script have been ran in all vms
--config= Config file path (default: ~/.bosh/config) [$BOSH_CONFIG]
-f, --file=PATH Path to a script in yml format (use - to load file from stdin)
-e, --environment= Director environment name or URL
-u, --username= Username to use to connect to director
-p, --password= Password to use to connect to director
--gw-disable Disable usage of gateway connection [$BOSH_GW_DISABLE]
--gw-user= Username for gateway connection [$BOSH_GW_USER]
--gw-host= Host for gateway connection [$BOSH_GW_HOST]
--gw-private-key= Private key path for gateway connection [$BOSH_GW_PRIVATE_KEY]
--store=PATH Store script in yml format at a path (- write it to stdout)
```