github.com/Cloud-Foundations/Dominator@v0.3.4/cmd/unpacker-tool/README.md (about) 1 # unpacker-tool 2 A utility to control the *image-unpacker*. 3 4 The *unpacker-tool* utility may be used to debug and control a running 5 *image-unpacker*. 6 *Unpacker-Tool* may be run on any machine and can be used to issue the low-level 7 RPC requests used in building bootable image artefacts. It is typically run on a 8 desktop or bastion machine. 9 10 ## Usage 11 *Unpacker-tool* supports several sub-commands. There are many command-line flags 12 which provide parameters for these sub-commands. The most commonly used 13 parameter is `-imageUnpackerHostname` which specifies which host the 14 *image-unpacker* to talk to is running on. The basic usage pattern is: 15 16 ``` 17 unpacker-tool [flags...] command [args...] 18 ``` 19 20 Built-in help is available with the command: 21 22 ``` 23 unpacker-tool -h 24 ``` 25 26 Some of the sub-commands available are: 27 28 - **add-device**: add a device (block storage volume) with specified external 29 identifier. The command will be executed to dynamically add 30 (attach) the storage volume to the machine running the 31 *image-unpacker* 32 - **associate**: associate an image stream with the specified device 33 - **claim-device**: claim (register) an existing device 34 - **export-image**: export image to a specified destination (i.e. S3-backed AMI) 35 - **forget-stream**: forget the specified image stream 36 - **get-raw**: get the raw contents of the device storing the image and write to 37 the local file specified by the `-filename` parameter 38 - **get-status**: get status information for the *image-unpacker* 39 - **get-device-for-stream**: get the device ID for the specified image stream 40 - **prepare-for-capture**: prepare a previously unpacked image for capture by 41 adding/updating a bootloader 42 - **prepare-for-copy**: prepare the device for copying the contents from the 43 *image-unpacker* (i.e. `scp`) or with **get-raw** 44 - **prepare-for-unpack**: prepare the device for unpacking an image by scanning 45 the file-system 46 - **remove-device**: remove an unused device from management 47 - **unpack-image**: unpack the specfied image version (leaf name) for the stream 48 49 ## Security 50 *Image-unpacker* restricts RPC access using TLS client authentication. 51 *Unpacker-tool* will load certificate and key files from the `~/.ssl` 52 directory. *Unpacker-tool* will present these certificates to *image-unpacker*. 53 If one of the certificates is signed by a certificate authority 54 that *image-unpacker* trusts, *image-unpacker* will grant access.