Update README

This commit is contained in:
Joel Elkins 2023-04-10 23:33:59 -05:00
parent 755b508e92
commit 5524034b6c
No known key found for this signature in database
GPG Key ID: 133589DC38921AE2

View File

@ -1,7 +1,10 @@
# ccl
A tool to manage a set of [podman][] containers, with a basic configuration
defined in a common [toml][] file.
defined in a common [toml][] configuration file. In a sense, this tool is
a more basic version of `docker-compose`, except that it defines a whole set of
containers in one configuration file, and has much more limited capabilities
(e.g., there is no "compose" feature).
## Installation
@ -17,14 +20,19 @@ Currently, no global options are definable.
### Networks
Networks are used to set certain default values for containers that reference
them. The name of the network must match the name of a predefined podman
network. In my case (and one of the main reasons for this tool), I use macvlan
networks, which alters the network configuration somewhat, e.g.: the `ipv6` boolean
setting for the network is effectively ignored for macvlans. If there is a router
sending out RA's, the container will pick up on it and, depending on your podman
and host network settings, assign itself an autoconfigured ipv6 address, even when
you told podman to disable ipv6.
Networks refer to pre-existing podman networks. The purpose of configuring them
in this file is to set per-container options, e.g., static ips, DNS servers, or
whether to enable ipv6. If a static IP is defined for a container, the
corresponding network (matching by the "name" property) must have already been
configured using `podman network add …`, and the subnet of the podman network
must contain the configured IP address. In my case (and one of the main reasons
for this tool), I use macvlan networks, which alters the network configuration
somewhat, e.g.: the `ipv6` boolean setting for the network is effectively
ignored for macvlans. If there is a router sending out RA's, the container will
pick up on it and, depending on your podman and host network settings, assign
itself an autoconfigured ipv6 address, even when you told podman to disable
ipv6. This tool corrects this issue by forcing ipv6 off in the container's
network namespace.
You can also set default DNS servers by network, so you don't have to tediously
do that for each container.