Skip to content

hackfixme/disco

Repository files navigation

Disco 🪩🕷️

Disco is a distributed configuration and secrets manager.

It allows securely storing and retrieving arbitrary data locally, and serving it to authorized remote clients.

Warning

The project is in early development, so expect bugs and missing features. It is usable in its current state, but please report any issues here.

Features

  • User-friendly command-line interface.
  • Single-binary deployments.
  • Data is encrypted at rest and in transit using modern cryptography (NaCl, TLS 1.3).
  • Flexible authorization using role-based access control.
  • Namespacing support for separating environments (development, staging, production, etc.).
  • Cross-platform: runs on Linux, macOS and Windows.

You can see planned work on the milestones page. Please vote on issues by giving them a 👍.

Installation

The easiest way to install Disco is by downloading one of the pre-built packages from the latest release on the releases page. Unpack the disco binary and place it somewhere on your $PATH.

Container images are also available on Docker Hub. Stable releases are published with version tags, e.g. 0.1.0, and are also tagged with latest. Unstable releases track the main branch and are tagged with main.

To pull and run the latest stable release:

docker run --rm -it hackfixme/disco --version

See the container usage page for workflow suggestions.

Alternatively, you can build a binary for your system.

First, ensure Git and Go are installed. Go must be version 1.22 or later.

Then in a terminal run:

go install go.hackfix.me/disco/cmd/disco@latest

Documentation

For usage instructions, details about the internals, and other information, see the documentation.

License

AGPLv3