@@ -265,6 +265,14 @@ defmodule Astarte.DataUpdaterPlant.Config do
265265 type: :binary ,
266266 default: "app=astarte-data-updater-plant"
267267
268+ @ envdoc "The Endpoint label to use to query Kubernetes to find vernemq instances. Defaults to `app=astarte-vernemq`."
269+ app_env :vernemq_clustering_kubernetes_selector ,
270+ :astarte_data_updater_plant ,
271+ :vernemq_clustering_kubernetes_selector ,
272+ os_env: "VERNEMQ_CLUSTERING_KUBERNETES_SELECTOR" ,
273+ type: :binary ,
274+ default: "app=astarte-vernemq"
275+
268276 @ envdoc "The Kubernetes namespace to use when `kubernetes` Erlang clustering strategy is used. Defaults to `astarte`."
269277 app_env :clustering_kubernetes_namespace ,
270278 :astarte_data_updater_plant ,
@@ -514,6 +522,18 @@ defmodule Astarte.DataUpdaterPlant.Config do
514522 kubernetes_namespace: clustering_kubernetes_namespace! ( ) ,
515523 polling_interval: 10_000
516524 ]
525+ ] ,
526+ vernemq_k8s: [
527+ strategy: Elixir.Cluster.Strategy.Kubernetes ,
528+ config: [
529+ mode: :hostname ,
530+ kubernetes_service_name: "astarte-vernemq" ,
531+ kubernetes_node_basename: "VerneMQ" ,
532+ kubernetes_ip_lookup_mode: :pods ,
533+ kubernetes_selector: vernemq_clustering_kubernetes_selector! ( ) ,
534+ kubernetes_namespace: clustering_kubernetes_namespace! ( ) ,
535+ polling_interval: 10_000
536+ ]
517537 ]
518538 ]
519539
@@ -526,6 +546,14 @@ defmodule Astarte.DataUpdaterPlant.Config do
526546 query: "astarte-data-updater-plant" ,
527547 node_basename: "astarte_data_updater_plant"
528548 ]
549+ ] ,
550+ vernemq: [
551+ strategy: Elixir.Cluster.Strategy.DNSPoll ,
552+ config: [
553+ polling_interval: 5_000 ,
554+ query: "vernemq" ,
555+ node_basename: "VerneMQ"
556+ ]
529557 ]
530558 ]
531559 end
0 commit comments