values.yaml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. ## Default values for emqx.
  2. ## This is a YAML-formatted file.
  3. ## Declare variables to be passed into your templates.
  4. ## It is recommended to have odd number of nodes in a cluster, otherwise the emqx cluster cannot be automatically healed in case of net-split.
  5. replicaCount: 3
  6. image:
  7. repository: emqx/emqx
  8. pullPolicy: IfNotPresent
  9. ## Optionally specify an array of imagePullSecrets.
  10. ## Secrets must be manually created in the namespace.
  11. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  12. ##
  13. # pullSecrets:
  14. # - myRegistryKeySecretName
  15. # The name of a secret in the same kubernetes namespace which contains values to
  16. # be added to the environment (must be manually created)
  17. # This can be useful for passwords and logins, etc.
  18. # envFromSecret: "emqx-secrets"
  19. ## Forces the recreation of pods during helm upgrades. This can be useful to update configuration values even if the container image did not change.
  20. recreatePods: false
  21. # Pod deployment policy
  22. # value: OrderedReady | Parallel
  23. # To redeploy a chart with existing PVC(s), the value must be set to Parallel to avoid deadlock
  24. podManagementPolicy: Parallel
  25. persistence:
  26. enabled: false
  27. size: 20Mi
  28. ## If defined, volume.beta.kubernetes.io/storage-class: <storageClass>
  29. ## Default: volume.alpha.kubernetes.io/storage-class: default
  30. # storageClass: "-"
  31. accessMode: ReadWriteOnce
  32. ## Existing PersistentVolumeClaims
  33. ## The value is evaluated as a template
  34. ## So, for example, the name can depend on .Release or .Chart
  35. # existingClaim: ""
  36. resources: {}
  37. # limits:
  38. # cpu: 500m
  39. # memory: 512Mi
  40. # requests:
  41. # cpu: 500m
  42. # memory: 512Mi
  43. # Containers that run before the creation of EMQX containers. They can contain utilities or setup scripts.
  44. initContainers: {}
  45. # - name: mysql-probe
  46. # image: alpine
  47. # command: ["sh", "-c", "for i in $(seq 1 300); do nc -zvw1 mysql 3306 && exit 0 || sleep 3; done; exit 1"]
  48. ## EMQX configuration item, see the documentation (https://hub.docker.com/r/emqx/emqx)
  49. emqxConfig:
  50. EMQX_CLUSTER__K8S__APISERVER: "https://kubernetes.default.svc:443"
  51. ## The address type is used to extract host from k8s service.
  52. ## Value: ip | dns | hostname
  53. ## Note:Hostname is only supported after v4.0-rc.2
  54. EMQX_CLUSTER__K8S__ADDRESS_TYPE: "hostname"
  55. EMQX_CLUSTER__K8S__SUFFIX: "svc.cluster.local"
  56. ## if EMQX_CLUSTER__K8S__ADDRESS_TYPE eq dns
  57. # EMQX_CLUSTER__K8S__SUFFIX: "pod.cluster.local"
  58. ## EMQX Enterprise Edition requires manual creation of a Secret containing the licensed content. Write the name of Secret to the value of "emqxLicneseSecretName"
  59. ## Example:
  60. ## kubectl create secret generic emqx-license-secret-name --from-file=/path/to/emqx.lic
  61. emqxLicneseSecretName:
  62. service:
  63. ## Service type
  64. ##
  65. type: ClusterIP
  66. ## Port for MQTT
  67. ##
  68. mqtt: 1883
  69. ## Port for MQTT(SSL)
  70. ##
  71. mqttssl: 8883
  72. ## Port for mgmt API
  73. ##
  74. mgmt: 8081
  75. ## Port for WebSocket/HTTP
  76. ##
  77. ws: 8083
  78. ## Port for WSS/HTTPS
  79. ##
  80. wss: 8084
  81. ## Port for dashboard
  82. ##
  83. dashboard: 18083
  84. ## Port for dashboard HTTPS
  85. ##
  86. # dashboardtls: 18084
  87. ## Specify the nodePort(s) value for the LoadBalancer and NodePort service types.
  88. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
  89. ##
  90. nodePorts:
  91. mqtt:
  92. mqttssl:
  93. mgmt:
  94. ws:
  95. wss:
  96. dashboard:
  97. dashboardtls:
  98. ## Set the LoadBalancer service type to internal only.
  99. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
  100. ##
  101. # loadBalancerIP:
  102. ## Load Balancer sources
  103. ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
  104. ## Example:
  105. ## loadBalancerSourceRanges:
  106. ## - 10.10.10.0/24
  107. ##
  108. loadBalancerSourceRanges: []
  109. ## Set the ExternalIPs
  110. ##
  111. externalIPs: []
  112. ## Provide any additional annotations which may be required. Evaluated as a template
  113. ##
  114. annotations: {}
  115. nodeSelector: {}
  116. tolerations: []
  117. affinity: {}
  118. ingress:
  119. ## ingress for EMQX Dashboard
  120. dashboard:
  121. enabled: false
  122. # ingressClassName: nginx
  123. annotations: {}
  124. # kubernetes.io/ingress.class: nginx
  125. # kubernetes.io/tls-acme: "true"
  126. path: /
  127. hosts:
  128. - dashboard.emqx.local
  129. tls: []
  130. ## ingress for EMQX Mgmt API
  131. mgmt:
  132. enabled: false
  133. # ingressClassName: nginx
  134. annotations: {}
  135. # kubernetes.io/ingress.class: nginx
  136. # kubernetes.io/tls-acme: "true"
  137. path: /
  138. hosts:
  139. - api.emqx.local
  140. tls: []
  141. podSecurityContext:
  142. enabled: true
  143. fsGroup: 1000
  144. fsGroupChangePolicy: Always
  145. runAsUser: 1000
  146. supplementalGroups:
  147. - 1000
  148. containerSecurityContext:
  149. enabled: true
  150. runAsNonRoot: true
  151. runAsUser: 1000