This commit moves away from `virsh`, which requires setup and a
persistent daemon, and is rather complex and opaque, and will now have
virtual hosts use QEMU directly. Port mappings are now also made
automatically, albeit on higher ports -- port 8022 for SSH, port 8080
for HTTP, port 8443 for HTTPS. More port mappings will be added in the
future, with direct mappings made where possible.
This commit contains a fairly large diff for a fairly small change:
moving the `config/common` directory to `host/base` to better reflect
its intended use, and promoting `config/service` to the root directory.
These changes unlock some improvements in `coreos-home-server-update`
processes, which will (assuming `/etc/coreos-home-server/base` exists)
keep host-wide systemd services in sync in addition to service-specific
ones.
Changes have been make to the `Makefile` and a few other places where
`config/common` was referenced, but most of this work is renames that
are not intended to break compatibility with new or running servers.
This also updates the Ignition compilation dependency resolution to
ignore local file references that have been commented out, and masks the
timer for updating CoreOS configuration in virtual environments, to
avoid overriding any changes made locally.
This partially reverts default network configuration, which will now
implicitly create the specified network without the ability to set
default plugins.
Templated services are also no longer enabled by default, but expect to
be enabled as part of concrete patterns.
And introduce a `purge` target, intended to supplant the current `clean`
target, in allowing the latter to be used to clean Butane configuration
without removing any cached images.
This contains the culmination of work done privately for a few months,
and is intended to be a solid basis for other peoples' experimentations
with setting up single-node, home-server setups using Fedora CoreOS.