Installation
Before diving into the installation process, ensure that your environment is adequately prepared. You should be operating with Go 1.20 and have access to the github.com/go-redis/redis/v8
package (version v8.11.5
).
Sendhooks provides two straightforward installation methods, each catering to different operational preferences and system setups: Docker and Direct Binary installation. Choose the method that seamlessly integrates with your system and operational flow.
To run the sendhooks executable, you'll need a config.json
file. This file contains important parameters such as the Redis host, Redis stream names for listening to webhook data streaming, and TLS Redis certificates.
Here's an example of a config.json
file:
{
"redisAddress": "127.0.0.1:6379",
"redisPassword": "your_password_here",
"redisDb": "0",
"redisSsl": "false",
"redisCaCert": "/path/to/ca_cert.pem",
"redisClientCert": "/path/to/client_cert.pem",
"redisClientKey": "/path/to/client_key.pem",
"redisStreamName": "hooks",
"redisStreamStatusName": "sendhooks-status-updates"
}
To learn more about the config.json
file, check this section.
Docker Installation
Using Docker for the installation simplifies the setup process, promoting a uniform operational environment.
Advantages:
- It promotes an efficient and streamlined setup process.
- It facilitates consistency and uniformity in various operational stages.
Considerations:
- Ensure Docker is readily installed and correctly configured on your system.
Installation Steps:
- Pull the Docker Image
docker pull transfa/sendhooks:latest
- Run the Docker Image
docker run -v /path/to/config.json:/app/config.json -t transfa/sendhooks
Direct Binary Installation (macOS and Linux)
The Direct Binary Installation method is ideal for systems that operate without Docker. It allows for more hands-on interaction and a direct engagement with the Sendhooks binary.
Advantages:
- It is suitable for environments that operate without Docker.
- It offers a more tactile and direct interaction with the Sendhooks binary.
Considerations:
- This method involves a more manual setup process, requiring a nuanced understanding of system management.
- Redis must be either locally installed or accessible through an instance.
Installation Steps:
- Download the Binary
curl -LO https://github.com/Transfa/sendhooks-engine/releases/latest/download/sendhooks
- Make the Binary Executable
chmod +x sendhooks
- Run the Binary
Ensure that you have a config.json
file in the same directory as the executable.
./sendhooks
In instances where Redis is actively running on localhost, executing the binary directly becomes a viable option.
Configuration Parameters
The following parameters are essential for configuring your Sendhooks operation. All parameters are optional as there are default values provided. However, if redisSsl
is set to true, then redisCaCert
, redisClientCert
, and redisClientKey
are required.
These parameters should be defined in the config.json
file:
redisAddress
: Specifies the Redis server address. Default is127.0.0.1:6379
.redisDb
: Specifies the Redis database to be used. Default is0
.redisPassword
: Optional. Used to set a password for accessing Redis. No default value.redisSsl
: Boolean value to enable or disable SSL/TLS. Default isfalse
.redisCaCert
,redisClientCert
,redisClientKey
: Required whenredisSsl
is true. Set these to the paths of the respective SSL/TLS certificates.redisStreamName
: Specifies the Redis stream to be used for webhook data. Default ishooks
.redisStreamStatusName
: Specifies the Redis stream to be used for status updates. Default issendhooks-status-updates
.
When redisSsl
is enabled (set to true), ensure that the redisCaCert
, redisClientCert
, and redisClientKey
parameters are correctly configured with the respective certificate paths.