hera

command module
v0.1.16 Latest Latest
Warning

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

Go to latest
Published: Aug 29, 2022 License: LGPL-2.1 Imports: 3 Imported by: 0

README

Welcome to Hera

example workflow

Building Nuntio Blocks: secure, efficient & open-source API blocks that run on any Linux-based environment and scale massively. Nuntio Cloud is the commercial offering of the above technologies and helps companies go from idea to production faster, without losing control over their data or services. Our goal with Nuntio Cloud is to provide an open European alternative to Google Firebase that is secure, easy to set up, scale worldwide, and that you can move from Nuntio Cloud to your private data-center or another provider whenever you want.

Hera

Hera is a fully fledged user-management system written in Golang, designed to be secure & stateless and to run in Kubernetes. It handles advanced data encryption models and features such as: normal and verfified authentication flows, creating, fetching and updating user information with custom metatadata, sending and validating emails and much more! Hopefully, Hera will be the last authentication & user-management system you will ever need. Reach out to info@nuntio.io if you wanna give it a try, or sign-up for for a porfile in Nuntio Cloud if you wanna try our managed solution.

Environment

Name Type Description Default Required
ENCRYPTION_KEYS []String An array of encryption keys used to encrypt/decrypt data at rest. If you provide more than one key, the keys will automatically be used to create a master key. If you think your data has been compromised, add another encryption key to the list, and the service will automatically encrypt users under the new key. [] No
GRPC_PORT int The port you wish to start the gRPC server on. 9000 No
HTTP_PORT int The port you wish to start the http server on. 9001 No
ENABLE_GRPC_SERVER bool This specifies weather or not you want to run the gRPC server. true No
ENABLE_HTTP_SERVER bool This specifies weather or not you want to run the http server. false No
ACCESS_TOKEN_EXPIRY Duration The expiration time for the access tokens. Should be a valid string duration such as: "30s", "30m" or "30h". 30m No
REFRESH_TOKEN_EXPIRY Duration The expiration time for the refresh tokens. Should be a valid string duration such as: "30s", "30m" or "30h". 30d No
PUBLIC_KEY RSA Public Key A public key used to validate access and refresh tokens. Auto-generate if empty. No
PRIVATE_KEY RSA Private Key A private key used to sign access and refresh tokens. Auto-generate if empty. No
MONGO_URI String A URI for your Mongodb database. "" Yes
HEARA_DEFAULT_DB String The name of the default hera database. hera_db no
INITIALIZE_SECRETS Bool If set to true, the service will automatically create encryption secrsts and RSA public/private keys. false No
INITIALIZE_ENGINE String If set to "kubernetes", the service will create secrets used when the system starts up again. If set to "memory" the system will create new secrets when starting up again - do not use this option in production. This is only relevant if you initialize encryption secrtets. memory No
NEW_ENCRYPTION_KEY String If provided, the system will automatically add a new encryption key to the system and encrypt users under that new key. "" No
MAX_EMAIL_VERIFICATION_AGE Duration Define how long the email verification code is valid. 5m No

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

Enjoy Hera? Show your gratitude by buying our team a cup of coffee!

We spend many hours building Hera and our other open-source projects - if you want to support our work, buy our founder (and team) a cup of coffee below:

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package authenticator is used to authenticate requests in and out of Hera.
Package authenticator is used to authenticate requests in and out of Hera.
Package email describes logic for sending emails and implements a set of email providers that Hera natively supports.
Package email describes logic for sending emails and implements a set of email providers that Hera natively supports.
Package environment handles all variables that can be injected to Hera from the env and is passed to all packages.
Package environment handles all variables that can be injected to Hera from the env and is passed to all packages.
admin
admin is the brain of the admin endpoints in this application.
admin is the brain of the admin endpoints in this application.
public
public is the brain of the public endpoints in this application.
public is the brain of the public endpoints in this application.
Package hash is build to support multiple hashing algorithms with different parameters across projects.
Package hash is build to support multiple hashing algorithms with different parameters across projects.

Jump to

Keyboard shortcuts

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