diff options
author | Elizabeth Hunt <me@liz.coffee> | 2025-05-01 23:10:56 -0700 |
---|---|---|
committer | Elizabeth Hunt <me@liz.coffee> | 2025-05-01 23:10:56 -0700 |
commit | 2a8a33d28267f84e947834c1374a5e413f6d760e (patch) | |
tree | 4f76ad1abfa6e8dff56e78baf0fd4a4879b8c47d | |
parent | e5bca60eb98d76b32388a98418ab6fa3e0eff357 (diff) | |
download | infra-2a8a33d28267f84e947834c1374a5e413f6d760e.tar.gz infra-2a8a33d28267f84e947834c1374a5e413f6d760e.zip |
Experiment with hooks.
-rw-r--r-- | playbooks/roles/src/templates/stacks/docker-compose.yml | 9 | ||||
-rwxr-xr-x | playbooks/roles/src/templates/volumes/data/hooks/update | 37 |
2 files changed, 41 insertions, 5 deletions
diff --git a/playbooks/roles/src/templates/stacks/docker-compose.yml b/playbooks/roles/src/templates/stacks/docker-compose.yml index 344dfc5..46f253d 100644 --- a/playbooks/roles/src/templates/stacks/docker-compose.yml +++ b/playbooks/roles/src/templates/stacks/docker-compose.yml @@ -20,19 +20,18 @@ services: networks: - proxy healthcheck: - test: ["CMD-SHELL", "echo hi"] # todo: something more meaningful + test: ["CMD-SHELL", "netstat -tuln | grep 2222"] timeout: 15s interval: 30s retries: 3 - start_period: 10s + start_period: 5s deploy: mode: replicated update_config: parallelism: 1 failure_action: rollback - order: start-first - delay: 10s - monitor: 45s + order: stop-first + monitor: 10s replicas: 1 labels: - traefik.enable=true diff --git a/playbooks/roles/src/templates/volumes/data/hooks/update b/playbooks/roles/src/templates/volumes/data/hooks/update new file mode 100755 index 0000000..a11d3e5 --- /dev/null +++ b/playbooks/roles/src/templates/volumes/data/hooks/update @@ -0,0 +1,37 @@ +#!/bin/sh +# + +refname="$1" +oldrev="$2" +newrev="$3" + +# Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 <ref> <oldrev> <newrev>)" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 <ref> <oldrev> <newrev>" >&2 + exit 1 +fi + +# Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin </dev/null | tr '[0-9a-f]' '0') +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +echo "Hi from Soft Serve update hook!" +echo +echo "RefName: $refname" +echo "Change Type: $newrev_type" +echo "Old SHA1: $oldrev" +echo "New SHA1: $newrev" + +exit 0 |