github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/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  - **estimate-usage**: estimate the file-system space needed to unpack an image
    45  - **find-latest-image**: find the latest image in a directory
    46  - **get**: get and unpack an image
    47  - **get-archive-data**: get archive (audit) data for an image
    48  - **get-file-in-image**: get file in an image
    49  - **get-image-expiration**: get the expiration time for an image
    50  - **list**: list all images
    51  - **listdirs**: list all directories
    52  - **listunrefobj**: list the unreferenced objects on the server
    53  - **make-raw-image**: make a bootable RAW image from an image
    54  - **match-triggers**: match a path to a triggers file
    55  - **merge-filters**: merge filter files
    56  - **merge-triggers**: merge trigger files
    57  - **mkdir**: make a directory
    58  - **patch-directory**: patch (update) a local directory with an image
    59  - **scan-filtered-files**: scan a directory and list those matched by the image filter
    60  - **show**: show (list) an image
    61  - **show-filter**: show the filter for an image
    62  - **showunrefobj**: list the unreferenced objects on the server and their sizes
    63  - **tar**: create a tarfile from an image
    64  - **test-download-speed**: test the speed for downloading objects for an image
    65  
    66  ## Security
    67  *[Imageserver](../imageserver/README.md)* restricts RPC access using TLS client
    68  authentication. *Imagetool* will load certificate and key files from the
    69  `~/.ssl` directory. *Imagetool* will present these certificates to
    70  *imageserver*. If one of the certificates is signed by a certificate authority
    71  that *imageserver* trusts, *imageserver* will grant access.