Skip to content

Commit 7cd61fd

Browse files
committed
further reduce indent
1 parent f650418 commit 7cd61fd

File tree

1 file changed

+51
-49
lines changed

1 file changed

+51
-49
lines changed

shepherd

Lines changed: 51 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -75,62 +75,64 @@ update_services() {
7575

7676
for name in $(IFS=$'\n' docker service ls --quiet --filter "${FILTER_SERVICES}" --format '{{.Name}}'); do
7777
local image_with_digest image auth_config config_flag
78-
if [[ "$(in_list "$ignorelist" "$name")" == "false" ]]; then
79-
image_with_digest="$(docker service inspect "$name" -f '{{.Spec.TaskTemplate.ContainerSpec.Image}}')"
80-
image=$(echo "$image_with_digest" | cut -d@ -f1)
81-
auth_config=$(docker service inspect "$name" -f '{{index .Spec.Labels "shepherd.auth.config"}}')
82-
if [[ -z "$auth_config" ]]; then
83-
config_flag=()
84-
else
85-
config_flag=(--config "$auth_config")
86-
fi
87-
88-
if ! DOCKER_CLI_EXPERIMENTAL=enabled docker "${config_flag[@]}" manifest inspect $insecure_registry_flag "$image" > /dev/null; then
89-
logger "Error updating service $name! Image $image does not exist or it is not available"
90-
continue # continue with next service
91-
fi
78+
if [[ "$(in_list "$ignorelist" "$name")" == "true" ]]; then
79+
logger "Ignoring service $name"
80+
continue # continue with next service
81+
fi
82+
image_with_digest="$(docker service inspect "$name" -f '{{.Spec.TaskTemplate.ContainerSpec.Image}}')"
83+
image=$(echo "$image_with_digest" | cut -d@ -f1)
84+
auth_config=$(docker service inspect "$name" -f '{{index .Spec.Labels "shepherd.auth.config"}}')
85+
if [[ -z "$auth_config" ]]; then
86+
config_flag=()
87+
else
88+
config_flag=(--config "$auth_config")
89+
fi
9290

93-
logger "Trying to update service $name with image $image" "true"
94-
# shellcheck disable=SC2086
95-
if ! docker "${config_flag[@]}" service update "$name" $detach_option $registry_auth $no_resolve_image_flag ${UPDATE_OPTIONS} --image="$image" > /dev/null; then
96-
logger "Service $name update failed on $hostname!"
97-
if [[ "${ROLLBACK_ON_FAILURE+x}" ]]; then
98-
logger "Rolling $name back"
99-
# shellcheck disable=SC2086
100-
docker "${config_flag[@]}" service update "$name" $detach_option $registry_auth $no_resolve_image_flag ${ROLLBACK_OPTIONS} --rollback > /dev/null
101-
fi
102-
if [[ "$apprise_sidecar_url" != "" ]]; then
103-
title="[Shepherd] Service $name update failed on $hostname"
104-
body="$(date) Service $name failed to update to $(docker service inspect "$name" -f '{{.Spec.TaskTemplate.ContainerSpec.Image}}')"
105-
curl -X POST -H "Content-Type: application/json" --data "{\"title\": \"$title\", \"body\": \"$body\"}" "$apprise_sidecar_url"
106-
fi
107-
continue # continue with next service
108-
fi
91+
if ! DOCKER_CLI_EXPERIMENTAL=enabled docker "${config_flag[@]}" manifest inspect $insecure_registry_flag "$image" > /dev/null; then
92+
logger "Error updating service $name! Image $image does not exist or it is not available"
93+
continue # continue with next service
94+
fi
10995

110-
previousImage=$(docker service inspect "$name" -f '{{.PreviousSpec.TaskTemplate.ContainerSpec.Image}}')
111-
currentImage=$(docker service inspect "$name" -f '{{.Spec.TaskTemplate.ContainerSpec.Image}}')
112-
if [ "$previousImage" == "$currentImage" ]; then
113-
logger "No updates to service $name!" "true"
114-
continue # continue with next service
96+
logger "Trying to update service $name with image $image" "true"
97+
# shellcheck disable=SC2086
98+
if ! docker "${config_flag[@]}" service update "$name" $detach_option $registry_auth $no_resolve_image_flag ${UPDATE_OPTIONS} --image="$image" > /dev/null; then
99+
logger "Service $name update failed on $hostname!"
100+
if [[ "${ROLLBACK_ON_FAILURE+x}" ]]; then
101+
logger "Rolling $name back"
102+
# shellcheck disable=SC2086
103+
docker "${config_flag[@]}" service update "$name" $detach_option $registry_auth $no_resolve_image_flag ${ROLLBACK_OPTIONS} --rollback > /dev/null
115104
fi
116-
117-
logger "Service $name was updated!"
118105
if [[ "$apprise_sidecar_url" != "" ]]; then
119-
title="[Shepherd] Service $name updated on $hostname"
120-
body="$(date) Service $name was updated from $previousImage to $currentImage"
106+
title="[Shepherd] Service $name update failed on $hostname"
107+
body="$(date) Service $name failed to update to $(docker service inspect "$name" -f '{{.Spec.TaskTemplate.ContainerSpec.Image}}')"
121108
curl -X POST -H "Content-Type: application/json" --data "{\"title\": \"$title\", \"body\": \"$body\"}" "$apprise_sidecar_url"
122109
fi
110+
continue # continue with next service
111+
fi
112+
113+
previousImage=$(docker service inspect "$name" -f '{{.PreviousSpec.TaskTemplate.ContainerSpec.Image}}')
114+
currentImage=$(docker service inspect "$name" -f '{{.Spec.TaskTemplate.ContainerSpec.Image}}')
115+
if [ "$previousImage" == "$currentImage" ]; then
116+
logger "No updates to service $name!" "true"
117+
continue # continue with next service
118+
fi
119+
120+
logger "Service $name was updated!"
121+
if [[ "$apprise_sidecar_url" != "" ]]; then
122+
title="[Shepherd] Service $name updated on $hostname"
123+
body="$(date) Service $name was updated from $previousImage to $currentImage"
124+
curl -X POST -H "Content-Type: application/json" --data "{\"title\": \"$title\", \"body\": \"$body\"}" "$apprise_sidecar_url"
125+
fi
123126

124-
if [[ "$image_autoclean_limit" != "" ]]; then
125-
logger "Cleaning up old docker images, leaving last $image_autoclean_limit"
126-
img_name=$(docker service inspect "$name" -f '{{.Spec.TaskTemplate.ContainerSpec.Image}}' | awk -F':' '{print $1}')
127-
image_ids=$(docker images -aq --filter=reference="$img_name")
128-
image_ids_count=$(echo "$image_ids" | wc -w)
129-
if [[ $image_ids_count > $image_autoclean_limit ]]; then
130-
docker container prune -f
131-
read -ra images_to_remove < <(echo "$image_ids" | xargs -n 1 | tail -n $(("$image_ids_count" - "$image_autoclean_limit")))
132-
docker rmi "${images_to_remove[@]}"
133-
fi
127+
if [[ "$image_autoclean_limit" != "" ]]; then
128+
logger "Cleaning up old docker images, leaving last $image_autoclean_limit"
129+
img_name=$(docker service inspect "$name" -f '{{.Spec.TaskTemplate.ContainerSpec.Image}}' | awk -F':' '{print $1}')
130+
image_ids=$(docker images -aq --filter=reference="$img_name")
131+
image_ids_count=$(echo "$image_ids" | wc -w)
132+
if [[ $image_ids_count > $image_autoclean_limit ]]; then
133+
docker container prune -f
134+
read -ra images_to_remove < <(echo "$image_ids" | xargs -n 1 | tail -n $(("$image_ids_count" - "$image_autoclean_limit")))
135+
docker rmi "${images_to_remove[@]}"
134136
fi
135137
fi
136138
done

0 commit comments

Comments
 (0)