diff --git a/k8s/deployment.yaml b/k8s/deployment.yaml index 0b8d00e..26222af 100644 --- a/k8s/deployment.yaml +++ b/k8s/deployment.yaml @@ -108,22 +108,6 @@ spec: - -c - sleep 20 env: - - name: POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: RELEASE_DISTRIBUTION - value: "name" - - name: RELEASE_NODE - value: "aprsme@$(POD_IP)" - name: CLUSTER_ENABLED value: "false" - name: PORT @@ -154,11 +138,6 @@ spec: secretKeyRef: name: aprs-secrets key: SECRET_KEY_BASE - - name: APRS_PASSCODE - valueFrom: - secretKeyRef: - name: aprs-secrets - key: APRS_PASSCODE envFrom: - secretRef: name: aprs-db diff --git a/lib/aprsme/application.ex b/lib/aprsme/application.ex index 2ba9b14..74df4c5 100644 --- a/lib/aprsme/application.ex +++ b/lib/aprsme/application.ex @@ -251,6 +251,8 @@ defmodule Aprsme.Application do :ets.new(:query_cache, [:set, :public, :named_table, read_concurrency: true]) :ets.new(:device_cache, [:set, :public, :named_table, read_concurrency: true]) :ets.new(:symbol_cache, [:set, :public, :named_table, read_concurrency: true]) + :ets.new(:aprsme, [:set, :public, :named_table, write_concurrency: true]) + :ets.insert(:aprsme, {:message_number, 0}) [ # ETS-based rate limiter diff --git a/lib/aprsme/is/is.ex b/lib/aprsme/is/is.ex index fee6500..ed7dfff 100644 --- a/lib/aprsme/is/is.ex +++ b/lib/aprsme/is/is.ex @@ -244,7 +244,11 @@ defmodule Aprsme.Is do error -> Logger.error("Failed to send message to APRS-IS: #{inspect(error)}") - {:reply, {:error, error}, state} + if state.timer, do: Process.cancel_timer(state.timer) + if state.keepalive_timer, do: Process.cancel_timer(state.keepalive_timer) + :gen_tcp.close(socket) + schedule_reconnect(5000) + {:reply, {:error, error}, %{state | socket: nil, timer: nil, keepalive_timer: nil}} end end end