modules/consul-service-registry: wait for consul-ready.target, use system management token

This commit is contained in:
Max Headroom 2024-08-22 23:31:30 +02:00
parent 7ebbee32d3
commit 084c27bc0d

View file

@ -12,6 +12,7 @@ let
consulRegisterScript = pkgs.writeShellScript "consul-register" '' consulRegisterScript = pkgs.writeShellScript "consul-register" ''
export CONSUL_HTTP_ADDR='${consulHttpAddr}' export CONSUL_HTTP_ADDR='${consulHttpAddr}'
export CONSUL_HTTP_TOKEN_FILE=/run/locksmith/consul-systemManagementToken
while ! ${consul} services register "$1"; do while ! ${consul} services register "$1"; do
sleep 1 sleep 1
done done
@ -19,6 +20,7 @@ let
consulDeregisterScript = pkgs.writeShellScript "consul-deregister" '' consulDeregisterScript = pkgs.writeShellScript "consul-deregister" ''
export CONSUL_HTTP_ADDR='${consulHttpAddr}' export CONSUL_HTTP_ADDR='${consulHttpAddr}'
export CONSUL_HTTP_TOKEN_FILE=/run/locksmith/consul-systemManagementToken
for i in {1..5}; do for i in {1..5}; do
if ${consul} services deregister "$1"; then if ${consul} services deregister "$1"; then
break break
@ -81,8 +83,8 @@ let
}.${mode}; }.${mode};
value = { value = {
direct = { direct = {
after = [ "consul-ready.service" ]; after = [ "consul-ready.target" ];
requires = [ "consul-ready.service" ]; requires = [ "consul-ready.target" ];
serviceConfig = { serviceConfig = {
ExecStartPost = register servicesJson; ExecStartPost = register servicesJson;
ExecStopPost = deregister servicesJson; ExecStopPost = deregister servicesJson;