Chapters

Documentation

The current goal is a useful overview of Copland, with practical examples and visible gaps. The documents below have a starting point, but some topics still need work.

These are documentation tasks, not a list of missing system features. Getting started now contains Personal system and VPS examples that have been built but still need installation and boot testing. options.org and recipes.org remain intentionally empty for now.

Services

Explain tasks, logging, environment variables, resource limits and service hooks. Review the existing provider examples.

Secrets

Explain native age keys alongside SSH keys, persistent destinations and key rotation.

Copland Home

Document user services, session variables, managed directories and file conflicts during activation.

Storage

Add practical guidance for changing an existing dataset's mountpoint or quota.

Switching

Explain how changed services are identified and how to inspect a failed switch.

Containers

Review the existing text and examples against the current module.

Development

Expand the existing runner notes into an overview of module development, local packages and validation.

Move the VPS installation guide into installation.org

Known implementation gaps

SSH authorized-key activation currently depends on the zfs-datasets activation step even when no additional datasets are declared. Such a configuration fails to evaluate. The VPS example includes a state dataset and therefore avoids this issue.

Automatic clock synchronization is not yet provided by the module catalog.

Add ServerAliveInterval to install.sh SSH options

Make authorized-keys activation independent of zfs-datasets

Respect pool altroot in ZFS dataset activation

Share the target installation routine between installer.py and install.sh

Build a Copland kexec installer image

Planned features

Configurable switch failures

We plan to make it possible to complete a switch even when selected services fail to start. This would allow those services to be started manually later without rolling back the whole system configuration.