secretary

command module
v0.0.0-...-d357a17 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 25, 2023 License: GPL-3.0 Imports: 1 Imported by: 0

README

Secretary

Luminos Open CodeQL Go Report Card Go Reference Swagger doc

An open source, key management system. Written in GO.

What is Secretary?

Secretary is a key management system that allows you to store and manage your keys.

You would be able to generate various types of keys, such as RSA(READY), ECDSA(WIP), and Ed25519(WIP), rotating them or keeping them persistent.

Why Secretary?

There are many key management systems out there, but none of them are open source. This is a problem, because you can't trust a closed source system with your keys.

Why Go?

Go is a great language for writing systems like this. It's fast, easy to use, and has a great community (And we love it ❤️).

How do I use it?

You can use the docker image or build it yourself.

To run the docker image execute the following command:

docker run -p 8080:8080 -p 50051:50051 -v /persistent/keys:/keys ghcr.io/luminos-company/secretary:main

By default the private keys are never sent to the client, but you can change this by setting the SECRETARY_INSECURE environment variable to true.

Name Description Default
SECRETARY_INSECURE If set to true, the private keys will be sent to the client. false

You can set those environment variables to change the default database (BE AWARE THAT THIS IS NOT SECURE):

Variable Required Default Description
PG_ENABLE No false Enables the postgres database
PG_HOST No localhost The host of the postgres database
PG_PORT No 5432 The port of the postgres database
PG_USER No postgres The user of the postgres database
PG_PASSWORD No postgres The password of the postgres database
PG_DATABASE No postgres The database of the postgres database
PG_SSL_MODE No disable The ssl mode of the postgres database
PG_TIME_ZONE No UTC The time zone of the postgres database

Documentation

Swagger docs

There is not an official documentation, just import the sdk specific language and use it following the grpc client standard implementation.

We are deploying a github page with a swagger who will let you knwo all the available methods.

How do I contribute?

You can contribute by opening a pull request, or by opening an issue. Or if you don't have the time, you can support us by donating.

License

This project is licensed under the GNU General Public License v3.0. You can read more about it here.

Technologies and Libraries

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL