Skip to main content
🎊 We've changed our name from Ddosify to Anteon! 🚀

🖥 Anteon Self-Hosted Chart

Our Helm chart repository is available here. ✨

note

See the documentation for more information about Anteon Self Hosted.

Installation

To install the Anteon Self-Hosted chart via Helm, run the following commands:

helm repo add anteon https://getanteon.github.io/anteon-helm-charts/
helm repo update
kubectl create namespace anteon
helm upgrade --install --namespace anteon anteon-selfhosted anteon/anteon --wait

See accessing the dashboard for the next steps.

Upgrading

To upgrade the Anteon chart, run the following commands:

helm repo add anteon https://getanteon.github.io/anteon-helm-charts/
helm repo update
helm upgrade --install --namespace anteon anteon-selfhosted anteon/anteon --wait

Cleanup

helm delete anteon-selfhosted --namespace anteon

Create Default Kubernetes Cluster (Optional)

If you want to create a default Kubernetes cluster in the Anteon UI, you can set the backend.defaultMonitoringID and backend.defaultClusterName parameters in the Helm command.

helm repo add anteon https://getanteon.github.io/anteon-helm-charts/
helm repo update
kubectl create namespace anteon
helm upgrade --install --namespace anteon anteon-selfhosted anteon/anteon --set backend.defaultMonitoringID=53f8601a-37cb-4f85-abd3-9b563217e593 --set backend.defaultClusterName="default-cluster" --wait

In this example, we are creating a default Kubernetes cluster with the monitoring ID 53f8601a-37cb-4f85-abd3-9b563217e593 and the cluster name default-cluster. You must change the values according to your setup. You should set a uuid for the backend.defaultMonitoringID parameter. This creates only one default cluster. If you want to create more clusters, you can do it from the Anteon UI.

Configuration Parameters

The following table lists the configurable parameters of the Anteon chart and their default values.

ParameterDescriptionTypeDefault
ingress.enabledEnable or disable ingress.booleanfalse
ingress.classNameDefine the ingress class name like nginx or kong.string""
ingress.annotationsAnnotations for the ingress, can include multiple comments for configuration.object{}
ingress.hostsList of hosts for ingress, each with specific paths and pathTypes.array[{"host": "anteon.local", "paths": [{"path": "/", "pathType": "Prefix"}]}]
ingress.tlsTLS configuration for ingress. Uncomment and configure as needed.array[]
hammer.replicasNumber of replicas for the hammer (load generator) service. If you want to increase the engine size for performance testing, increase this value.integer1
hammerdebug.replicasNumber of replicas for the hammer debug service.integer1
service.nameThe name of the outside service (nginx). You can forward the traffic with kubectl port-forward command to access the Anteon dashboard.string"nginx-service"
service.portPort number the outside service (nginx) operates on.integer80
service.nodePortNode port number for the outside service (nginx).integer30000
service.replicasNumber of replicas for the outside service (nginx).integer1
influxDB.externalDetermines if InfluxDB is externally managed.booleanfalse
influxDB.urlURL for InfluxDB, required if external is true.string"http://influxdb:8086"
influxDB.apiTokenAPI token for InfluxDB, required if external is true.string"5yR2qD5zCqqvjwCKKXojnPviQaB87w9JcGweVChXkhWRL"
influxDB.orgOrganization for InfluxDB, required if external is true.string"anteon"
influxDB.usernameInfluxDB username, used only if external is false.string"admin"
influxDB.passwordInfluxDB password, used only if external is false.string"ChangeMe"
influxDB.replicasNumber of replicas for InfluxDB.integer1
postgres.externalDetermines if the Postgres server is externally managed.booleanfalse
postgres.hostHost for Postgres, required if external is true.string"postgres"
postgres.portPort for Postgres, required if external is true.integer5432
postgres.usernameUsername for Postgres, required if external is true.string"postgres"
postgres.passwordPassword for Postgres, required if external is true.string"ChangeMe"
postgres.replicasNumber of replicas for Postgres.integer1
pvc.influxDB.storageClassNameStorage class name for InfluxDB persistent volume claim.string""
pvc.influxDB.sizeSize of the persistent volume claim for InfluxDB.string5Gi
pvc.postgres.storageClassNameStorage class name for Postgres persistent volume claim.string""
pvc.postgres.sizeSize of the persistent volume claim for Postgres.string5Gi
pvc.seaweedfs.storageClassNameStorage class name for SeaweedFS persistent volume claim.string""
pvc.seaweedfs.sizeSize of the persistent volume claim for SeaweedFS.string30Gi
backend.defaultMonitoringIDDefault monitoring ID (uuid) for the Kubernetes cluster. More.string""
backend.defaultClusterNameDefault cluster name for the Kubernetes cluster. More.string"default-cluster"
images.alazBackendAlaz Backend Docker imagestringddosify/selfhosted_alaz_backend:x.y.z
images.backendBackend Docker imagestringddosify/selfhosted_backend:x.y.z
images.frontendFrontend Docker imagestringddosify/selfhosted_frontend:x.y.z
images.hammerHammer Docker imagestringddosify/selfhosted_hammer:x.y.z
images.hammermanagerHammer Manager Docker imagestringddosify/selfhosted_hammermanager:x.y.z
images.influxdbInfluxDB Docker imagestringinfluxdb:x.y.z-alpine
images.nginxNginx Docker imagestringnginx:x.y.z-alpine
images.postgresPostgres Docker imagestringpostgres:x.y-alpine
images.prometheusPrometheus Docker imagestringprom/prometheus:x.y.z
images.rabbitmqRabbitMQ Docker imagestringrabbitmq:x.y.z-alpine
images.redisRedis Docker imagestringredis:x.y.z-alpine
images.seaweedfsSeaweedFS Docker imagestringchrislusf/seaweedfs:x.y
images.initContainerBusyboxInit Container Busybox Docker imagestringbusybox:x.y.z
alazbackend.replicasNumber of replicas for the Alaz Backend service.integer3
alazbackend.celeryBeatReplicasNumber of replicas for the Alaz Backend Celery Beat service.integer1
alazbackend.celeryWorkerReplicasNumber of replicas for the Alaz Backend Celery Worker service.integer2
backend.replicasNumber of replicas for the Backend service.integer3
backend.celeryBeatReplicasNumber of replicas for the Backend Celery Beat service.integer1
backend.celeryWorkerReplicasNumber of replicas for the Backend Celery Worker service.integer1
frontend.replicasNumber of replicas for the Frontend service.integer1
hammermanager.replicasNumber of replicas for the Hammer Manager service.integer1
hammermanager.celeryBeatReplicasNumber of replicas for the Hammer Manager Celery Beat service.integer1
hammermanager.celeryWorkerReplicasNumber of replicas for the Hammer Manager Celery Worker service.integer1
prometheus.replicasNumber of replicas for the Prometheus service.integer1
rabbitmq.replicasNumber of replicas for the RabbitMQ service.integer1
redisBackend.replicasNumber of replicas for the Redis Backend service.integer1
redisAlazBackend.replicasNumber of replicas for the Redis Alaz Backend service.integer1
seaweedfs.replicasNumber of replicas for the SeaweedFS service.integer1
note

The default versions of the images.* are placeholders. You can find the current versions of the images on the values.yaml file.