Give My Secret is a super simple credential storage application that stores secrets, passwords and other text based credentials in a secure and reliable way by encrypting them with keystores that you provide - or you can generate if you need. It's easy to configure, numerous ready-to-go configurations available for all supported databases.
Give My Secret is available as a Docker image, you can pull it from GitHub Container Registry(ghcr.io) by running the following command:
docker pull ghcr.io/peter-szrnka/give-my-secret:latest
To start a new container instance, you have to set up a bunch of environment properties. I recommend to not utilize the Docker image from scratch, if you open the "batch-files" sub folder, you can find many configurations for all available database providers written in Docker Compose format.
For further information & sample configurations, please check the sub folders under the "db" folder.
2 types of caches are provided:
- Built-in cache
- Redis
Sample configurations can be found under "batch-files" folder.
The following authenticator applications are supported:
- Google Authenticator
- Microsoft Authenticator
Currently only AES encryption is supported. In the future this will be configured by an environment property.
- Console
- File
- Logstash (in ELK stack)
You can find client code examples for Java, Go, Python and Node.js here.
CodeQL | Code coverage | Sonarcloud |
---|---|---|
Backend: Frontend: |
Backend: Frontend: |
- Java 21 (Microsoft OpenJDK)
- Maven
- Spring Boot 3.3.3
- Angular 18
- Docker
- Flyway (DB migration)