mfm/README.md
2023-10-24 09:22:26 +00:00

2.8 KiB

TECHY: Acknowledging projects that served as inspiration is an excellent way to pay homage to previous work and also provides users with a sense of the project's history and evolution. I'll incorporate this addition. Here's the revised README:


GX-Vault Manager

GX-Vault Manager is a Crystal-lang script designed to simplify the management of encrypted vaults using gocryptfs. With its user-friendly interface, users can seamlessly mount and unmount vaults, get real-time vault status, and handle errors gracefully.

Prerequisites

  • gocryptfs: Ensure you have gocryptfs installed on your system before using GX-Vault Manager.

Installation

1. From Source

  1. Clone or download the source code.
  2. Navigate to the source directory.
  3. Run shards install to fetch dependencies.
  4. Build using shards build.
  5. The compiled binary is located in the bin directory.

2. Binary Download

Alternatively, download a pre-compiled binary version of GX-Vault Manager.

Configuration

The script relies on a YAML configuration file, commonly found at ~/.config/gx-vault.yml, which details vault names and paths.

YAML File Format

vaults:
  - name: "vault1"
    encrypted_path: "/absolute/path/to/vault1"
  
  # Add more vaults as required

Command Line Options

Usage: gx-vault [options]

Global options:
    -c, --config FILE                Set configuration file
    -h, --help                       Show this help

Commands:
    create                           Create a new vault
    delete                           Remove an existing vault
    edit                             Modify the configuration

Usage

Post YAML configuration, run the script. Use fzf to select a vault to mount or unmount.

Dependencies

  • gocryptfs
  • fzf
  • Crystal-lang
  • Additional Crystal-lang script dependencies

Contribution Guidelines

To contribute to GX-Vault Manager:

  1. Fork the Repository: Start by forking the GX-Vault Manager repo.
  2. Create a Feature Branch: Features or fixes should be isolated in their own branches.
  3. Commit Changes: Commit with descriptive messages.
  4. Run Tests: Ensure no broken functionality.
  5. Push to Your Fork: Upload changes to your GitHub fork.
  6. Submit a Pull Request: Initiate a pull request to the main repo, detailing your changes.
  7. Review: Await maintainer feedback and respond accordingly.

By contributing, you agree to our code of conduct and GPL-2 license terms.

Authors and Contributors

  • Glenn Y. Rolland - Initial Work

Inspired By

License

GNU GPL-2