composer-cli man page
composer-cli — Composer Cmdline Utility Documentation
Brian C. Lane <email@example.com>
composer-cli is used to interact with the lorax-composer API server, managing blueprints, exploring available packages, and building new images.
It requires lorax-composer to be installed on the local system, and the user running it needs to be a member of the weldr group. They do not need to be root, but all of the security precautions apply.
Composer-CLI Cmdline Arguments
Lorax Composer commandline tool
usage: composer-cli [-h] [-j] [-s SOCKET] [--log LOG] [-a APIVER] [--test TESTMODE] [-V] ...
- -j, --json
Output the raw JSON response instead of the normal output.
- -s, --socket
Path to the socket file to listen on
Path to logfile (./composer-cli.log)
- -a, --api
API Version to use
Pass test mode to compose. 1=Mock compose with fail. 2=Mock compose with finished.
show program's version number and exit
- compose start <BLUEPRINT> <TYPE>
Start a compose using the selected blueprint and output type.
- compose types
List the supported output types.
- compose status
List the status of all running and finished composes.
- compose list [waiting|running|finished|failed]
List basic information about composes.
- compose log <UUID> [<SIZE>]
Show the last SIZE kB of the compose log.
- compose cancel <UUID>
Cancel a running compose and delete any intermediate results.
- compose delete <UUID,...>
Delete the listed compose results.
- compose info <UUID>
Show detailed information on the compose.
- compose metadata <UUID>
Download the metadata use to create the compose to <uuid>-metadata.tar
- compose logs <UUID>
Download the compose logs to <uuid>-logs.tar
- compose results <UUID>
Download all of the compose results; metadata, logs, and image to <uuid>.tar
- compose image <UUID>
Download the output image from the compose. Filename depends on the type.
- blueprints list
List the names of the available blueprints.
- blueprints show <BLUEPRINT,...>
Display the blueprint in TOML format.
- blueprints changes <BLUEPRINT,...>
Display the changes for each blueprint.
- blueprints diff <BLUEPRINT> <FROM-COMMIT> <TO-COMMIT>
Display the differences between 2 versions of a blueprint. FROM-COMMIT can be a commit hash or NEWEST TO-COMMIT can be a commit hash, NEWEST, or WORKSPACE
- blueprints save <BLUEPRINT,...>
Save the blueprint to a file, <BLUEPRINT>.toml
- blueprints delete <BLUEPRINT>
Delete a blueprint from the server
- blueprints depsolve <BLUEPRINT,...>
Display the packages needed to install the blueprint.
- blueprints push <BLUEPRINT>
Push a blueprint TOML file to the server.
- blueprints freeze <BLUEPRINT,...>
Display the frozen blueprint's modules and packages.
- blueprints freeze show <BLUEPRINT,...>
Display the frozen blueprint in TOML format.
- blueprints freeze save <BLUEPRINT,...>
Save the frozen blueprint to a file, <blueprint-name>.frozen.toml.
- blueprints tag <BLUEPRINT>
Tag the most recent blueprint commit as a release.
- blueprints undo <BLUEPRINT> <COMMIT>
Undo changes to a blueprint by reverting to the selected commit.
- blueprints workspace <BLUEPRINT>
Push the blueprint TOML to the temporary workspace storage.
- modules list
List the available modules.
- projects list
List the available projects.
- projects info <PROJECT,...>
Show details about the listed projects.
- sources list
List the available sources
- sources info <SOURCE-NAME,...>
Details about the source.
- sources add <SOURCE.TOML>
Add a package source to the server.
- sources change <SOURCE.TOML>
Change an existing source
- sources delete <SOURCE-NAME>
Delete a package source.
status show Show API server status.
Edit a Blueprint
Start out by listing the available blueprints using composer-cli blueprints list, pick one and save it to the local directory by running composer-cli blueprints save http-server. If there are no blueprints available you can copy one of the examples from the test suite.
Edit the file (it will be saved with a .toml extension) and change the description, add a package or module to it. Send it back to the server by running composer-cli blueprints push http-server.toml. You can verify that it was saved by viewing the changelog - composer-cli blueprints changes http-server.
Build an Image
Build a qcow2 disk image from this blueprint by running composer-cli compose start http-server qcow2. It will print a UUID that you can use to keep track of the build. You can also cancel the build if needed.
The available types of images is displayed by composer-cli compose types. Currently this consists of: alibaba, ami, ext4-filesystem, google, hyper-v, live-iso, openstack, partitioned-disk, qcow2, tar, vhd, vmdk
Monitor the Build Status
Monitor it using composer-cli compose status, which will show the status of all the builds on the system. You can view the end of the anaconda build logs once it is in the RUNNING state using composer-cli compose log UUID where UUID is the UUID returned by the start command.
Once the build is in the FINISHED state you can download the image.
Download the Image
Downloading the final image is done with composer-cli compose image UUID and it will save the qcow2 image as UUID-disk.qcow2 which you can then use to boot a VM like this:
qemu-kvm --name test-image -m 1024 -hda ./UUID-disk.qcow2
2018, Red Hat, Inc.