From b6f72a5fa8cbfe5afff8ec0589c55f13255a95e3 Mon Sep 17 00:00:00 2001 From: Antoine Date: Mon, 15 Jan 2024 18:07:39 +0100 Subject: [PATCH] feat(portal): add Kubernetes cluster strategy support (#3212) Resolves #3209 --- .../domain/lib/domain/config/definitions.ex | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/elixir/apps/domain/lib/domain/config/definitions.ex b/elixir/apps/domain/lib/domain/config/definitions.ex index 11531d453..fe4aa0b04 100644 --- a/elixir/apps/domain/lib/domain/config/definitions.ex +++ b/elixir/apps/domain/lib/domain/config/definitions.ex @@ -330,6 +330,7 @@ defmodule Domain.Config.Definitions do Elixir.Cluster.Strategy.LocalEpmd, Elixir.Cluster.Strategy.Epmd, Elixir.Cluster.Strategy.Gossip, + Elixir.Cluster.Strategy.Kubernetes, Elixir.Domain.Cluster.GoogleComputeLabelsStrategy ] )}, @@ -344,10 +345,18 @@ defmodule Domain.Config.Definitions do dump: fn map -> keyword = Dumper.keyword(map) - if compile_config!(:erlang_cluster_adapter) == Elixir.Cluster.Strategy.Epmd do - Keyword.update!(keyword, :hosts, fn hosts -> Enum.map(hosts, &String.to_atom/1) end) - else - keyword + cond do + compile_config!(:erlang_cluster_adapter) == Elixir.Cluster.Strategy.Epmd -> + Keyword.update!(keyword, :hosts, fn hosts -> Enum.map(hosts, &String.to_atom/1) end) + + compile_config!(:erlang_cluster_adapter) == Elixir.Cluster.Strategy.Kubernetes -> + Keyword.new(keyword, fn + {k, v} when k in [:mode, :kubernetes_ip_lookup_mode] -> {k, String.to_atom(v)} + {k, v} -> {k, v} + end) + + true -> + keyword end end )