大量更新
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
Jenkinsfile
|
||||
chart_template.yaml
|
||||
emqx.conf
|
||||
@@ -0,0 +1,24 @@
|
||||
apiVersion: v2
|
||||
name: emqx
|
||||
description: emqx middleware, can by deployed in clusterMode or standaloneMode
|
||||
dependend on PVCs in helm-emqxs
|
||||
|
||||
# A chart can be either an 'application' or a 'library' chart.
|
||||
#
|
||||
# Application charts are a collection of templates that can be packaged into versioned archives
|
||||
# to be deployed.
|
||||
#
|
||||
# Library charts provide useful utilities or functions for the chart developer. They're included as
|
||||
# a dependency of application charts to inject those utilities and functions into the rendering
|
||||
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
|
||||
type: application
|
||||
|
||||
# This is the chart version. This version number should be incremented each time you make changes
|
||||
# to the chart and its templates, including the app version.
|
||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||
version: 1.1.0
|
||||
|
||||
# This is the version number of the application being deployed. This version number should be
|
||||
# incremented each time you make changes to the application. Versions are not expected to
|
||||
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||
appVersion: 2.2.0
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,33 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Kubernetes standard labels
|
||||
*/}}
|
||||
{{- define "uavcloud-middleware.emqx.labels.standard" -}}
|
||||
cmii.type: {{ .Values.global.application.type }}
|
||||
{{- if .Values.enabled.clusterMode}}
|
||||
cmii.app: {{ .Values.appName.clusterMode }}
|
||||
cmii.emqx.architecture: cluster
|
||||
{{- else }}
|
||||
cmii.app: {{ .Values.appName.standaloneMode }}
|
||||
cmii.emqx.architecture: standalone
|
||||
{{- end }}
|
||||
helm.sh/chart: {{ include "uavcloud-middleware.chart" . }}
|
||||
app.kubernetes.io/managed-by: {{ $.Release.Service }}
|
||||
{{- if .Values.global.image.tag }}
|
||||
app.kubernetes.io/version: {{ .Values.global.image.tag | quote }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Labels to use on deploy.spec.selector.matchLabels and svc.spec.selector
|
||||
*/}}
|
||||
{{- define "uavcloud-middleware.emqx.labels.matchLabels" -}}
|
||||
cmii.type: {{ .Values.global.application.type }}
|
||||
{{- if .Values.enabled.clusterMode}}
|
||||
cmii.app: {{ .Values.appName.clusterMode }}
|
||||
cmii.emqx.architecture: cluster
|
||||
{{- else }}
|
||||
cmii.app: {{ .Values.appName.standaloneMode }}
|
||||
cmii.emqx.architecture: standalone
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,24 @@
|
||||
{{- define "uavcloud-middleware.emqx.cluster.config.acl" -}}
|
||||
{allow, {user, "admin"}, pubsub, ["admin/#"]}.
|
||||
{allow, {user, "dashboard"}, subscribe, ["$SYS/#"]}.
|
||||
{allow, {ipaddr, "127.0.0.1"}, pubsub, ["$SYS/#", "#"]}.
|
||||
{deny, all, subscribe, ["$SYS/#", {eq, "#"}]}.
|
||||
{allow, all}.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "uavcloud-middleware.emqx.cluster.config.emqx_auth_username" -}}
|
||||
auth.user.1.username = {{ .Values.auth.username }}
|
||||
auth.user.1.password = {{ .Values.auth.password }}
|
||||
auth.user.password_hash = sha256
|
||||
{{- end -}}
|
||||
|
||||
{{- define "uavcloud-middleware.emqx.cluster.config.loaded_plugins" -}}
|
||||
{emqx_auth_username,true}.
|
||||
{emqx_management, true}.
|
||||
{emqx_recon, true}.
|
||||
{emqx_retainer, false}.
|
||||
{emqx_dashboard, true}.
|
||||
{emqx_telemetry, true}.
|
||||
{emqx_rule_engine, true}.
|
||||
{emqx_bridge_mqtt, false}.
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,41 @@
|
||||
{{- if .Values.enabled.clusterMode }}
|
||||
{{- $namespace := .Release.Namespace -}}
|
||||
{{- $applicationName := .Values.appName.clusterMode -}}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ $applicationName }}-env
|
||||
namespace: {{ $namespace }}
|
||||
labels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.standard" . | nindent 4 }}
|
||||
data:
|
||||
EMQX_CLUSTER__K8S__ADDRESS_TYPE: hostname
|
||||
EMQX_CLUSTER__K8S__APISERVER: https://kubernetes.default.svc:443
|
||||
EMQX_CLUSTER__K8S__SUFFIX: svc.cluster.local
|
||||
EMQX_NAME: {{ $applicationName }}
|
||||
EMQX_CLUSTER__K8S__APP_NAME: {{ $applicationName }}
|
||||
EMQX_CLUSTER__DISCOVERY: k8s
|
||||
EMQX_CLUSTER__K8S__SERVICE_NAME: {{ $applicationName }}-headless
|
||||
EMQX_CLUSTER__K8S__NAMESPACE: {{ $namespace }}
|
||||
EMQX_ALLOW_ANONYMOUS: "false"
|
||||
EMQX_ACL_NOMATCH: "deny"
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ $applicationName }}-cm
|
||||
namespace: {{ $namespace }}
|
||||
labels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.standard" . | nindent 4 }}
|
||||
data:
|
||||
emqx_auth_username.conf: |-
|
||||
{{- include "uavcloud-middleware.emqx.cluster.config.emqx_auth_username" . | nindent 4 }}
|
||||
|
||||
acl.conf: |-
|
||||
{{- include "uavcloud-middleware.emqx.cluster.config.acl" . | nindent 4 }}
|
||||
|
||||
loaded_plugins: |-
|
||||
{{- include "uavcloud-middleware.emqx.cluster.config.loaded_plugins" . | nindent 4 }}
|
||||
---
|
||||
{{- end }}
|
||||
@@ -0,0 +1,30 @@
|
||||
{{- if and .Values.enabled.clusterMode .Values.ingress.enabled }}
|
||||
{{- $namespace := .Release.Namespace -}}
|
||||
{{- $applicationName := .Values.appName.clusterMode -}}
|
||||
{{- $DeployDomainName := ternary (first (regexSplit ":" .Values.global.domain.DeployDomainName -1)) ( .Values.global.domain.DeployDomainName ) (contains ":" .Values.global.domain.DeployDomainName) -}}
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ $applicationName }}
|
||||
namespace: {{ $namespace }}
|
||||
labels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.standard" . | nindent 4 }}
|
||||
spec:
|
||||
rules:
|
||||
- host: "emqx.{{ $DeployDomainName }}"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: {{ $applicationName }}
|
||||
servicePort: {{ .Values.containerPort.dashboard }}
|
||||
{{- if .Values.global.ingress.tls_enabled }}
|
||||
tls:
|
||||
- hosts:
|
||||
- "emqx.{{ $DeployDomainName }}"
|
||||
secretName: "x.{{ $DeployDomainName }}-tls"
|
||||
{{- end }}
|
||||
---
|
||||
{{- end }}
|
||||
@@ -0,0 +1,22 @@
|
||||
{{- if and .Values.enabled.clusterMode .Values.enabled.standaloneMode }}
|
||||
{{/* 不要用这个,使用统一生成的PVC */}}
|
||||
{{- $namespace := .Release.Namespace -}}
|
||||
{{- $applicationName := .Values.appName.clusterMode -}}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: {{ $applicationName }}
|
||||
namespace: {{ $namespace }}
|
||||
labels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.standard" . | nindent 4 }}
|
||||
spec:
|
||||
storageClassName: {{ .Values.global.storageClass.name }}
|
||||
accessModes:
|
||||
- {{ .Values.storageClass.accessMode }}
|
||||
volumeMode: {{ .Values.storageClass.volumeMode }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.storageClass.resources.requests.storage }}
|
||||
---
|
||||
{{- end }}
|
||||
@@ -0,0 +1,40 @@
|
||||
{{- if .Values.enabled.clusterMode }}
|
||||
{{- $namespace := .Release.Namespace -}}
|
||||
{{- $applicationName := .Values.appName.clusterMode -}}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ $applicationName }}
|
||||
namespace: {{ $namespace }}
|
||||
---
|
||||
kind: Role
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: {{ $applicationName }}
|
||||
namespace: {{ $namespace }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- endpoints
|
||||
verbs:
|
||||
- get
|
||||
- watch
|
||||
- list
|
||||
---
|
||||
kind: RoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: {{ $applicationName }}
|
||||
namespace: {{ $namespace }}
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: {{ $applicationName }}
|
||||
namespace: {{ $namespace }}
|
||||
roleRef:
|
||||
kind: Role
|
||||
name: {{ $applicationName }}
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
---
|
||||
{{- end }}
|
||||
@@ -0,0 +1,94 @@
|
||||
{{- if .Values.enabled.clusterMode }}
|
||||
{{- $namespace := .Release.Namespace -}}
|
||||
{{- $applicationName := .Values.appName.clusterMode -}}
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: {{ $applicationName }}
|
||||
namespace: {{ $namespace }}
|
||||
labels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.standard" . | nindent 4 }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicas.clusterMode }}
|
||||
serviceName: {{ $applicationName }}-headless
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.matchLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.standard" . | nindent 8 }}
|
||||
spec:
|
||||
{{- if .Values.global.affinity }}
|
||||
affinity: {{- include "common.tplvalues.render" (dict "value" .Values.global.affinity "context" $) | nindent 8 }}
|
||||
{{- else }}
|
||||
affinity:
|
||||
{{- /* podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.global.podAffinityPreset "context" $) | nindent 10 -}}*/}}
|
||||
{{- /* podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.global.podAntiAffinityPreset "context" $) | nindent 10 }}*/}}
|
||||
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.global.nodeAffinityPreset.type "key" .Values.global.nodeAffinityPreset.key "values" .Values.global.nodeAffinityPreset.values) | nindent 10 -}}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ $applicationName }}
|
||||
containers:
|
||||
- name: {{ $applicationName }}
|
||||
image: "{{ .Values.global.image.repository | default .Values.image.repository }}/emqx:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.global.image.pullPolicy }}
|
||||
ports:
|
||||
- name: mqtt
|
||||
containerPort: {{ .Values.containerPort.mqtt }}
|
||||
- name: mqttssl
|
||||
containerPort: {{ .Values.containerPort.mqttssl }}
|
||||
- name: mgmt
|
||||
containerPort: {{ .Values.containerPort.mgmt }}
|
||||
- name: ws
|
||||
containerPort: {{ .Values.containerPort.websocket }}
|
||||
- name: wss
|
||||
containerPort: {{ .Values.containerPort.wss }}
|
||||
- name: dashboard
|
||||
containerPort: {{ .Values.containerPort.dashboard }}
|
||||
- name: ekka
|
||||
containerPort: 4370
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: {{ $applicationName }}-env
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 12 }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /status
|
||||
port: {{ .Values.containerPort.mgmt | default 8081 }}
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 5
|
||||
volumeMounts:
|
||||
- name: emqx-data
|
||||
mountPath: "/opt/emqx/data/mnesia"
|
||||
readOnly: false
|
||||
- name: {{ $applicationName }}-cm
|
||||
mountPath: "/opt/emqx/etc/plugins/emqx_auth_username.conf"
|
||||
subPath: emqx_auth_username.conf
|
||||
readOnly: false
|
||||
- name: {{ $applicationName }}-cm
|
||||
mountPath: "/opt/emqx/etc/acl.conf"
|
||||
subPath: "acl.conf"
|
||||
readOnly: false
|
||||
- name: {{ $applicationName }}-cm
|
||||
mountPath: "/opt/emqx/data/loaded_plugins"
|
||||
subPath: loaded_plugins
|
||||
readOnly: false
|
||||
volumes:
|
||||
- name: emqx-data
|
||||
persistentVolumeClaim:
|
||||
claimName: helm-emqxs
|
||||
- name: {{ $applicationName }}-cm
|
||||
configMap:
|
||||
name: {{ $applicationName }}-cm
|
||||
items:
|
||||
- key: emqx_auth_username.conf
|
||||
path: emqx_auth_username.conf
|
||||
- key: acl.conf
|
||||
path: acl.conf
|
||||
- key: loaded_plugins
|
||||
path: loaded_plugins
|
||||
{{- end }}
|
||||
@@ -0,0 +1,36 @@
|
||||
{{- if .Values.enabled.clusterMode }}
|
||||
{{- $namespace := .Release.Namespace -}}
|
||||
{{- $applicationName := .Values.appName.clusterMode -}}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ $applicationName }}
|
||||
namespace: {{ $namespace }}
|
||||
labels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.standard" . | nindent 4 }}
|
||||
spec:
|
||||
type: NodePort
|
||||
selector:
|
||||
{{- include "uavcloud-middleware.emqx.labels.matchLabels" . | nindent 4 }}
|
||||
ports:
|
||||
- port: {{ .Values.containerPort.mqtt }}
|
||||
name: mqtt
|
||||
targetPort: {{ .Values.containerPort.mqtt }}
|
||||
{{- if .Values.nodePort.enabled }}
|
||||
nodePort: {{ .Values.nodePort.mqtt }}
|
||||
{{- end }}
|
||||
- port: {{ .Values.containerPort.dashboard }}
|
||||
name: dashboard
|
||||
targetPort: {{ .Values.containerPort.dashboard }}
|
||||
{{- if .Values.nodePort.enabled }}
|
||||
nodePort: {{ .Values.nodePort.dashboard }}
|
||||
{{- end }}
|
||||
- port: {{ .Values.containerPort.websocket }}
|
||||
name: mqtt-websocket
|
||||
targetPort: {{ .Values.containerPort.websocket }}
|
||||
{{- if .Values.nodePort.enabled }}
|
||||
nodePort: {{ .Values.nodePort.mqttWebSocket }}
|
||||
{{- end }}
|
||||
---
|
||||
{{- end }}
|
||||
@@ -0,0 +1,47 @@
|
||||
{{- if and .Values.enabled.clusterMode}}
|
||||
{{- $namespace := .Release.Namespace -}}
|
||||
{{- $applicationName := .Values.appName.clusterMode -}}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ $applicationName }}-headless
|
||||
namespace: {{ $namespace }}
|
||||
labels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.standard" . | nindent 4 }}
|
||||
spec:
|
||||
type: ClusterIP
|
||||
clusterIP: None
|
||||
selector:
|
||||
{{- include "uavcloud-middleware.emqx.labels.matchLabels" . | nindent 4 }}
|
||||
ports:
|
||||
- name: mqtt
|
||||
port: {{ .Values.containerPort.mqtt }}
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.containerPort.mqtt }}
|
||||
- name: mqttssl
|
||||
port: {{ .Values.containerPort.mqttssl }}
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.containerPort.mqttssl }}
|
||||
- name: mgmt
|
||||
port: {{ .Values.containerPort.mgmt }}
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.containerPort.mgmt }}
|
||||
- name: websocket
|
||||
port: {{ .Values.containerPort.websocket }}
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.containerPort.websocket }}
|
||||
- name: wss
|
||||
port: {{ .Values.containerPort.wss }}
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.containerPort.wss }}
|
||||
- name: dashboard
|
||||
port: {{ .Values.containerPort.dashboard }}
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.containerPort.dashboard }}
|
||||
- name: ekka
|
||||
port: 4370
|
||||
protocol: TCP
|
||||
targetPort: 4370
|
||||
---
|
||||
{{- end }}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,30 @@
|
||||
{{- if and .Values.enabled.standaloneMode .Values.ingress.enabled }}
|
||||
{{- $namespace := .Release.Namespace -}}
|
||||
{{- $applicationName := .Values.appName.standaloneMode -}}
|
||||
{{- $DeployDomainName := ternary (first (regexSplit ":" .Values.global.domain.DeployDomainName -1)) ( .Values.global.domain.DeployDomainName ) (contains ":" .Values.global.domain.DeployDomainName) -}}
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ $applicationName }}
|
||||
namespace: {{ $namespace }}
|
||||
labels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.standard" . | nindent 4 }}
|
||||
spec:
|
||||
rules:
|
||||
- host: "emqx.{{ $DeployDomainName }}"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: {{ $applicationName }}
|
||||
servicePort: {{ .Values.containerPort.dashboard }}
|
||||
{{- if .Values.global.ingress.tls_enabled }}
|
||||
tls:
|
||||
- hosts:
|
||||
- "emqx.{{ $DeployDomainName }}"
|
||||
secretName: "x.{{ $DeployDomainName }}-tls"
|
||||
{{- end }}
|
||||
---
|
||||
{{- end }}
|
||||
@@ -0,0 +1,92 @@
|
||||
{{- if and .Values.enabled.standaloneMode (not .Values.enabled.clusterMode) }}
|
||||
{{- $namespace := .Release.Namespace -}}
|
||||
{{- $applicationName := .Values.appName.standaloneMode -}}
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: {{ $applicationName }}
|
||||
namespace: {{ $namespace }}
|
||||
labels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.standard" . | nindent 4 }}
|
||||
spec:
|
||||
serviceName: {{ $applicationName }}
|
||||
replicas: {{ .Values.replicas.standaloneMode }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.matchLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.standard" . | nindent 8 }}
|
||||
annotations:
|
||||
pod.alpha.kubernetes.io/initialized: "true"
|
||||
spec:
|
||||
{{- if .Values.global.affinity }}
|
||||
affinity: {{- include "common.tplvalues.render" (dict "value" .Values.global.affinity "context" $) | nindent 8 }}
|
||||
{{- else }}
|
||||
affinity:
|
||||
{{- /* podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.global.podAffinityPreset "context" $) | nindent 10 -}}*/}}
|
||||
{{- /* podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.global.podAntiAffinityPreset "context" $) | nindent 10 }}*/}}
|
||||
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.global.nodeAffinityPreset.type "key" .Values.global.nodeAffinityPreset.key "values" .Values.global.nodeAffinityPreset.values) | nindent 10 -}}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ $applicationName }}
|
||||
image: "{{ .Values.global.image.repository | default .Values.image.repository }}/emqx:{{ .Values.image.tag }}"
|
||||
securityContext:
|
||||
privileged: true
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 12 }}
|
||||
ports:
|
||||
- containerPort: {{ .Values.containerPort.mqtt }}
|
||||
name: mqtt
|
||||
protocol: TCP
|
||||
- containerPort: {{ .Values.containerPort.dashboard }}
|
||||
name: dashboard
|
||||
protocol: TCP
|
||||
- containerPort: {{ .Values.containerPort.websocket }}
|
||||
name: mqtt-websocket
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- name: {{ $applicationName }}-plugins
|
||||
mountPath: /opt/emqx/data/loaded_plugins
|
||||
subPath: loaded_plugins
|
||||
- name: {{ $applicationName }}-auth
|
||||
mountPath: /opt/emqx/etc/plugins/emqx_auth_username.conf
|
||||
subPath: emqx_auth_username.conf
|
||||
- name: {{ $applicationName }}-core
|
||||
mountPath: /opt/emqx/etc/emqx.conf
|
||||
subPath: emqx.conf
|
||||
defaultMode: 664
|
||||
- name: emqx-data
|
||||
mountPath: /opt/emqx/data/emqx_erl_pipes
|
||||
readOnly: false
|
||||
subPath: {{ $namespace }}/{{ $applicationName }}/data
|
||||
- name: emqx-data
|
||||
mountPath: /opt/emqx/log
|
||||
readOnly: false
|
||||
subPath: {{ $namespace }}/{{ $applicationName }}/log
|
||||
volumes:
|
||||
- name: emqx-data
|
||||
persistentVolumeClaim:
|
||||
claimName: helm-emqxs
|
||||
- name: {{ $applicationName }}-plugins
|
||||
configMap:
|
||||
name: {{ $applicationName }}-plugins
|
||||
items:
|
||||
- key: loaded_plugins
|
||||
path: loaded_plugins
|
||||
- name: {{ $applicationName }}-auth
|
||||
configMap:
|
||||
name: {{ $applicationName }}-auth
|
||||
items:
|
||||
- key: emqx_auth_username.conf
|
||||
path: emqx_auth_username.conf
|
||||
- name: {{ $applicationName }}-core
|
||||
configMap:
|
||||
name: {{ $applicationName }}-core
|
||||
items:
|
||||
- key: emqx.conf
|
||||
path: emqx.conf
|
||||
---
|
||||
{{- end }}
|
||||
@@ -0,0 +1,36 @@
|
||||
{{- if and .Values.enabled.standaloneMode (not .Values.enabled.clusterMode) }}
|
||||
{{- $namespace := .Release.Namespace -}}
|
||||
{{- $applicationName := .Values.appName.standaloneMode -}}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ $applicationName }}
|
||||
namespace: {{ $namespace }}
|
||||
labels:
|
||||
{{- include "uavcloud-middleware.emqx.labels.standard" . | nindent 4 }}
|
||||
spec:
|
||||
type: {{ .Values.global.middlewareService.type }}
|
||||
selector:
|
||||
{{- include "uavcloud-middleware.emqx.labels.matchLabels" . | nindent 4 }}
|
||||
ports:
|
||||
- port: {{ .Values.containerPort.mqtt }}
|
||||
name: mqtt
|
||||
targetPort: {{ .Values.containerPort.mqtt }}
|
||||
{{- if eq .Values.global.middlewareService.type "NodePort" }}
|
||||
nodePort: {{ .Values.nodePort.mqtt }}
|
||||
{{- end }}
|
||||
- port: {{ .Values.containerPort.dashboard }}
|
||||
name: dashboard
|
||||
targetPort: {{ .Values.containerPort.dashboard }}
|
||||
{{- if eq .Values.global.middlewareService.type "NodePort" }}
|
||||
nodePort: {{ .Values.nodePort.dashboard }}
|
||||
{{- end }}
|
||||
- port: {{ .Values.containerPort.websocket }}
|
||||
name: mqtt-websocket
|
||||
targetPort: {{ .Values.containerPort.websocket }}
|
||||
{{- if eq .Values.global.middlewareService.type "NodePort" }}
|
||||
nodePort: {{ .Values.nodePort.mqttWebSocket }}
|
||||
{{- end }}
|
||||
---
|
||||
{{- end }}
|
||||
@@ -0,0 +1,54 @@
|
||||
enabled:
|
||||
clusterMode: true
|
||||
standaloneMode: false
|
||||
|
||||
auth:
|
||||
username: cmii
|
||||
password: odD8#Ve7.B
|
||||
|
||||
storageClass:
|
||||
accessMode: "ReadWriteOnce"
|
||||
volumeMode: Filesystem
|
||||
resources:
|
||||
requests:
|
||||
storage: 16Gi
|
||||
|
||||
nodePort:
|
||||
enabled: true
|
||||
mqtt: 31883
|
||||
dashboard: 48083
|
||||
mqttWebSocket: 38083
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
image:
|
||||
repository: docker.io/emqx # commonly no use
|
||||
tag: 4.2.12
|
||||
|
||||
replicas:
|
||||
clusterMode: 3
|
||||
standaloneMode: 1
|
||||
|
||||
appName:
|
||||
clusterMode: helm-emqxs
|
||||
standaloneMode: helm-emqx
|
||||
|
||||
# please don't modify this values below !!!
|
||||
containerPort:
|
||||
mqtt: 1883
|
||||
mgmt: 8081
|
||||
websocket: 8083
|
||||
wss: 8084
|
||||
mqttssl: 8883
|
||||
dashboard: 18083
|
||||
|
||||
resources:
|
||||
limits:
|
||||
memory: 2Gi
|
||||
cpu: "1"
|
||||
requests:
|
||||
memory: 1Gi
|
||||
cpu: 300m
|
||||
|
||||
|
||||
Reference in New Issue
Block a user