Self-hosted Configurations
If you're using your own server to host our solution, there's a few things you need to setup.
Environment Variables
DEFAULT_CONFIGURATION_FILE
: url [REQUIRED]The URL of the default
.rulesrc
fileENCRYPTION_KEY
: secret passphrase [REQUIRED]Used to encrypt user's tokens
APPLICATION_NAME
: the name of the App [REQUIRED]Will appear on the commit status.
APPLICATION_URL
: the default URL of your application [REQUIRED]Used in the registration process
DISABLE_REMOTE_CONFIG
: true|false [optional]Specify if you allow to fetch the
.git-wehbooks/.rulesrc
file from the received hook. Otherwise, it uses the localsrc/rules/.rulesrc
.DATA_ACCESS
: "file" | undefined [optional]Specify the way you're accessing your data. By default, the app is fetching your mongo database. If you choose "file", it will store(and fetch) all users configurations into files.
MONGODB_CONNECTION_STRING
[optional]mongodb://localhost/hygie
by defaultNODE_ENV
: "production" | undefined [optional]Used by the LoggerService to add Timestamp and color in log (not set in production mode)
VERBOSE_LOGGER
: "true" | undefined [optional]Enable verbose mode in the LoggerService.
ANALYTICS_ID
: Google Analytics ID [optional]Used to send Rule and Post-Actions events to Google Analytics
WEBHOOK_SECRET
: string [optional]You can enable whitelisting by setting the
WEBHOOK_SECRET
env var. Every user who wants to use your app need to provide the secret in its Git's Webhook configuration.Github Webhook
Gitlab Webhook
Setting Environment Variables:
- Windows:
$env:DATA_ACCESS="file"
- Linux:
export DATA_ACCESS=file
Google API
The SendEmailRunnable
makes use of Google API to send mails.
If you want to use the Runnable, you need to create the crendentials.json
(located in the top level of your application) file as described in the offical documentation.
You just have to follow Step 1
to get your credentials.
The chosen account will be the sender (email from
field) of all emails sended through the SendEmailRunnable
.
Monitoring
Google Analytics
As specified in the previous section, you can set the ANALYTICS_ID
env var to enable Hygie to send events.
For the moment, the app only send informations about the use of Rule
and Runnable
.
Everytime one of them is processed, an event is sent to Google Analytics, with the project emitter and the name of the Rule
or Runnable
.
This allows you to have an idea of their uses.
Prometheus / Grafana
To monitor the system's health, we've created a /metrics
endpoint.
This endpoint is fetched by Prometheus every 15 seconds, and provide informations about the system itself (CPU, RAM, etc), the number of requests and the time needed to process them.
We use Grafana to create dashboard over Prometheus and visualize all usefull informations.
You can directly import our schema to visualize Hygie's health informations here.