Skip to content

Commit 0a72168

Browse files
Docker Images Update (#126)
* [All Docker Images] upgrade to Boost 1.84 and Openssl 3.0.12 * [Redhat and AmazonLinux] installed shared libs to fix failing builds * update Dockerfile to fix arch tagging issue * update README
1 parent f3c75c7 commit 0a72168

File tree

15 files changed

+239
-130
lines changed

15 files changed

+239
-130
lines changed

.github/docker-images/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ FROM ${BASE_IMAGE} AS deploy
55
###############################################################################
66
# Copy and build local proxy
77
###############################################################################
8+
89
COPY . /root/aws-iot-securetunneling-localproxy
910
RUN mkdir -p /root/aws-iot-securetunneling-localproxy/build \
1011
&& cd /root/aws-iot-securetunneling-localproxy/build \
@@ -23,4 +24,4 @@ RUN HOME_DIR=/root \
2324
&& bash ${HOME_DIR}/oss-compliance/generate-oss-compliance.sh ${HOME_DIR} \
2425
&& rm -rf ${HOME_DIR}/oss-compliance*
2526

26-
ENTRYPOINT ["/root/bin"]
27+
ENTRYPOINT ["/root/bin/localproxy"]

.github/docker-images/base-images/amazonlinux/Dockerfile

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
1-
FROM amazonlinux:latest as base
2-
ARG OPENSSL_CONFIG
1+
FROM amazonlinux:2023 as base
32

43
# Install Prerequisites
54

65
RUN yum check-update; yum upgrade -y && \
7-
yum install -y git boost-devel autoconf automake \
8-
wget libtool curl make gcc-c++ unzip cmake3 python-devel openssl11-devel which
6+
yum install -y git boost-devel autoconf automake libatomic perl \
7+
wget libtool make gcc-c++ unzip cmake3 python-devel openssl-devel which
98

109
# Install Dependencies
1110

12-
RUN ln -s /usr/bin/cmake3 /usr/bin/cmake
1311
RUN mkdir /home/dependencies
1412

13+
WORKDIR /home/dependencies
14+
RUN wget https://www.openssl.org/source/openssl-3.0.12.tar.gz \
15+
&& tar xzvf openssl-3.0.12.tar.gz \
16+
&& cd openssl-3.0.12 \
17+
&& ./config \
18+
&& make \
19+
&& make install
20+
1521
WORKDIR /home/dependencies
1622
RUN wget https://github.com/madler/zlib/archive/v1.2.13.tar.gz -O /tmp/zlib-1.2.13.tar.gz && \
1723
tar xzvf /tmp/zlib-1.2.13.tar.gz && \
@@ -21,9 +27,9 @@ RUN wget https://github.com/madler/zlib/archive/v1.2.13.tar.gz -O /tmp/zlib-1.2.
2127
make install
2228

2329
WORKDIR /home/dependencies
24-
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.gz -O /tmp/boost.tar.gz && \
30+
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.gz -O /tmp/boost.tar.gz && \
2531
tar xzvf /tmp/boost.tar.gz && \
26-
cd boost_1_81_0 && \
32+
cd boost_1_84_0 && \
2733
./bootstrap.sh && \
2834
./b2 install link=static
2935

@@ -37,14 +43,6 @@ RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/p
3743
make && \
3844
make install
3945

40-
WORKDIR /home/dependencies
41-
RUN git clone https://github.com/openssl/openssl.git && \
42-
cd openssl && \
43-
git checkout OpenSSL_1_1_1-stable && \
44-
./config && \
45-
make depend && \
46-
make all
47-
4846
WORKDIR /home/dependencies
4947
RUN git clone --branch v2.13.6 https://github.com/catchorg/Catch2.git && \
5048
cd Catch2 && \

.github/docker-images/base-images/debian-ubuntu/Dockerfile

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,18 @@ FROM ${OS} AS base
66
RUN apt update && apt upgrade -y && \
77
apt install -y git libboost-all-dev autoconf automake \
88
wget libtool curl make g++ unzip cmake libssl-dev python3
9-
109
# Install Dependencies
1110

1211
RUN mkdir /home/dependencies
1312

13+
WORKDIR /home/dependencies
14+
RUN wget https://www.openssl.org/source/openssl-3.0.12.tar.gz \
15+
&& tar xzvf openssl-3.0.12.tar.gz \
16+
&& cd openssl-3.0.12 \
17+
&& ./config \
18+
&& make \
19+
&& make install
20+
1421
WORKDIR /home/dependencies
1522
RUN wget https://github.com/madler/zlib/archive/v1.2.13.tar.gz -O /tmp/zlib-1.2.13.tar.gz && \
1623
tar xzvf /tmp/zlib-1.2.13.tar.gz && \
@@ -20,9 +27,9 @@ RUN wget https://github.com/madler/zlib/archive/v1.2.13.tar.gz -O /tmp/zlib-1.2.
2027
make install
2128

2229
WORKDIR /home/dependencies
23-
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.gz -O /tmp/boost.tar.gz && \
30+
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.gz -O /tmp/boost.tar.gz && \
2431
tar xzvf /tmp/boost.tar.gz && \
25-
cd boost_1_81_0 && \
32+
cd boost_1_84_0 && \
2633
./bootstrap.sh && \
2734
./b2 install link=static
2835

@@ -36,14 +43,6 @@ RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/p
3643
make && \
3744
make install
3845

39-
WORKDIR /home/dependencies
40-
RUN git clone https://github.com/openssl/openssl.git && \
41-
cd openssl && \
42-
git checkout OpenSSL_1_1_1-stable && \
43-
./config && \
44-
make depend && \
45-
make all
46-
4746
WORKDIR /home/dependencies
4847
RUN git clone --branch v2.13.6 https://github.com/catchorg/Catch2.git && \
4948
cd Catch2 && \

.github/docker-images/base-images/fedora/Dockerfile

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ RUN dnf -y update \
99

1010
RUN mkdir /home/dependencies
1111

12+
WORKDIR /home/dependencies
13+
RUN wget https://www.openssl.org/source/openssl-3.0.12.tar.gz \
14+
&& tar xzvf openssl-3.0.12.tar.gz \
15+
&& cd openssl-3.0.12 \
16+
&& ./config \
17+
&& make \
18+
&& make install
19+
1220
WORKDIR /home/dependencies
1321
RUN wget https://github.com/madler/zlib/archive/v1.2.13.tar.gz -O /tmp/zlib-1.2.13.tar.gz && \
1422
tar xzvf /tmp/zlib-1.2.13.tar.gz && \
@@ -18,9 +26,9 @@ RUN wget https://github.com/madler/zlib/archive/v1.2.13.tar.gz -O /tmp/zlib-1.2.
1826
make install
1927

2028
WORKDIR /home/dependencies
21-
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.gz -O /tmp/boost.tar.gz && \
29+
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.gz -O /tmp/boost.tar.gz && \
2230
tar xzvf /tmp/boost.tar.gz && \
23-
cd boost_1_81_0 && \
31+
cd boost_1_84_0 && \
2432
./bootstrap.sh && \
2533
./b2 install link=static
2634

@@ -34,14 +42,6 @@ RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/p
3442
make && \
3543
make install
3644

37-
WORKDIR /home/dependencies
38-
RUN git clone https://github.com/openssl/openssl.git && \
39-
cd openssl && \
40-
git checkout OpenSSL_1_1_1-stable && \
41-
./config && \
42-
make depend && \
43-
make all
44-
4545
WORKDIR /home/dependencies
4646
RUN git clone --branch v2.13.6 https://github.com/catchorg/Catch2.git && \
4747
cd Catch2 && \

.github/docker-images/base-images/ubi8/Dockerfile

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,19 @@ FROM redhat/ubi8:latest AS base
33
# Install Prerequisites
44

55
RUN yum -y update \
6-
&& yum -y install git autoconf automake \
7-
wget libtool libatomic curl make gcc-c++ unzip cmake python3 openssl-devel
6+
&& yum -y install git autoconf automake libatomic \
7+
wget libtool curl make gcc-c++ unzip cmake python3 openssl-devel perl
88

99
RUN mkdir /home/dependencies
1010

11+
WORKDIR /home/dependencies
12+
RUN wget https://www.openssl.org/source/openssl-3.0.12.tar.gz \
13+
&& tar xzvf openssl-3.0.12.tar.gz \
14+
&& cd openssl-3.0.12 \
15+
&& ./config \
16+
&& make \
17+
&& make install
18+
1119
WORKDIR /home/dependencies
1220
RUN wget https://github.com/madler/zlib/archive/v1.2.13.tar.gz -O /tmp/zlib-1.2.13.tar.gz && \
1321
tar xzvf /tmp/zlib-1.2.13.tar.gz && \
@@ -17,9 +25,9 @@ RUN wget https://github.com/madler/zlib/archive/v1.2.13.tar.gz -O /tmp/zlib-1.2.
1725
make install
1826

1927
WORKDIR /home/dependencies
20-
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.gz -O /tmp/boost.tar.gz && \
28+
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.gz -O /tmp/boost.tar.gz && \
2129
tar xzvf /tmp/boost.tar.gz && \
22-
cd boost_1_81_0 && \
30+
cd boost_1_84_0 && \
2331
./bootstrap.sh && \
2432
./b2 install link=static
2533

@@ -33,14 +41,6 @@ RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/p
3341
make && \
3442
make install
3543

36-
WORKDIR /home/dependencies
37-
RUN git clone https://github.com/openssl/openssl.git && \
38-
cd openssl && \
39-
git checkout OpenSSL_1_1_1-stable && \
40-
./config && \
41-
make depend && \
42-
make all
43-
4444
WORKDIR /home/dependencies
4545
RUN git clone --branch v2.13.6 https://github.com/catchorg/Catch2.git && \
4646
cd Catch2 && \
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
ARG BASE_IMAGE
2+
FROM ${BASE_IMAGE} AS deploy
3+
4+
###############################################################################
5+
# Copy and build local proxy
6+
###############################################################################
7+
8+
COPY . /root/aws-iot-securetunneling-localproxy
9+
RUN mkdir -p /root/aws-iot-securetunneling-localproxy/build \
10+
&& cd /root/aws-iot-securetunneling-localproxy/build \
11+
&& cmake .. \
12+
&& make
13+
14+
FROM amazonlinux:2023 AS minimum_size
15+
16+
COPY --from=deploy /root/aws-iot-securetunneling-localproxy/build/bin/localproxy /root/bin/localproxy
17+
18+
COPY ./.github/docker-images/oss-compliance /root/oss-compliance
19+
RUN HOME_DIR=/root \
20+
&& cd ${HOME_DIR}/oss-compliance \
21+
&& chmod +x ${HOME_DIR}/oss-compliance/generate-oss-compliance.sh \
22+
&& chmod +x ${HOME_DIR}/oss-compliance/test/test-oss-compliance.sh \
23+
&& bash ${HOME_DIR}/oss-compliance/generate-oss-compliance.sh ${HOME_DIR} \
24+
&& rm -rf ${HOME_DIR}/oss-compliance*
25+
26+
# OS-specific commands
27+
RUN yum check-update; yum upgrade -y && \
28+
yum install -y libatomic libicu
29+
30+
ENTRYPOINT ["/root/bin/localproxy"]
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
ARG OS
2+
ARG BASE_IMAGE
3+
FROM ${BASE_IMAGE} AS deploy
4+
5+
###############################################################################
6+
# Copy and build local proxy
7+
###############################################################################
8+
9+
COPY . /root/aws-iot-securetunneling-localproxy
10+
RUN mkdir -p /root/aws-iot-securetunneling-localproxy/build \
11+
&& cd /root/aws-iot-securetunneling-localproxy/build \
12+
&& cmake .. \
13+
&& make
14+
15+
FROM ${OS} AS minimum_size
16+
17+
COPY --from=deploy /root/aws-iot-securetunneling-localproxy/build/bin/localproxy /root/bin/localproxy
18+
19+
COPY ./.github/docker-images/oss-compliance /root/oss-compliance
20+
RUN HOME_DIR=/root \
21+
&& cd ${HOME_DIR}/oss-compliance \
22+
&& chmod +x ${HOME_DIR}/oss-compliance/generate-oss-compliance.sh \
23+
&& chmod +x ${HOME_DIR}/oss-compliance/test/test-oss-compliance.sh \
24+
&& bash ${HOME_DIR}/oss-compliance/generate-oss-compliance.sh ${HOME_DIR} \
25+
&& rm -rf ${HOME_DIR}/oss-compliance*
26+
27+
# OS-specific commands
28+
RUN apt update && apt upgrade -y && apt install -y ca-certificates && update-ca-certificates
29+
30+
ENTRYPOINT ["/root/bin/localproxy"]
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
ARG BASE_IMAGE
2+
FROM ${BASE_IMAGE} AS deploy
3+
4+
###############################################################################
5+
# Copy and build local proxy
6+
###############################################################################
7+
8+
COPY . /root/aws-iot-securetunneling-localproxy
9+
RUN mkdir -p /root/aws-iot-securetunneling-localproxy/build \
10+
&& cd /root/aws-iot-securetunneling-localproxy/build \
11+
&& cmake .. \
12+
&& make
13+
14+
FROM redhat/ubi8:latest AS minimum_size
15+
16+
COPY --from=deploy /root/aws-iot-securetunneling-localproxy/build/bin/localproxy /root/bin/localproxy
17+
18+
COPY ./.github/docker-images/oss-compliance /root/oss-compliance
19+
RUN HOME_DIR=/root \
20+
&& cd ${HOME_DIR}/oss-compliance \
21+
&& chmod +x ${HOME_DIR}/oss-compliance/generate-oss-compliance.sh \
22+
&& chmod +x ${HOME_DIR}/oss-compliance/test/test-oss-compliance.sh \
23+
&& bash ${HOME_DIR}/oss-compliance/generate-oss-compliance.sh ${HOME_DIR} \
24+
&& rm -rf ${HOME_DIR}/oss-compliance*
25+
26+
# OS-specific commands
27+
RUN yum check-update; yum upgrade -y && \
28+
yum install -y libatomic libicu ca-certificates && \
29+
update-ca-trust extract
30+
31+
ENTRYPOINT ["/root/bin/localproxy"]

0 commit comments

Comments
 (0)