@@ -112,6 +112,8 @@ export http_proxy=""
112
112
export https_proxy=""
113
113
export no_proxy=""
114
114
export aws_instance_metadata_url="http://169.254.169.254"
115
+ export PUBLIC_IP="$(curl $aws_instance_metadata_url/latest/meta-data/public-ipv4)"
116
+ export PRIVATE_IP="$(curl $aws_instance_metadata_url/latest/meta-data/local-ipv4)"
115
117
export DEBIAN_FRONTEND=noninteractive
116
118
UNAME="$(uname -r)"
117
119
@@ -130,9 +132,11 @@ if [ -f /sys/hypervisor/uuid ] && [ `head -c 3 /sys/hypervisor/uuid` == ec2 ]; t
130
132
cat <<EOT > /etc/ntp.conf
131
133
driftfile /var/lib/ntp/ntp.drift
132
134
disable monitor
135
+
133
136
restrict default ignore
134
137
restrict 127.0.0.1 mask 255.0.0.0
135
138
restrict 169.254.169.123 nomodify notrap
139
+
136
140
server 169.254.169.123 prefer iburst
137
141
EOT
138
142
else
@@ -149,7 +153,7 @@ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
149
153
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
150
154
apt-get install -y "linux-image-$UNAME"
151
155
apt-get update
152
- apt-get -y install docker-ce=5:18.09.9~3-0~ubuntu-xenial docker-ce-cli=5:18.09.9~3-0~ubuntu-xenial
156
+ apt-get -y install docker-ce=5:18.09.9~3-0~ubuntu-xenial
153
157
154
158
# force docker to use userns-remap to mitigate CVE 2019-5736
155
159
apt-get -y install jq
@@ -159,12 +163,23 @@ tmp=$(mktemp)
159
163
cp /etc/docker/daemon.json /etc/docker/daemon.json.orig
160
164
jq '.["userns-remap"]="default"' /etc/docker/daemon.json > "$tmp" && mv "$tmp" /etc/docker/daemon.json
161
165
162
- sudo echo 'export http_proxy=""' >> /etc/default/docker
163
- sudo echo 'export https_proxy=""' >> /etc/default/docker
164
- sudo echo 'export no_proxy=""' >> /etc/default/docker
166
+ sudo echo 'export http_proxy="${http_proxy} "' >> /etc/default/docker
167
+ sudo echo 'export https_proxy="${https_proxy} "' >> /etc/default/docker
168
+ sudo echo 'export no_proxy="${no_proxy} "' >> /etc/default/docker
165
169
sudo service docker restart
166
170
sleep 5
167
171
172
+ echo "-------------------------------------- "
173
+ echo " Populating /etc/circleci/public-ipv4"
174
+ echo "-------------------------------------- "
175
+ if ! (echo $PUBLIC_IP | grep -qP "^[\d.]+$")
176
+ then
177
+ echo "Setting the IPv4 address below in /etc/circleci/public-ipv4."
178
+ echo "This address will be used in builds with \"Rebuild with SSH\"."
179
+ mkdir -p /etc/circleci
180
+ echo $PRIVATE_IP | tee /etc/circleci/public-ipv4
181
+ fi
182
+
168
183
echo "-------------------------------------- "
169
184
echo " Installing nomad"
170
185
echo "-------------------------------------- "
@@ -176,7 +191,6 @@ mv nomad /usr/bin
176
191
echo "-------------------------------------- "
177
192
echo " Creating config.hcl"
178
193
echo "-------------------------------------- "
179
- export PRIVATE_IP="$(/sbin/ifconfig ens3 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' )"
180
194
export INSTANCE_ID="$(curl $aws_instance_metadata_url/latest/meta-data/instance-id)"
181
195
mkdir -p /etc/nomad
182
196
cat <<EOT > /etc/nomad/config.hcl
0 commit comments