github.com/Cloud-Foundations/Dominator@v0.3.4/cmd/imagetool/README.md (about) 1 # imagetool 2 A utility to add, delete, get and compare images on the 3 *[imageserver](../imageserver/README.md)*. 4 5 The *imagetool* is the most important utility in the **Dominator** system, as it 6 is used to manage images. *Imagetool* may be run on any machine. It is typically 7 run on a desktop, bastion or build machine, depending on the sophistication of 8 your build environment. 9 10 ## Usage 11 *Imagetool* 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 `-imageServerHostname` which specifies which host the *imageserver* 14 to talk to is running on. The basic usage pattern is: 15 16 ``` 17 imagetool [flags...] command [args...] 18 ``` 19 20 Built-in help is available with the command: 21 22 ``` 23 imagetool -h 24 ``` 25 26 Some of the sub-commands available are: 27 28 - **add**: add an image using a compressed tarfile for image data 29 - **addi**: add an image using an existing image for image data 30 - **addrep**: add an image using an existing image and layer files from 31 compressed tarfiles on top of existing files 32 - **adds**: add an image using files from a running *subd* for image data (this 33 allows "snapshotting" of a golden machine) 34 - **bulk-addrep**: perform addrep operation for all images 35 - **change-image-expiration**: change or remove the expiration time for an image 36 - **check**: check if an image exists 37 - **check-directory**: check if a directory exists 38 - **chown**: change the owner group of an image directory 39 - **copy**: copy an image 40 - **copy-filtered-files**: copy files from a directory tree which match the image filter 41 - **delete**: delete an image 42 - **delunrefobj**: delete (garbage collect) unreferenced objects 43 - **diff**: compare two images 44 - **diff-build-logs**: compare the build logs for two images 45 - **diff-files**: compare the specified file in two images 46 - **diff-filters**: compare the filters for two images 47 - **diff-package-lists**: compare the package lists for two images 48 - **diff-triggers**: compare the triggers for two images 49 - **estimate-usage**: estimate the file-system space needed to unpack an image 50 - **find-latest-image**: find the latest image in a directory 51 - **get**: get and unpack an image 52 - **get-archive-data**: get archive (audit) data for an image 53 - **get-build-log**: get build log for an image 54 - **get-file-in-image**: get file in an image 55 - **get-image-expiration**: get the expiration time for an image 56 - **get-image-updates**: get a stream of image updates 57 - **get-package-list**: get package list for an image 58 - **get-replication-master**: show the replication master for the imageserver 59 - **list**: list all images 60 - **listdirs**: list all directories 61 - **listunrefobj**: list the unreferenced objects on the server 62 - **list-mdb**: list all image names in the MDB (images may not exist) 63 - **list-not-in-mdb**: list all images not listed in the MDB 64 - **make-raw-image**: make a bootable RAW image from an image 65 - **match-triggers**: match a path to a triggers file 66 - **merge-filters**: merge filter files 67 - **merge-triggers**: merge trigger files 68 - **mkdir**: make a directory 69 - **patch-directory**: patch (update) a local directory with an image 70 - **scan-filtered-files**: scan a directory and list those matched by the image filter 71 - **show**: show (list) an image 72 - **show-filter**: show the filter for an image 73 - **show-inode**: show metadata for an inode in an image 74 - **show-metadata**: show metadata for an image 75 - **show-triggers**: show triggers for an image 76 - **showunrefobj**: list the unreferenced objects on the server and their sizes 77 - **tar**: create a tarfile from an image 78 - **test-download-speed**: test the speed for downloading objects for an image 79 - **trace-inode-history**: trace the change history of an inode in an image and its sources 80 81 ## Security 82 *[Imageserver](../imageserver/README.md)* restricts RPC access using TLS client 83 authentication. *Imagetool* will load certificate and key files from the 84 `~/.ssl` directory. *Imagetool* will present these certificates to 85 *imageserver*. If one of the certificates is signed by a certificate authority 86 that *imageserver* trusts, *imageserver* will grant access.