Просмотр исходного кода

Merge pull request #10171 from emqx/release-50

sync release-50 to master
zhongwencool 2 лет назад
Родитель
Сommit
43e95c6a85

+ 2 - 2
apps/emqx/include/emqx_release.hrl

@@ -32,10 +32,10 @@
 %% `apps/emqx/src/bpapi/README.md'
 
 %% Community edition
--define(EMQX_RELEASE_CE, "5.0.20").
+-define(EMQX_RELEASE_CE, "5.0.21").
 
 %% Enterprise edition
--define(EMQX_RELEASE_EE, "5.0.2-alpha.1").
+-define(EMQX_RELEASE_EE, "5.0.2-alpha.2").
 
 %% the HTTP API version
 -define(EMQX_API_VERSION, "5.0").

+ 1 - 1
apps/emqx_conf/src/emqx_conf.erl

@@ -162,7 +162,7 @@ gen_schema_json(Dir, I18nFile, SchemaModule, Lang) ->
     ok = file:write_file(SchemaJsonFile, IoData).
 
 gen_api_schema_json(Dir, I18nFile, Lang) ->
-    emqx_dashboard:init_i18n(I18nFile, Lang),
+    emqx_dashboard:init_i18n(I18nFile, list_to_binary(Lang)),
     gen_api_schema_json_hotconf(Dir, Lang),
     gen_api_schema_json_bridge(Dir, Lang),
     emqx_dashboard:clear_i18n().

+ 2 - 2
apps/emqx_dashboard/src/emqx_dashboard.erl

@@ -133,8 +133,8 @@ get_i18n() ->
     application:get_env(emqx_dashboard, i18n).
 
 init_i18n(File, Lang) when is_atom(Lang) ->
-    init_i18n(File, atom_to_list(Lang));
-init_i18n(File, Lang) when is_list(Lang) ->
+    init_i18n(File, atom_to_binary(Lang));
+init_i18n(File, Lang) when is_binary(Lang) ->
     Cache = hocon_schema:new_desc_cache(File),
     application:set_env(emqx_dashboard, i18n, #{lang => Lang, cache => Cache}).
 

+ 12 - 0
apps/emqx_dashboard/test/emqx_dashboard_SUITE.erl

@@ -155,6 +155,18 @@ t_rest_api(_Config) ->
     emqx_dashboard_admin:add_user(<<"admin">>, Password, <<"administrator">>),
     ok.
 
+t_swagger_json(_Config) ->
+    Url = ?HOST ++ "/api-docs/swagger.json",
+    %% with auth
+    Auth = auth_header_(<<"admin">>, <<"public_www1">>),
+    {ok, 200, Body1} = request_api(get, Url, Auth),
+    ?assert(jsx:is_json(Body1)),
+    %% without auth
+    {ok, {{"HTTP/1.1", 200, "OK"}, _Headers, Body2}} =
+        httpc:request(get, {Url, []}, [], [{body_format, binary}]),
+    ?assertEqual(Body1, Body2),
+    ok.
+
 t_cli(_Config) ->
     [mria:dirty_delete(?ADMIN, Admin) || Admin <- mnesia:dirty_all_keys(?ADMIN)],
     emqx_dashboard_cli:admins(["add", "username", "password_ww2"]),

+ 0 - 1
changes/ce/feat-10065.en.md

@@ -1 +0,0 @@
-Add deb package support for `raspbian9` and `raspbian10`.

+ 0 - 1
changes/ce/feat-10065.zh.md

@@ -1 +0,0 @@
-为 `raspbian9` 及 `raspbian10` 增加 deb 包支持。

+ 0 - 1
changes/ce/feat-10128.en.md

@@ -1 +0,0 @@
-Add support for OCSP stapling and CRL check for SSL MQTT listeners.

+ 0 - 1
changes/ce/feat-10128.zh.md

@@ -1 +0,0 @@
-为 SSL MQTT 监听器增加对 OCSP Stapling 的支持。

+ 3 - 0
changes/ce/feat-10139.en.md

@@ -0,0 +1,3 @@
+Add `extraVolumeMounts` to EMQX Helm Chart, it will have the ability to mount the user-own files into the EMQX instance, for example, ACL rule files as mentioned in [#9052](https://github.com/emqx/emqx/issues/9052)
+
+Done of [#10116](https://github.com/emqx/emqx/issues/10116)

+ 3 - 0
changes/ce/feat-10139.zh.md

@@ -0,0 +1,3 @@
+将 `extraVolumeMounts` 添加到 EMQX Helm Chart 中,它将能够挂载用户自己的文件到 EMQX 实例中,例如在 [#9052](https://github.com/emqx/emqx/issues/9052) 中提到的 ACL 规则文件。
+
+完成了 [#10116](https://github.com/emqx/emqx/issues/10116)

+ 2 - 0
deploy/charts/emqx-enterprise/README.md

@@ -57,6 +57,8 @@ The following table lists the configurable parameters of the emqx chart and thei
 | `persistence.size` | PVC Storage Request for EMQX volume | 20Mi |
 | `initContainers` | Containers that run before the creation of EMQX containers. They can contain utilities or setup scripts. | `{}` |
 | `resources` | CPU/Memory resource requests/limits | {} |
+| `extraVolumeMounts` | Additional volumeMounts to the default backend container. | [] |
+| `extraVolumes` | Additional volumes to the default backend pod.| [] |
 | `nodeSelector` | Node labels for pod assignment | `{}` |
 | `tolerations` | Toleration labels for pod assignment | `[]` |
 | `affinity` | Map of node/pod affinities | `{}` |

+ 7 - 1
deploy/charts/emqx-enterprise/templates/StatefulSet.yaml

@@ -74,12 +74,15 @@ spec:
         secret:
           secretName: {{ .Values.emqxLicenseSecretName }}
       {{- end }}
+      {{- if .Values.extraVolumes }}
+        {{- toYaml .Values.extraVolumes | nindent 8 }}
+      {{- end }}
       {{- if .Values.podSecurityContext.enabled }}
       securityContext: {{- omit .Values.podSecurityContext "enabled" | toYaml | nindent 8 }}
       {{- end }}
       {{- if .Values.initContainers }}
       initContainers:
-{{ toYaml .Values.initContainers | indent 8 }}
+        {{- toYaml .Values.initContainers | nindent 8 }}
       {{- end }}
       {{- if .Values.image.pullSecrets }}
       imagePullSecrets:
@@ -138,6 +141,9 @@ spec:
             subPath: "emqx.lic"
             readOnly: true
           {{- end }}
+          {{- if .Values.extraVolumeMounts }}
+            {{- toYaml .Values.extraVolumeMounts | nindent 12 }}
+          {{- end }}
           readinessProbe:
             httpGet:
               path: /status

+ 11 - 0
deploy/charts/emqx-enterprise/values.yaml

@@ -62,6 +62,17 @@ resources: {}
   #   cpu: 500m
   #   memory: 512Mi
 
+extraVolumeMounts: []
+## Additional volumeMounts to the default backend container.
+#  - name: my-owner-acl
+#    mountPath: /opt/emqx/etc/acl.conf
+#    subPath: acl.conf
+
+extraVolumes: []
+## Additional volumes to the default backend pod.
+#  - name: my-owner-acl
+#    secret:  fake-acl-conf
+
 # Containers that run before the creation of EMQX containers. They can contain utilities or setup scripts.
 initContainers: {}
   # - name: sysctl

+ 2 - 2
deploy/charts/emqx/Chart.yaml

@@ -14,8 +14,8 @@ 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.
-version: 5.0.20
+version: 5.0.21
 
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application.
-appVersion: 5.0.20
+appVersion: 5.0.21

+ 2 - 0
deploy/charts/emqx/README.md

@@ -57,6 +57,8 @@ The following table lists the configurable parameters of the emqx chart and thei
 | `persistence.size` | PVC Storage Request for EMQX volume | 20Mi |
 | `initContainers` | Containers that run before the creation of EMQX containers. They can contain utilities or setup scripts. | `{}` |
 | `resources` | CPU/Memory resource requests/limits | {} |
+| `extraVolumeMounts` | Additional volumeMounts to the default backend container. | [] |
+| `extraVolumes` | Additional volumes to the default backend pod.| [] |
 | `nodeSelector` | Node labels for pod assignment | `{}` |
 | `tolerations` | Toleration labels for pod assignment | `[]` |
 | `affinity` | Map of node/pod affinities | `{}` |

+ 7 - 1
deploy/charts/emqx/templates/StatefulSet.yaml

@@ -74,12 +74,15 @@ spec:
         secret:
           secretName: {{ .Values.emqxLicenseSecretName }}
       {{- end }}
+      {{- if .Values.extraVolumes }}
+        {{- toYaml .Values.extraVolumes | nindent 8 }}
+      {{- end }}
       {{- if .Values.podSecurityContext.enabled }}
       securityContext: {{- omit .Values.podSecurityContext "enabled" | toYaml | nindent 8 }}
       {{- end }}
       {{- if .Values.initContainers }}
       initContainers:
-{{ toYaml .Values.initContainers | indent 8 }}
+        {{- toYaml .Values.initContainers | nindent 8 }}
       {{- end }}
       {{- if .Values.image.pullSecrets }}
       imagePullSecrets:
@@ -138,6 +141,9 @@ spec:
             subPath: "emqx.lic"
             readOnly: true
           {{- end }}
+          {{- if .Values.extraVolumeMounts }}
+            {{- toYaml .Values.extraVolumeMounts | nindent 12 }}
+          {{- end }}
           readinessProbe:
             httpGet:
               path: /status

+ 11 - 0
deploy/charts/emqx/values.yaml

@@ -62,6 +62,17 @@ resources: {}
   #   cpu: 500m
   #   memory: 512Mi
 
+extraVolumeMounts: []
+## Additional volumeMounts to the default backend container.
+#  - name: my-owner-acl
+#    mountPath: /opt/emqx/etc/acl.conf
+#    subPath: acl.conf
+
+extraVolumes: []
+## Additional volumes to the default backend pod.
+#  - name: my-owner-acl
+#    secret:  fake-acl-conf
+
 # Containers that run before the creation of EMQX containers. They can contain utilities or setup scripts.
 initContainers: {}
   # - name: sysctl

+ 2 - 2
scripts/rel/format-changelog.sh

@@ -115,9 +115,9 @@ if [ "$PROFILE" == "emqx-enterprise" ]; then
     changes_dir+=("$top_dir/changes/ee")
 fi
 
-while read -d "" -r file; do
+while read -r file; do
    PRS+=("$file")
-done < <(git diff --name-only -z -a "tags/${BASE_TAG}...HEAD" "${changes_dir[@]}")
+done < <(git diff --diff-filter=A --name-only "tags/${BASE_TAG}...HEAD" "${changes_dir[@]}")
 
 TEMPLATE_FEAT_CHANGES="$(section 'feat')"
 TEMPLATE_PERF_CHANGES="$(section 'perf')"