Pandora Project¶
Secret management is a critical aspect of modern DevOps environments, where securely handling authentication tokens and other sensitive credentials is essential. To address these needs, we introduce Pandora, a secret management system built using the Golang Gin framework. Pandora is designed to run in a containerized environment and provides an API for seamless user interaction. Any HTTPS client operating from a machine with access to the server can act as a Pandora client. Pandora aims to offer an efficient and streamlined solution for securely managing secrets in DevOps workflows.
| main.go | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | |
Pandora Secrets Management System¶
Introduction¶
Secret management is a critical aspect of modern DevOps environments, where securely handling authentication tokens and other sensitive credentials is essential.
To address these needs, we introduce Pandora, a secret management system built using the Golang Gin framework. Pandora is designed to run in a containerized environment and provides an API for seamless user interaction. Any HTTPS client operating from a machine with access to the server can act as a Pandora client.
Pandora aims to offer an efficient and streamlined solution for securely managing secrets in DevOps workflows.
Prerequisites¶
- Golang Installed: Install Golang to compile the code.
- Docker Installed: Install Docker for containerized deployment.
- Digital Certificate and Private Key: Obtain a valid digital certificate and private key to enable secure HTTPS communication.
Installation Guide¶
Follow these steps to set up the Pandora HTTPS server:
- Clone the Repository: Clone the Pandora repository from GitHub:
git clone https://github.com/MustafaAbdulazizHamza/Pandora-Server.git - Compile the Project: Compile the project so that it can be run:
go build -o Pandora - Add Digital Certificate and Private Key: Place your digital certificate and private key files (named server.*) in the project directory.
- Build Pandora Docker Image: Create a custom Docker image for Pandora using the following command:
docker build -t pandora:v1 . - Create a Database Storage Volume: Set up a volume for the Pandora database using:
docker volume create pandora-data - Run Pandora Container: Launch the Pandora container and attach the previously created volume:
docker run -d -p 8080:8080 --name pandora -v pandora-data:/root/ pandora:v1
Notes:¶
- The default root password is root.
- You can use Pandora-CLI for server configuration or service acquisition.
- Several clients have been developed for this server, such as Pandora-CLI and Go-Pandora.
Related Tools¶
- Pandora-Cli: An HTTPS client CLI tool for simple user interaction with the Pandora Secrets Management System. Pandora-CLI
- Go-Pandora: A Golang library that provides a client interface for using and managing the Pandora Secrets Management System was publish at this repository: Go-Pandora