No description
- Rust 98.4%
- Just 1.6%
| .cargo | ||
| crates | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| Justfile | ||
| LICENCE | ||
| README.md | ||
Lontra
Lontra is a personal configuration framework.
Lontra is designed to help users manage their dotfiles across multiple machines.
Status
This project is currently work in progress and is not yet ready for general use.
What is lontra?
Lontra is an otter, in Italian.
Usage
- Download a binary compatible with your OS from Releases.
- Save the binary into a location in
PATH. The name of the binary is up to the user, butlontrais recommended for consistency.
TODO: Fix and describe the configuration repository format.
Upgrade security
The current security model relies on SSH signatures. The public key(s) of the project maintainer are compiled into the binary. These keys can be found in allowed_keys.rs.
The upgrade process works as follows:
{current}is the name of the currently running binary.{staging}is a temporary filename in the same directory as{current}.{url}is the URL of the remote binary.
- If required_version defined in
lontra.tomlat the root of the configuration repository differs from the current version, a new binary is downloaded into{staging}. The name of the new file is intentionally obscure. - The signature is downloaded from
{url}.siginto RAM. {staging}is verified against the signature. The process aborts with an error if the verification fails.- The
{staging}is marked as executable. - The currently running binary is renamed into
{current}.bak. This allows the user to manually restore the file if the next steps fail. {staging}is renamed into{current}.{current}.bakis removed.