CoreOS Assembler Command Line Reference

This is a short reference of cosa sub-commands available in a CoreOS Assembler container. See each commands --help output for more details about supported arguments.

Main commands

NameDescription
buildBuild OSTree and image base artifacts from previously fetched packages
cleanDelete all build artifacts
fetchFetch and import the latest packages
initSetup the current working directory for CoreOS Assembler and clone the given project URL as Git config
kolaRun tests with kola
listList builds available locally
runRun a CoreOS instance in QEMU with access to a root shell
shellGet an interactive shell or run a command in a CoreOS Assembler container
virt-install“Install” a CoreOS system with libvirt

The following commands only do a partial rebuild to make it faster to develop on a specific part of the OS. Make sure to use the one corresponding to the part that you are working on or you will not benefit from them (i.e. they will not produce an image with your changes):

NameDescription
build-fastCreates a new QCOW2 image from an existing build and updates the ostree commit with local overrides. This will only change files located in the final root (i.e. part of an ostree commit).
buildinitramfs-fastCreate a new QCOW2 image from an existing build and updates the initramfs with local overrides. This will not re-run dracut to rebuild the initramfs.

buildextend commands

By default, the build command will build an OSTree and a QEMU image as base artifacts. Those commands extend those artifacts to make them functional on other platforms or cloud providers:

NameDescription
buildextend-liveGenerate the Live ISO
buildextend-{dasd,metal,metal4k,qemu,secex}Generate artifacts for the given platforms
buildextend-{aliyun,aws,azure,digitalocean,exoscale,gcp,vultr}Generate artifacts for the given platforms
buildextend-{azurestack,ibmcloud,openstack,vmware}Generate artifacts for the given platforms
{aliyun,aws}-replicateReplicate images on the platforms (AMIs for AWS)
buildextend-legacy-oscontainerCreate an oscontainer in legacy format (i.e. not OSTree-native)

Misc commands

Those less commonly used commands are listed here:

NameDescription
basearchConvenient wrapper for getting the base architecture
build-validateValidate the checksum of a given build
buildfetchFetches the bare minimum from external servers to create the next build
builduploadUpload a build which later can be partially re-downloaded with cmd-buildfetch
compressCompresses all images in a build
dev-synthesize-osupdateSynthesize an OS update by modifying ELF files in a “benign” way (adding an ELF note)
dev-synthesize-osupdatecontainerWrapper for dev-synthesize-osupdate that operates on an oscontainer for OpenShift
koji-uploadPerforms the required steps to make COSA a Koji Content Generator
metaHelper for interacting with a builds meta.json
oc-adm-releasePublish an oscontainer as the machine-os-content in an OpenShift release series
offline-updateGiven a disk image and a coreos-assembler build, use supermin to update the disk image to the target OSTree commit “offline”
pruneThis script removes previous builds. DO NOT USE on production pipelines
remote-pruneRemoves unreferenced builds from s3 bucket
signImplements signing with RoboSignatory via fedora-messaging
supermin-shellGet a supermin shell
tagOperate on the tags in builds.json
test-coreos-installerAutomate an end-to-end run of coreos-installer with the metal image
upload-oscontainerUpload an oscontainer (historical wrapper for cosa oscontainer)

Table of contents