Skip to content

Commit b095ede

Browse files
authored
Merge pull request #1190 from davidebriani/vernemq-clustering
Add libcluster topology for VerneMQ discovery in DUP
2 parents 20e5f3a + fb36094 commit b095ede

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

  • apps/astarte_data_updater_plant/lib/astarte_data_updater_plant

apps/astarte_data_updater_plant/lib/astarte_data_updater_plant/config.ex

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)