osbuild-composer has currently has to be deployed in a virtual machine. The
tools subdirectory contains various scripts (those starting with
deploy-
) to deploy it into cloud-init-enabled environemnts. These scripts all
take the form:
$ ./tools/deploy-<target> <config> <userdata>
<config>
depends on the target (see below). <userdata>
is either a
cloud-init cloud-config file, or a directory containing
this configuration, as documented by ./tools/gen-user-data.
tools/deploy-qemu
takes as <config>
the path to a qcow2 image and starts a
ephemeral virtual machine using qemu. The qcow2 file is not changed and all
changes to the virtual machine are lost after stopping qemu.
Two ports are forwarded to the host via qemu's user networking: 22 → 2222 and 443 → 4430.
See [HACKING.md][./HACKING.md] for how to use this target for running integration tests locally.
tools/deploy-openstack
uses the openstack
tool (from python3-openstack
)
to deploy a machine in an OpenStack cluster. It expects that an OpenStack RC
file was sourced into the running shell:
. openstackrc.sh
<config>
has to be a JSON-file containing configuration about what kind of
machine to create. For example:
{
"name": "composer-instance",
"image": "fedora-32-x86_64",
"flavor": "m1.small",
"network": "my-network-id"
}