Skip to content

Commit 21ea647

Browse files
committed
Disable debug logging and add manual logging elastic stack startup scripts
1 parent 7b3b8a9 commit 21ea647

File tree

3 files changed

+263
-95
lines changed

3 files changed

+263
-95
lines changed
Lines changed: 47 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,88 @@
1-
#!/bin/bash
1+
#!/usr/bin/env bash
22
# shellcheck disable=SC2094
3-
set -euxo pipefail
43

5-
## Configures docker before system starts
4+
set -Eeuo pipefail
5+
6+
on_error() {
7+
local exit_code="$?"
8+
local error_line="$1"
9+
10+
echo "${BASH_SOURCE[0]} errored with exit code ${exit_code} on line ${error_line}."
11+
exit "$exit_code"
12+
}
13+
14+
trap 'on_error $LINENO' ERR
15+
16+
on_exit() {
17+
echo "${BASH_SOURCE[0]} completed successfully." >&2
18+
}
19+
20+
trap on_exit EXIT
21+
22+
## Configure docker before system starts
623

724
# Write to system console and to our log file
825
# See https://alestic.com/2010/12/ec2-user-data-output/
926
exec > >(tee -a /var/log/elastic-stack.log | logger -t user-data -s 2>/dev/console) 2>&1
1027

1128

29+
echo Reading variables from AMI creation... >&2
1230
# shellcheck disable=SC1091
1331
source /usr/local/lib/bk-configure-docker.sh
1432

15-
# Set user namespace remapping in config
1633
if [[ "${DOCKER_USERNS_REMAP:-false}" == "true" ]]; then
34+
echo Configuring user namespace remapping... >&2
35+
1736
cat <<< "$(jq '."userns-remap"="buildkite-agent"' /etc/docker/daemon.json)" > /etc/docker/daemon.json
18-
cat <<EOF > /etc/subuid
37+
38+
echo Writing subuid... >&2
39+
cat <<EOF | tee /etc/subuid
1940
buildkite-agent:$(id -u buildkite-agent):1
2041
buildkite-agent:100000:65536
2142
EOF
22-
cat <<EOF > /etc/subgid
43+
44+
echo Writing subgid... >&2
45+
cat <<EOF | tee /etc/subgid
2346
buildkite-agent:$(getent group docker | awk -F: '{print $3}'):1
2447
buildkite-agent:100000:65536
2548
EOF
49+
else
50+
echo User namespace remapping not configured. >&2
2651
fi
2752

28-
# Set experimental in config
2953
if [[ "${DOCKER_EXPERIMENTAL:-false}" == "true" ]]; then
54+
echo Configuring experiment flag for docker daemon... >&2
3055
cat <<< "$(jq '.experimental=true' /etc/docker/daemon.json)" > /etc/docker/daemon.json
56+
else
57+
echo Experiment flag for docker daemon not configured. >&2
3158
fi
3259

33-
# Move docker root to the ephemeral device
3460
if [[ "${BUILDKITE_ENABLE_INSTANCE_STORAGE:-false}" == "true" ]]; then
61+
echo Creating docker root directory in instance storage... >&2
3562
mkdir -p /mnt/ephemeral/docker
63+
echo Configuring docker root directory to be in instance storage... >&2
3664
cat <<< "$(jq '."data-root"="/mnt/ephemeral/docker"' /etc/docker/daemon.json)" > /etc/docker/daemon.json
65+
else
66+
echo Instance storage not configured. >&2
3767
fi
3868

39-
# Customise address pools
40-
cat <<<"$(jq '."default-address-pools"=[{"base":"172.17.0.0/12","size":20},{"base":"192.168.0.0/16","size":24}]' /etc/docker/daemon.json)" >/etc/docker/daemon.json
69+
echo Customising docker IP address pools... >&2
70+
cat <<<"$(jq \
71+
'."default-address-pools"=[{"base":"172.17.0.0/12","size":20},{"base":"192.168.0.0/16","size":24}]' \
72+
/etc/docker/daemon.json \
73+
)" >/etc/docker/daemon.json
4174

4275
# See https://docs.docker.com/build/building/multi-platform/
43-
echo Installing qemu binfmt for multiarch...
76+
echo Installing qemu binfmt for multiarch... >&2
4477
docker run \
4578
--privileged \
4679
--userns=host \
4780
--rm \
4881
"tonistiigi/binfmt:${QEMU_BINFMT_TAG}" \
4982
--install all
5083

84+
echo Cleaning up docker images... >&2
5185
systemctl start docker-low-disk-gc.service
86+
87+
echo Restarting docker daemon... >&2
5288
systemctl restart docker

0 commit comments

Comments
 (0)