@@ -151,6 +151,14 @@ defmodule Astarte.AppEngine.API.Config do
151151 type: :binary ,
152152 default: "app=astarte-data-updater-plant"
153153
154+ @ envdoc "The Endpoint label to use to query Kubernetes to find vernemq instances. Defaults to `app=astarte-vernemq`."
155+ app_env :vernemq_clustering_kubernetes_selector ,
156+ :astarte_appengine_api ,
157+ :vernemq_clustering_kubernetes_selector ,
158+ os_env: "VERNEMQ_CLUSTERING_KUBERNETES_SELECTOR" ,
159+ type: :binary ,
160+ default: "app=astarte-vernemq"
161+
154162 @ envdoc "The Kubernetes namespace to use when `kubernetes` Erlang clustering strategy is used. Defaults to `astarte`."
155163 app_env :clustering_kubernetes_namespace ,
156164 :astarte_appengine_api ,
@@ -277,6 +285,18 @@ defmodule Astarte.AppEngine.API.Config do
277285 kubernetes_namespace: clustering_kubernetes_namespace! ( ) ,
278286 polling_interval: 10_000
279287 ]
288+ ] ,
289+ vernemq_k8s: [
290+ strategy: Elixir.Cluster.Strategy.Kubernetes ,
291+ config: [
292+ mode: :hostname ,
293+ kubernetes_service_name: "astarte-vernemq" ,
294+ kubernetes_node_basename: "VerneMQ" ,
295+ kubernetes_ip_lookup_mode: :pods ,
296+ kubernetes_selector: vernemq_clustering_kubernetes_selector! ( ) ,
297+ kubernetes_namespace: clustering_kubernetes_namespace! ( ) ,
298+ polling_interval: 10_000
299+ ]
280300 ]
281301 ]
282302
@@ -289,6 +309,14 @@ defmodule Astarte.AppEngine.API.Config do
289309 query: "astarte-data-updater-plant" ,
290310 node_basename: "astarte_data_updater_plant"
291311 ]
312+ ] ,
313+ vernemq: [
314+ strategy: Elixir.Cluster.Strategy.DNSPoll ,
315+ config: [
316+ polling_interval: 5_000 ,
317+ query: "vernemq" ,
318+ node_basename: "VerneMQ"
319+ ]
292320 ]
293321 ]
294322 end
0 commit comments