Skip to content

zoeponta/emqx-chart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EMQ X Helm chart

This is unofficial helm chart of EMQ-X mqtt broker. The official helm chart is here.

Requirements

  • EMQ X v4.2
  • Helm v3+
  • Kubernetes 1.16+

I test on minikube and GKE only.

Install

To install the chart with the release name my-emqx:

helm repo add zoeponta https://zoeponta.github.io/charts/
helm install my-emqx zoeponta/emqx

Uninstall

To uninstall the my-emqx deployment:

helm uninstall my-emqx

Configurations

The following table lists the configurable parameters of the drone charts and their default values.

Parameter Description Default
replicaCount EMQ X instance count 3
image.repository EMQ X image repository emqx/emqx
image.pullPolicy EMQ X image pull policy IfNotPresent
image.tag EMQ X image tag ""
imagePullSecrets List of container registry secrets []
nameOverride String to partially override redis.fullname template with a string (will prepend the release name) ""
fullnameOverride String to fully override redis.fullname template with a string ""
rbac.create Specifies whether RBAC resources should be created true
serviceAccount.create Specifies whether a ServiceAccount should be created true
serviceAccount.annotations Annotations for ServiceAccount {}
serviceAccount.name Name of the ServiceAccount to create ""
podAnnotations Annotations for pods {}
podSecurityContext Security context for pod {}
securityContext Security context for container {}
service.mqtt.type Service type for EMQ X broker ClusterIP
service.mqtt.loadBalancerIP Load Balancer IP nil
service.mqtt.ports.mqtt Port for MQTT 1883
service.mqtt.ports.mqtts Port for MQTT over SSL 8883
service.mqtt.ports.ws Port for WebSocket 8083
service.mqtt.ports.wss Port for WebSocket over SSL 8084
service.http.type Service type for HTTP server ClusterIP
service.http.ports.dashboard Port for dashboard 18083
ingress.enabled Enable ingress false
ingress.className IngressClass name ""
ingress.annotations Annotations for Ingress {}
ingress.host Ingress host board.example.local
ingress.tls Ingress TLS configuration nil
resources EMQ X resource requests and limits {}
autoscaling.enabled Enable horizontal pod autoscaler false
autoscaling.minReplicas Minimum number of EMQ X instances 1
autoscaling.maxReplicas Maximum number of EMQ X instances 100
autoscaling.targetCPUUtilizationPercentage Target Utilization for CPU nil
autoscaling.targetMemoryUtilizationPercentage Target Utilization for Memory nil
nodeSelector Node labels for pod assignment {}
tolerations Toleration labels for pod assignment []
affinity Affinity settings for pod assignment {}
persistence.enabled Enable persistent volume true
persistence.storageClass Name of the StorageClass to use per your volume provider ""
persistence.accessMode Access mode for the volume ReadWriteOnce
persistence.size Size of the volume 100M
persistence.annotations Annotations for persistent volume claim {}
metrics.enabled Enable to get metrics by using emqx_prometheus true
metrics.cloudmonitoring.enabled Enable to send metrics to Cloud Monitoring false
metrics.cloudmonitoring.image.repository prometheus-to-sd image repository gcr.io/google-containers/prometheus-to-sd
metrics.cloudmonitoring.image.tag prometheus-to-sd image tag v0.9.2
metrics.servicemonitor.enabled (TBD) Enable to use service monitor false
ssl.enabled Enable MQTT over SSL and Websocket over SSL false
ssl.secret Secret name of certificate ""
ssl.dir Directory for certificate /opt/emqx/etc/certs
management.application.id Default application ID admin
management.application.secret Default application secret public
dashboard.enabled Enable dashboard true
dashboard.defaultUsername Default user name admin
dashboard.defaultPassword Default user password public
loglevel Log level debug
extraEnvs Set extra EMQ X configurations {}

Authentication / Access Control List

Parameter Description Default
auth.mnesia.enabled Enable username authentication use configuration files false
auth.mnesia.passwordHash Password hash sha256
auth.mnesia.as Authenticate as username or clientid username
auth.mnesia.users List of user info. []
auth.mnesia.users[x].login Username nil
auth.mnesia.users[x].password Password nil
auth.mnesia.users[x].superuser Login user is weather super user. false

TODO

  • ACL / Auth
  • Use ingress for websocket over SSL
  • Automaticaly reload certificate
  • Custom metrics
  • Prometheus Operator (ServiceMonitor)

About

Helm chart of EMQ X (MQTT borker)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages