This repository contains instructions on how to build container images of our Halon Engage & Protect components as well as the threat protection components we provide. It also includes sample configurations for deploying these container images on K8s (Kubernetes).
Below are the components we currently have instructions for.
| Component | Description | Instructions |
|---|---|---|
smtpd |
The main MTA process | Link |
api |
HTTP/JSON API | Link |
clusterd |
Delivery Orchestrator | Link |
policyd |
Halon Delivery Guru - Warmup | Link |
web |
Web administration | Link |
classifier |
Delivery Guru: Bounce Classifier | Link |
rated |
Rate limiting implementation | Link |
dlpd |
Data Loss Prevention (DLP) engine | Link |
| Component | Description | Instructions |
|---|---|---|
expurgate |
eXpurgate Anti-Spam | Link |
savdid |
Sophos Anti-Virus | Link |
sasid |
Sophos Anti-spam | Link |
Below are the instructions for configuring and deploying the Helm charts.
The main/values.yaml file contains most of the settings that can be configured.
Some additional settings can also be found in the values.yaml files inside each subfolder.
To deploy the Helm charts first build the images as described in each subfolder and then run the following commands:
helm dependency update main
helm install halon main --render-subchart-notes
You can use the following Helm commands to install Elasticsearch which can be used with some of our components.
Important
This installs Elasticsearch with a default configuration, see here and here for all the available configuration options.
helm repo add elastic https://helm.elastic.co
helm repo update
helm install elastic-operator elastic/eck-operator -n elastic-system --create-namespace
helm install es-quickstart elastic/eck-stack -n elastic-stack --create-namespace --set=eck-kibana.enabled=false
You should now have an Elasticsearch service running on https://elasticsearch-es-default.elastic-stack.svc.cluster.local:9200.
To get the password for the elastic user you can run the below command.
kubectl -n elastic-stack get secret elasticsearch-es-elastic-user -o go-template='{{.data.elastic | base64decode}}{{"\n"}}'