Skip to content

Commit ab222b2

Browse files
committed
docs: update lxc.rst for per-relay caching and parallel deploy
Update the quick-start and CLI reference sections to reflect per-relay cached images (localchat-test0, localchat-test1), parallel deploy, DNS readiness checks, and revised memory limits (256 MiB for DNS container). Add mention of section timing summary printed at the end of lxc-test.
1 parent d001af5 commit ab222b2

File tree

1 file changed

+21
-14
lines changed

1 file changed

+21
-14
lines changed

doc/source/lxc.rst

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,10 @@ Quick start
5656

5757
The ``lxc-test`` command executes each ``cmdeploy`` subprocess command
5858
so you can copy-paste and run them individually.
59+
A section timing summary is printed at the end.
5960
No host DNS delegation or ``~/.ssh/config`` changes are needed
60-
because lxc-test passes ssh-related CLI options to "cmdeploy run" and "cmdeploy test" commands.
61+
because lxc-test passes ssh-related CLI options to
62+
``cmdeploy run`` and ``cmdeploy test`` commands.
6163

6264

6365
CLI reference
@@ -80,20 +82,22 @@ CLI reference
8082
Pass ``NAME`` to stop specific containers.
8183
Use ``--destroy`` to also delete the containers and their config files.
8284
Use ``--destroy-all`` to additionally destroy
83-
the ``ns-localchat`` DNS container **and** remove
84-
the cached ``localchat-base`` and ``localchat-relay``
85-
images, giving a fully clean slate for the next ``lxc-test``.
85+
the ``ns-localchat`` DNS container **and** remove all cached
86+
images (``localchat-base``, per-relay images),
87+
giving a fully clean slate for the next ``lxc-test``.
8688
User containers are **never** destroyed unless named explicitly.
8789

8890
``lxc-test [--one]``
8991
Idempotent full pipeline:
9092

91-
1. ``lxc-start``: create ``test0`` + ``test1``
92-
containers, minimal DNS
93+
1. ``lxc-start``: create ``test0`` + ``test1`` containers,
94+
configure DNS with readiness check
9395

94-
2. ``cmdeploy run``: deploy chatmail services on each relay
96+
2. ``cmdeploy run``: deploy chatmail services
97+
on all relays **in parallel**
9598

96-
3. publish ``localchat-relay`` image after first successful deploy
99+
3. publish per-relay cached images (``localchat-test0``,
100+
``localchat-test1``) after first successful deploy
97101

98102
4. ``cmdeploy dns --zonefile``: generate standard
99103
BIND-format zone files, load full DNS records
@@ -221,15 +225,18 @@ per-container ``chatmail-*.ini`` files, zone files, and ``ssh-config``.
221225

222226
The only state *outside* the repository is the Incus containers and images themselves
223227
(managed via the ``incus`` CLI, labelled with ``user.localchat-managed=true``).
224-
Two cached images are published to the local Incus image store:
228+
Several cached images are published to the local Incus image store:
225229

226-
* ``localchat-base``: Debian 12 with openssh-server and Python (built on first run)
230+
* ``localchat-base``: Debian 12 with openssh-server and Python
231+
(built on first run)
227232

228-
* ``localchat-relay``: fully deployed relay snapshot,
233+
* ``localchat-test0``, ``localchat-test1``: per-relay snapshots
229234
published after the first successful ``cmdeploy run``.
230-
Subsequent relay containers launch from this image
231-
so the deploy step is mostly no-ops (roughly 3× faster than a fresh deploy).
232-
Relay containers are limited to **500 MiB RAM** and the DNS container to **100 MiB**.
235+
Subsequent containers launch from these images
236+
so the deploy step is mostly no-ops.
237+
238+
Relay containers are limited to **500 MiB RAM**
239+
and the DNS container to **256 MiB**.
233240

234241

235242
.. _lxc-tls:

0 commit comments

Comments
 (0)