Add README

This commit is contained in:
Glenn Y. Rolland 2023-10-20 11:33:12 +02:00
parent 97212b20ad
commit d19602ffac

58
README.md Normal file
View file

@ -0,0 +1,58 @@
# GX-Vault Manager
GX-Vault Manager is a Crystal-lang script that helps in managing encrypted vaults using `gocryptfs`. The script offers a user-friendly interface for mounting and unmounting vaults, providing real-time status and handling errors gracefully.
## Configuration
The script uses a YAML configuration file, typically stored at `~/.config/gx-vault.yml`. This file contains details about the vaults, including their names and paths.
## YAML File Format
The configuration file consists of an array of vaults, with each vault having a name and an encrypted path. Below is the structure of the YAML file:
```yaml
vaults:
- name: "vault1"
encrypted_path: "/absolute/path/to/vault1"
- name: "vault2"
encrypted_path: "/absolute/path/to/vault2"
# Add more vaults as needed
```
## Fields Description
- **vaults:** The root element containing an array of all defined vaults.
- **name:** The unique name of the vault. This is used for display and selection purposes.
- **encrypted_path:** The absolute path to the directory where the encrypted data is stored. This path is used by `gocryptfs` for mounting the vault.
## Example
Here is a sample configuration with two vaults named "Personal" and "Work":
```yaml
vaults:
- name: "Personal"
encrypted_path: "/home/user/encrypted/personal"
- name: "Work"
encrypted_path: "/home/user/encrypted/work"
```
## Usage
Once the YAML configuration file is set up, run the script. It will read the configuration, and you can select a vault to mount or unmount using the `fzf` interactive selector. The status of each vault (whether it's open or closed) is displayed next to the vault's name.
## Dependencies
- gocryptfs
- fzf
- Crystal-lang
- Other dependencies as per the Crystal-lang script
## License
GPL-2