From 836c0fca40af1651f79e6a463c2d903d3092814b Mon Sep 17 00:00:00 2001 From: Jamie Bertram Date: Wed, 15 Mar 2023 16:43:27 -0400 Subject: [PATCH] Add probes to operables --- deploy/operables.nix | 35 +++++++++++++++++++++++++++-------- scripts/local-docker.env | 10 +++++----- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/deploy/operables.nix b/deploy/operables.nix index 8bac3313cd..a8a3bf6402 100644 --- a/deploy/operables.nix +++ b/deploy/operables.nix @@ -2,7 +2,7 @@ let inherit (inputs) self std nixpkgs bitte-cells; inherit (self) packages; - inherit (nixpkgs) lib; + inherit (nixpkgs) lib curl; inherit (nixpkgs.legacyPackages) jq sqitchPg @@ -88,9 +88,28 @@ let inherit (std.lib.ops) mkOperable; + probes = { + livenessProbe = std.lib.ops.writeScript { + name = "liveness-probe"; + runtimeInputs = [ curl ]; + text = '' + curl -f http://localhost:8080/live + ''; + }; + livenessProbe = std.lib.ops.writeScript { + name = "readiness-probe"; + runtimeInputs = [ curl ]; + text = '' + curl -f http://localhost:8080/ready + ''; + }; + }; + + mkOperableWithProbes = args: mkOperable (args // probes); + in { - chain-indexer = mkOperable { + chain-indexer = mkOperableWithProbes { package = packages.marlowe-chain-indexer; runtimeInputs = [ jq sqitchPg srvaddr postgresql coreutils ]; runtimeScript = '' @@ -145,7 +164,7 @@ in ''; }; - marlowe-chain-sync = mkOperable { + marlowe-chain-sync = mkOperableWithProbes { package = packages.marlowe-chain-sync; runtimeInputs = [ srvaddr jq coreutils ]; runtimeScript = '' @@ -192,7 +211,7 @@ in ''; }; - marlowe-indexer = mkOperable { + marlowe-indexer = mkOperableWithProbes { package = packages.marlowe-indexer; runtimeInputs = [ sqitchPg srvaddr postgresql coreutils ]; runtimeScript = '' @@ -239,7 +258,7 @@ in ''; }; - marlowe-sync = mkOperable { + marlowe-sync = mkOperableWithProbes { package = packages.marlowe-sync; runtimeInputs = [ srvaddr coreutils ]; runtimeScript = '' @@ -277,7 +296,7 @@ in ''; }; - marlowe-tx = mkOperable { + marlowe-tx = mkOperableWithProbes { package = packages.marlowe-tx; runtimeScript = '' ################# @@ -305,7 +324,7 @@ in ''; }; - marlowe-proxy = mkOperable { + marlowe-proxy = mkOperableWithProbes { package = packages.marlowe-proxy; runtimeScript = '' ################# @@ -339,7 +358,7 @@ in ''; }; - marlowe-web-server = mkOperable { + marlowe-web-server = mkOperableWithProbes { package = packages.marlowe-web-server; runtimeScript = '' ################# diff --git a/scripts/local-docker.env b/scripts/local-docker.env index 95eed90d10..2b68b445cb 100644 --- a/scripts/local-docker.env +++ b/scripts/local-docker.env @@ -1,12 +1,12 @@ export MARLOWE_CHAIN_SYNC_HOST=127.0.0.1 -export MARLOWE_CHAIN_SYNC_PORT=$(docker-compose port marlowe-chain-sync 3715 | sed -e s/.*://) -export MARLOWE_CHAIN_SYNC_QUERY_PORT=$(docker-compose port marlowe-chain-sync 3716 | sed -e s/.*://) -export MARLOWE_CHAIN_SYNC_COMMAND_PORT=$(docker-compose port marlowe-chain-sync 3720 | sed -e s/.*://) +export MARLOWE_CHAIN_SYNC_PORT=$(docker-compose port marlowe-chain-sync 3715 | sed -e 's/.*://') +export MARLOWE_CHAIN_SYNC_QUERY_PORT=$(docker-compose port marlowe-chain-sync 3716 | sed -e 's/.*://') +export MARLOWE_CHAIN_SYNC_COMMAND_PORT=$(docker-compose port marlowe-chain-sync 3720 | sed -e 's/.*://') export MARLOWE_RT_HOST=127.0.0.1 -export MARLOWE_RT_PORT=$(docker-compose port marlowe-proxy 3700 | sed -e s/.*://) +export MARLOWE_RT_PORT=$(docker-compose port marlowe-proxy 3700 | sed -e 's/.*://') -export MARLOWE_RT_REST_PORT=$(docker-compose port web 8080 | sed -e s/.*://) +export MARLOWE_RT_REST_PORT=$(docker-compose port web 8080 | sed -e 's/.*://') export MARLOWE_RT_REST_URI=http://localhost:$MARLOWE_RT_REST_PORT export CARDANO_NODE_SOCKET_PATH=$(docker volume inspect marlowe-cardano_shared | jq -r '.[].Mountpoint')