Releases: emqx/emqx-operator
EMQX Operator 2.0.0 Released
Release Note 🍻
EMQX Operator 2.0.0 is released.
Supported version
Features 🌈
New API version: apps.emqx.io/v2alpha1
and Kind: EMQX
, support for EMQX 5 milestone versions, please check out reference docs
-
New stateless node: EMQX Replicant, use
Deployment
-
New HOCON configuration style, in line with the format of EMQX 5
-
Fully automated EMQX node upgrade management
Broken Change 🚫
Must uninstall EMQX Operator 1 before installing this release
What's Changed
- Main 2.0 by @Rory-Z in #359
- feat(v2alpha1): add default probe to core nodes by @Rory-Z in #360
- update docs by @Rory-Z in #362
- chore: fix json name error by @Rory-Z in #363
- chore: default install CRD when use helm chart by @Rory-Z in #364
- chore: change PeriodSeconds and FailureThreshold for default probe by @Rory-Z in #365
- chore: when update core nodes, delete coreReady and Running condition by @Rory-Z in #366
- style: rename storeSts to existedSts by @Rory-Z in #367
Full Changelog: 1.2.6...2.0.0
EMQX Operator 1.2.6 Released
Release Note 🍻
EMQX Operator 1.2.6 is released.
Supported EMQX version
-
EMQX 4.4.8 and later
-
EMQX Enterprise 4.4.8 and later
Features 🌈
-
Add
.spec.emqxTemplate.license.secretName
for EMQX Enterprise Custom Resource, the user can create the EMQX license as a Kubernetes secret resource and use in MQX Enterprise Custom Resource -
After the user updates the license, the EMQX Operator completes the runtime update via the EMQX API
Fixes 🛠
-
Now it's not possible to update
.spec.persistent
in the EMQX Custom Resource runtime -
Now it does not create
loaded_plugins
configMap for EMQX Custom Resource, this is to fix theerofs
error in EMQX
What's Changed
- docs: add badge for README by @Rory-Z in #332
- style: add update method for various resources in emqx statefulSet by @Gala-R in #329
- ci: add commit sha for coverall by @Rory-Z in #333
- ci: add coverall for cts by @Rory-Z in #334
- feat: support obtaining license data from secret by @Gala-R in #335
- feat: support using http api upload license by @Gala-R in #336
- chore: delete default listener port for env by @Rory-Z in #337
- docs: add cce and azure deployment docs by @brianbinbin in #340
- feat: add watch file by directory by @Gala-R in #339
- chore: reject upate emqx persistent by @Gala-R in #342
- fix: shield internal listener by @Gala-R in #343
- docs: add tke and ack deployment docs by @Gala-R in #341
- docs: update public cloud platform deployment docs by @yang-yinbo in #345
- chore: delete needless switch case by @Rory-Z in #347
- docs: docs optimization by @yang-yinbo in #349
- ci: build images before runs compatibility tests by @Rory-Z in #352
- chore: change reloader image version to 0.0.2 by @Rory-Z in #355
- chore: delete loaded_plugins configmap by @Rory-Z in #356
- docs: update operator features by @yang-yinbo in #354
- chore: pre release 1.2.6 by @Rory-Z in #358
Full Changelog: 1.2.5...1.2.6
EMQX Operator 1.2.5 Released
Release Note 🍻
EMQX Operator 1.2.5 is released.
Supported EMQX version
-
EMQX 4.4.6 and later
-
EMQX Enterprise 4.4.6 and later
Fixes 🛠
- Add
publishNotReadyAddresses: true
for headless service, this will fix the issue of split-brain for EMQX clusters.
What's Changed
- chore: add RFC3339TimeEncoder to zap options by @Gala-R in #323
- style: change io/ioutil to io package by @Rory-Z in #326
- chore: add PublishNotReadyAddresses for headless service by @Rory-Z in #325
- chore: add comments by @brianbinbin in #324
- fix: use ParallelPodManagement to eliminate warning logs in EMQX pod by @Rory-Z in #331
- chore: pre relase 1.2.5 by @Rory-Z in #330
Full Changelog: 1.2.4...1.2.5
EMQX Operator 1.2.4 Released
Release Note 🍻
EMQX Operator 1.2.4 is released.
Warning 🚨
Only supported 4.4.6 and later versions of EMQX and EMQX Enterprise
Features 🌈
-
Users can add extra Containers to the pod, see #252.
-
When deploy EMQX Custom Resource, if exist PVCs, set
.spec.podManagementPolicy = "Parallel"
, or else, set.spec.podManagementPolicy = "OrderedReady"
, this can avoid to some extent the problem of EMQX cluster brain cleavage. -
Add
username
andpassword
to.spec.emqxTemplate
for EMQX Custom Resource, users can use them to set up the dashboard and API authentication, and also, users will no longer be able to create and modifyemqx_management
andemqx_dashboard
plugins by EMQX Plugin Custom Resource. -
If users didn't set
acl
in.spec.emqxTemplate
, the ConfigMap will not be created. -
For EMQX Enterprise, if users didn't set
modules
in.spec.emqxTemplate
, the ConfigMap will not be created. -
New fields for
.status
in EMQX Custom Resource. -
Now we don't create
volume
andvolumeMount
for EMQX logs anymore, EMQX logs will output to container stdout by default.
What's Changed
- feat: get the listeners port by API after the emqx cluster is ready by @Rory-Z in #308
- chore: delete default probe by @Rory-Z in #313
- chore: add default value for username and password by @Rory-Z in #314
- update emqx modules by @Rory-Z in #307
- chore: dump emqx version to 4.4.6 by @Rory-Z in #316
- chore: format annotations for statefulSet by @Rory-Z in #315
- chore: pre relase 1.2.4 by @Rory-Z in #317
- chore: add failed reconciled to emqx status by @Rory-Z in #318
- ci: update upgrade check by @Rory-Z in #319
- ci: use latest condition to check emqx status by @Rory-Z in #321
Full Changelog: 1.2.3...1.2.4
EMQX Operator 1.2.2 Released
Release Note 🍻
EMQX Operator 1.2.2 is released.
Fix 🛠
-
Fix the issue that the service template default port will overwrite the user set port error.
-
Fix the issue that service nodePort is out of range when updating EMQX Custom Resources.
What's Changed
- ci: update cert-manager by @Gala-R in #264
- fix: fix service template default port will overwrite user set port error by @Rory-Z in #265
- ci: fix build reloadaer image error by @Rory-Z in #262
- fix: fix error for provided port is not in the valid range by @Rory-Z in #267
- chore: pre release 1.2.2 by @Rory-Z in #268
Full Changelog: 1.2.1...1.2.2
EMQX Operator 1.2.1 Released
Release Note 🍻
EMQX Operator 1.2.1 is released.
Features 🌈
-
When updating EMQX Plugin Custom Resources, like change listener port, or update plugin configure, it will not restart Pods.
-
EMQX Operator automatically binds ports to Service resources even if plugins or modules are enabled via EMQX Dashboard
Fix 🛠
- We have added sidecar containers to reload the EMQX plugins when their configuration is updated
Broken Change 🚫
- We no longer support the API version:
apps.emqx.io/v1beta2
What's Changed
- ci: delete cloud test by @Rory-Z in #234
- fix: 标注化 -> 标准化 by @wonderful-ya in #238
- docs: delete emqxPluginList for reference docs by @Rory-Z in #235
- docs: added the description of EMQX Operator compatibility by @yang-yinbo in #241
- chore: add docs for telegraf to handle metrics and logs by @kiragoo in #237
- chore: remove api v1beta2 by @kiragoo in #243
- feat: add the default configuration for the plugin by @yang-yinbo in #245
- fix: do not set “patch-annotation“ for emqx custrom resource by @Rory-Z in #247
- Add emqx check api by @Rory-Z in #244
- test: more better specs for ginkgo suite by @Rory-Z in #248
- chore: format status condition by @Rory-Z in #249
- ci: set latest tag for ghcr image by @Rory-Z in #251
- ci: support goveralls by @Gala-R in #255
- get listeners by api by @Rory-Z in #253
- ci: update operator ci by @Gala-R in #256
- test: refactor ginkgo tests by @Rory-Z in #258
- test: fix compatibility test suite error by @Rory-Z in #260
- docs: add preview script by @brianbinbin in #259
- chore: pre relase 1.2.1 by @Rory-Z in #257
- fix build image error by @Rory-Z in #261
New Contributors
Full Changelog: 1.2.0...1.2.1
EMQX Operator 1.1.10 Released
Release Note 🍻
Fixes 🛠
- Delete the needless preStop command, there is a risk will that failed. When persistence is enabled, preStop failure can lead to inconsistent EMQX cluster data
What's Changed
Full Changelog: 1.1.9...1.1.10
EMQX Operator 1.2.0 Released
Release Note 🍻
Features 🌈
-
New Custom Resource Define:
EmqxPlugin
, for managing EMQX plugins and auto bind service port- After deploying EMQX Custom Resource, EMQX Operator will auto-create default
EmqxPlugin
Custom Resource, and you can manage it. - You can create your own
EmqxPlugin
Custom Resource and user-defined their config, and EMQX Operator will load them to EMQX Custom Resource. - If the
EmqxPlugin
Custom Resource needs listen port, EMQX Operator will bind the port to service. - If you delete some
EmqxPlugin
Custom Resource, EMQX Operator will unbind the port to service, and unload them to EMQX Custom Resource.
- After deploying EMQX Custom Resource, EMQX Operator will auto-create default
-
New API version:
apps.emqx.io/v1beta3
, please check out reference docs- Now you can set up any EMQX configure via
.spec.emqxTemplate.config
, if you set some listener to it, EMQX Operator will auto bind the listening port to the service - Now we support set up
readinessProbe/livenessProbe/startupProbe
by.spec.emqxTemplate
in EMQX Custom Resource - Now we support setting up container
args
by.spec.emqxTemplate
in EMQX Custom Resource - Now we support setting up
initContainers
by.spec
in EMQX Custom Resource - The format of our
.spec.emqxTemplate.acl
settings is now the same as the EMQX format, no additional conversions are needed
- Now you can set up any EMQX configure via
Broken Change 🚫
- We no longer support the API version:
apps.emqx.io/v1beta1
What's Changed
- add namespace field to ServiceAccount by @wuxingzhong in #188
- add v1beta3 APIVersion by @Rory-Z in #189
- chore: delete cache.go and event.go by @Rory-Z in #191
- chore: delete telegraf for v1beta3 by @Rory-Z in #192
- chore: modify logger message for create resource by @kiragoo in #193
- chore: delete "do function" for handler by @Rory-Z in #194
- feat: add events for resource by @kiragoo in #195
- chore: update status after emqx cluster created successfully by @kiragoo in #197
- chore: replace the logs about updating status with events by @kiragoo in #198
- chore: delete cluster by k8s by @Rory-Z in #196
- style: delete ensure.go by @Rory-Z in #199
- fix: fix restart listener is not working by @Rory-Z in #201
- ci: build the lastest image and push it to ghcr, for other workflows by @Rory-Z in #202
- ci: rename image for ghcr.io by @Rory-Z in #205
- ci: add compatibility test suite for alibab cloud by @Rory-Z in #206
- style(handler): abstract handler function, for other reconcile calls by @Rory-Z in #211
- ci(cloud): run cloud test for every day by @Rory-Z in #212
- chore(reconcile): when reconcile, only check emqx container by @Rory-Z in #213
- chore: fix image tag error defined in private repo by @kiragoo in #214
- feat: add emqx client by @brianbinbin in #216
- chore: modify script for pre-release and update docs by @kiragoo in #217
- feat(api): add new CRD for emqx plugin by @Rory-Z in #215
- fix: fix spell error for emqx enterprise modules by @Rory-Z in #220
- chore: update ginkgo version to v2 by @Rory-Z in #218
- chore: when deploy emqx enterprise, default load emqx_modules by @Rory-Z in #222
- feat: adjust emqx configuration by @yang-yinbo in #226
- refactor(listener): refactor listener to service template by @Rory-Z in #227
- feat: change acl type to []string by @Rory-Z in #229
- feat: remove env from template spec to cr spec by @kiragoo in #230
- chore: pre release 1.2.0 by @kiragoo in #231
- chore: delete preStop command by @Rory-Z in #232
New Contributors
- @wuxingzhong made their first contribution in #188
- @yang-yinbo made their first contribution in #226
Full Changelog: 1.1.6...1.2.0
EMQX Operator 1.1.9 Released
Release Note 🍻
Fixes 🛠
- When deploy emqx enterprise, default load
emqx_modules
plugin
What's Changed
Full Changelog: 1.1.8...1.1.9
EMQX Operator 1.1.8 Released
Release Note 🍻
Fixes 🛠
- fix regex to validate image tag which contains
ip:port
What's Changed
- fix(webhook): fix regex expression by @brianbinbin in #208
- chore: pre relase 1.1.8 by @brianbinbin in #209
Full Changelog: 1.1.7...1.1.8