vernemq/vmq-operator

Not able to accept EULA

dannyyy opened this issue · 5 comments

Hi,

I'm trying to use this operator. But I haven't found any way to startup the container. The logs always claims, that the EULA has not been accepted. If I use the Helm Chart or the Docker image by its own, then there is no issue as along as I define the needed environment variable.

Please have a look to the definition I use:

apiVersion: vernemq.com/v1alpha1
kind: VerneMQ
metadata:
  labels:
    vernemq: k8s
  name: vernemq
spec:
  baseImage: vernemq/vernemq
  config:
    configs:
    - name: allow_register_during_netsplit
      value: "on"
    - name: allow_publish_during_netsplit
      value: "on"
    - name: allow_subscribe_during_netsplit
      value: "on"
    - name: allow_unsubscribe_during_netsplit
      value: "on"
    listeners:
    - address: 0.0.0.0
      port: 1883
    plugins: []
  serviceAccountName: vernemq-k8s
  size: 2
  version: 1.10.1
  env:
    - name: DOCKER_VERNEMQ_ACCEPT_EULA
      value: "yes"

Whats wrong here?

Hi just for someone who come here to the same problem.

you need to use vmqConfig: 'accept_eula=yes' at the same level of baseImage

apiVersion: vernemq.com/v1alpha1
kind: VerneMQ
metadata:
  labels:
    vernemq: k8s
  name: k8s
  namespace: messaging
spec:
  baseImage: erlio/docker-vernemq
  config:
    configs:
      - name: allow_register_during_netsplit
        value: "on"
      - name: allow_publish_during_netsplit
        value: "on"
      - name: allow_subscribe_during_netsplit
        value: "on"
      - name: allow_unsubscribe_during_netsplit
        value: "on"
    listeners:
      - address: 0.0.0.0
        port: 1883
      - address: 0.0.0.0
        port: 1888
        websocket: true
    plugins: []
  vmqConfig: 'accept_eula=yes'
  serviceAccountName: vernemq-k8s
  size: 1
  version: 1.10.0

@trompetin17 thank you so much.

The documentation is really our of sync. Defaults are mostly opposite

VerneMQ comes with a simple ACL based authorization mechanism which is enabled by default. If you don't need this it can be disabled by setting:

which is not the case. It has to be enabled with

    plugins:
      - name: vmq_acl
        value: "on"`

and commands are simply wrong.

and similarly for the VerneMQ Operator, to accept the EULA for the Docker images, the env can be extended with:
env:
- name: DOCKER_VERNEMQ_ACCEPT_EULA
value: "yes

Thanks... happily accepting any help, be it for documentation or the Operator itself.

For anyone reading this @trompetin17's solution is what is needed for the accept EULA stuff. You don't need to set the environment variable DOCKER_VERNEMQ_ACCEPT_EULA. Just add vmqConfig: 'accept_eula=yes' under spec in the vmq object yaml. I had it tabbed back one and I lost an entire day trying to figure it out 😓

@ioolkos I'm willing to update stuff. Can I update the example yaml to have the EULA already accepted?

@kushagharahi accepting the EULA needs to be an intentional manual step, so that folks read it. (Using packages with EULA commercially needs a subscription with us; otherwise you have to clone/adapt repos)