ansible_role_emq
EMQ
A ansible role for installing emq on VMs.
Role Variables
All necessary defaults variables are inside defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role.
Details
Cluster
cluster_name
: Cluster name.cluster_proto_dist
: Specify the erlang distributed protocol.- Value:
- inet_tcp: the default; handles TCP streams with IPv4 addressing.
- inet6_tcp: handles TCP with IPv6 addressing.
- inet_tls: using TLS for Erlang Distribution.
- Value:
cluster_discovery
: Cluster auto-discovery strategy.- Value:
- manual: Manual join command (default)
- static: Static node list
- mcast: IP Multicast
- dns: DNS A Record
- etcd: etcd
- k8s: Kubernetes
- Value:
cluster_autoheal
: Enable cluster autoheal from network partition.- Value:
- on (default)
- off
- Value:
cluster_autoclean
: Autoclean down node. A down node will be removed from the cluster if this value > 0.- Value: h=hour, m=minutes and s=second (default: 5m).
Cluster: using static node list
cluster_static_seeds
: Node list of the cluster.- Example:
- cluster_static_seeds: emqx1@127.0.0.1,emqx2@127.0.0.1
- Example:
Cluster: using IP Multicast
cluster_mcast_addr
: IP Multicast Address.cluster_mcast_ports
: Multicast Ports.cluster_mcast_iface
: Multicast Iface (default: 0.0.0.0).cluster_mcast_ttl
: Multicast Ttl.- Value: 0-255
cluster_mcast_loop
: Multicast loop.- Value:
- on
- off
- Value:
Cluster: using DNS A records.
cluster_dns_name
: DNS name.cluster_dns_app
: The App name is used to build 'node.name' with IP address.
Cluster: using etcd.
cluster_etcd_server
: Etcd server list, seperated by ','.cluster_etcd_prefix
: The prefix helps build nodes path in etcd. Each node in the cluster will create a path in etcd: v2/keys//<cluster.name>/<node.name> cluster_etcd_node_ttl
: The TTL for node's path in etcd (default: 1m).cluster_etcd_ssl_keyfile
: Path to a file containing the client's private PEM-encoded key.cluster_etcd_ssl_certfile
: The path to a file containing the client's certificate.- Example:
- cluster_etcd_ssl_certfile: /etc/emqx/certs/client-key.pem
- Example:
cluster_etcd_ssl_cacertfile
: Path to the file containing PEM-encoded CA certificates. The CA certificates are used during server authentication and when building the client certificate chain.- Example:
- cluster_etcd_ssl_cacertfile: /etc/emqx/certs/ca.pem
- Example:
Cluster: using Kubernetes
cluster_k8s_apiserver
: Kubernetes API server list, seperated by ','.cluster_k8s_service_name
: The service name helps lookup EMQ nodes in the cluster.cluster_k8s_address_type
: The address type is used to extract host from k8s service.cluster_k8s_app_name
: The app name helps build 'node.name'.cluster_k8s_suffix
: The suffix added to dns and hostname get from k8s service.cluster_k8s_namespace
: Kubernetes Namespace.
ClientId Authentication Plugin
auth_client_password_hash
: Password hash.- Value: plain | md5 | sha | sha256.
HTTP Auth/ACL Plugin
Authentication request.
auth_http_auth_req
: HTTP URL API path for authentication requestauth_http_auth_req_method
:- Value:
- post
- get
- Value:
auth_http_auth_req_content_type
: It only works when method=post.- Value:
- json
- x-www-form-urlencoded
- Value:
auth_http_auth_req_params
:- Value:
- %u: username
- %c: clientid
- %a: ipaddress
- %r: protocol
- %P: password
- %p: sockport of server accepted
- %C: common name of client TLS cert
- %d: subject of client TLS cert
- Example:
- auth_http_auth_req_params = clientid=%c,username=%u,password=%P
- Value:
EMQ X monitoring
emqx_prometheus for EMQ X
prometheus_push_gateway_server
: The Prometheus Push Gateway URL address, Note: You can comment out this line to disable it.prometheus_interval
: The metrics data push interval (millisecond) (default: 15000).
Install
ansible-galaxy install narcislinux/ansible-role-emq
License
mit
Downloads
28
Owner