# TODO to fix in the documentation

Todo

Document (and possibly fix) what happens when workers are restarted while running a task.

original entry

Todo

In future, we might also provide the ability to map particular repositories onto different URLs.

original entry

Todo

Add a Snapshots field to generated `Release` files, pointing to the corresponding URL format.

original entry

Todo

Once we’ve defined how repository signing works, we should also publish each repository’s public keys in some standard location.

original entry

Todo

Debusine currently only supports OpenPGP signing with software-encrypted keys. It should gain support for generating keys on PKCS#11 tokens and signing using those keys, and for exporting those keys under wrap in order to deal with hardware security models with a limited number of object slots.

original entry

Todo

We should have a simpler way to manage signing keys: perhaps they should be stored in artifacts and referenced using lookups.

original entry

Todo

Add new explanation pages to cover:

- architecture (server, worker, client)

original entry

Todo

Add new reference pages to cover:

- debusine-server configuration file

- debusine-worker configuration file

original entry

Todo

The definition of this category is not yet fully agreed. We’ll revisit it when we’re closer to being able to try out an implementation so that we can see how the lookup mechanisms will work.

original entry

Todo

The whole expiration point needs some redesign, tracked in issue #346

original entry

Todo

Include here documentation about the various configuration files.

original entry

Todo

Check whether it’s feasible to implement this in Debusine itself as a server-side task. If not, we’ll need to make it a worker task and consider what environment it should run in.

original entry

Todo

Define the output. It should probably be a new artifact category, produced only if the task fails, containing the list of newly-uninstallable packages.

original entry

Todo

`{task_name:="sign"}:available:purpose` (when not OpenPGP)

original entry

Todo

Specify how to configure keys to be used with a YubiKey.

original entry

Todo

Add more precise details of how this is recorded.

original entry

Todo

Task input fields are currently only available for worker tasks, but the plan is to extend them to all kinds of tasks. See #1357.

original entry

Todo

Document exactly how transactional updates of collections work in general: tasks need to see a coherent state, and simple updates to collections can be done in a database transaction, but some longer update tasks where using a single database transaction is impractical may need more careful handling. See discussion in !517.

original entry

Todo

Debian uses Extra-Source-Only: yes to indicate that a source package is only present in an index due to being referenced by a binary package in the suite (via `Built-Using` or `Source`). Debusine has all the necessary information about which source and binary packages are in the suite and how they relate to each other, so it can add this field when generating `Sources` files. (We may find that checking the relationships efficiently requires some additional database indexes.)

original entry

Todo

This will need additional parameters once we start supporting HSMs.

original entry

Todo

When we will be able to use tags for matching task configuration entries we will effectively have the equivalent of supporting multiple configuration context entries, and possibly we will replace configuration context completely.

original entry

Todo

It would be useful to have a mechanism to control multiarch tests, such as testing i386 packages on an amd64 testbed.

original entry

Todo

Not implemented:

- `enable_check_installability`, `check_installability_suite` (see CheckInstallability)

original entry

Todo

We may need to use different keys for different architectures. For example, a UEFI signing key is only useful on architectures that use UEFI, and some architectures have other firmware signing arrangements.

original entry

Todo

Permission checks for this workflow are not yet implemented.

original entry

Todo

It would be useful to have a mechanism to control multiarch tests, such as testing i386 packages on an amd64 testbed.

original entry

Todo

It would be useful to be able to set `base_tgz` separately from `environment`.

original entry

Todo

Not implemented: `enable_check_installability` and `check_installability_suite`.

original entry

Todo

We will probably need the ability to control parameters such as `fail_on` in sub-workflows, but these are often quite package-specific.

original entry

Todo

This workflow does not currently handle checking for regressions against a base reference.

original entry

Todo

Reverse-dependencies are not currently restricted by version (e.g. due to versioned dependencies) or architecture (e.g. due to architecture-restricted dependencies, or the `architectures` field in task data).

original entry

Todo

Valid-Until can be supported by adding a field to the suite collection specifying the validity period. This workflow would then additionally include all those whose validity period is nearly up in its search criteria.

original entry