secret

package module
v0.0.0-...-0fb5c5d Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2019 License: MIT Imports: 7 Imported by: 0

README

Secret Server

The simple service to manage secrets

Go Report Card GoDoc Build Status Heroku Coverage Status License

Overview

Secret Server helps to securely store secrets and get them back when needed.

Contents

About Secret Server

The secret server is designed to mace secret storage easier. Simple API allows to save and get back your secrets, and also set expiration time and view limit.

Requirements

If you run the app using docker-compose you only need it to start and a git to download a package.

Otherwise, you need Golang 1.11+ with modules enabled to compile the app and a Redis to store the secrets.

Usage

Here is a short manual on how to download and use the app.

Download

Create a new folder and run:

git clone https://github.com/ilyakaznacheev/secret.git

or download it from this page manually.

Run Local

You need to start Redis first. The default connection path is localhost:5050 but you can overwrite it using REDIS_URL environment variable. Run ```go run cmd/secret/secret.go -h` for more info.

To run the app:

go run cmd/secret/secret.go
Docker Compose

To start the whole environment run

docker-compose up

It will start the service with Redis DB, and also Prometheus metrics with Grafana UI.

Service will be on localhost:8080 and Grafana will be on localhost:3000.

Monitoring

The app is ready for Prometheus monitoring.

To start it locally, just run

docker-compose up

Also, you can monitor online deployment:

cd remote-monitoring
docker-compose up

Same as above, Grafana will start on localhost:3000. There is a preconfigured dashboard for the app, but you can build your own.

Scalability

The service is horizontally scalable. It is lock-free and uses CAS to prevent data races. You can run as many replicas as you need to fulfill your API quota requirements.

API documentation

API is documented using Swagger. Check the swagger.yml file.

Try it in Swagger Editor!

Contributing

The application is open-sourced under the MIT license.

If you will find some error, want to add something or ask a question - feel free to create an issue and/or make a pull request.

Any contribution is welcome.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

func Run(conf config.Config) error

Run start the server

Types

This section is empty.

Directories

Path Synopsis
cmd
secret
Package main is a secret service entry-point.
Package main is a secret service entry-point.
internal

Jump to

Keyboard shortcuts

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