Skip to content

Commit c9a3375

Browse files
Docker Images (#113)
* add docker image build workflows
1 parent f460fdf commit c9a3375

File tree

15 files changed

+1446
-7
lines changed

15 files changed

+1446
-7
lines changed

.github/docker-images/Dockerfile

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
ARG OS
2+
ARG BASE_IMAGE
3+
FROM ${BASE_IMAGE} AS deploy
4+
5+
###############################################################################
6+
# Copy and build local proxy
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 ${OS} 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+
ENTRYPOINT ["/root/bin"]
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
FROM amazonlinux:latest as base
2+
ARG OPENSSL_CONFIG
3+
4+
# Install Prerequisites
5+
6+
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
9+
10+
# Install Dependencies
11+
12+
RUN ln -s /usr/bin/cmake3 /usr/bin/cmake
13+
RUN mkdir /home/dependencies
14+
15+
WORKDIR /home/dependencies
16+
RUN wget https://www.zlib.net/zlib-1.2.13.tar.gz -O /tmp/zlib-1.2.13.tar.gz && \
17+
tar xzvf /tmp/zlib-1.2.13.tar.gz && \
18+
cd zlib-1.2.13 && \
19+
./configure && \
20+
make && \
21+
make install
22+
23+
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 && \
25+
tar xzvf /tmp/boost.tar.gz && \
26+
cd boost_1_81_0 && \
27+
./bootstrap.sh && \
28+
./b2 install link=static
29+
30+
WORKDIR /home/dependencies
31+
RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-all-3.17.3.tar.gz -O /tmp/protobuf-all-3.17.3.tar.gz && \
32+
tar xzvf /tmp/protobuf-all-3.17.3.tar.gz && \
33+
cd protobuf-3.17.3 && \
34+
mkdir build && \
35+
cd build && \
36+
cmake ../cmake && \
37+
make && \
38+
make install
39+
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+
48+
WORKDIR /home/dependencies
49+
RUN git clone --branch v2.13.6 https://github.com/catchorg/Catch2.git && \
50+
cd Catch2 && \
51+
mkdir build && \
52+
cd build && \
53+
cmake ../ && \
54+
make && \
55+
make install
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
ARG OS
2+
FROM ${OS} AS base
3+
4+
# Install Prerequisites
5+
6+
RUN apt update && apt upgrade -y && \
7+
apt install -y git libboost-all-dev autoconf automake \
8+
wget libtool curl make g++ unzip cmake libssl-dev python3
9+
10+
# Install Dependencies
11+
12+
RUN mkdir /home/dependencies
13+
14+
WORKDIR /home/dependencies
15+
RUN wget https://www.zlib.net/zlib-1.2.13.tar.gz -O /tmp/zlib-1.2.13.tar.gz && \
16+
tar xzvf /tmp/zlib-1.2.13.tar.gz && \
17+
cd zlib-1.2.13 && \
18+
./configure && \
19+
make && \
20+
make install
21+
22+
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 && \
24+
tar xzvf /tmp/boost.tar.gz && \
25+
cd boost_1_81_0 && \
26+
./bootstrap.sh && \
27+
./b2 install link=static
28+
29+
WORKDIR /home/dependencies
30+
RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-all-3.17.3.tar.gz -O /tmp/protobuf-all-3.17.3.tar.gz && \
31+
tar xzvf /tmp/protobuf-all-3.17.3.tar.gz && \
32+
cd protobuf-3.17.3 && \
33+
mkdir build && \
34+
cd build && \
35+
cmake ../cmake && \
36+
make && \
37+
make install
38+
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+
47+
WORKDIR /home/dependencies
48+
RUN git clone --branch v2.13.6 https://github.com/catchorg/Catch2.git && \
49+
cd Catch2 && \
50+
mkdir build && \
51+
cd build && \
52+
cmake ../ && \
53+
make && \
54+
make install
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
FROM fedora:latest AS base
2+
3+
# Install Prerequisites
4+
5+
RUN dnf -y update \
6+
&& dnf -y install \
7+
git autoconf automake \
8+
which wget libtool libatomic curl make gcc-c++ unzip cmake python3 openssl-devel perl-core
9+
10+
RUN mkdir /home/dependencies
11+
12+
WORKDIR /home/dependencies
13+
RUN wget https://www.zlib.net/zlib-1.2.13.tar.gz -O /tmp/zlib-1.2.13.tar.gz && \
14+
tar xzvf /tmp/zlib-1.2.13.tar.gz && \
15+
cd zlib-1.2.13 && \
16+
./configure && \
17+
make && \
18+
make install
19+
20+
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 && \
22+
tar xzvf /tmp/boost.tar.gz && \
23+
cd boost_1_81_0 && \
24+
./bootstrap.sh && \
25+
./b2 install link=static
26+
27+
WORKDIR /home/dependencies
28+
RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-all-3.17.3.tar.gz -O /tmp/protobuf-all-3.17.3.tar.gz && \
29+
tar xzvf /tmp/protobuf-all-3.17.3.tar.gz && \
30+
cd protobuf-3.17.3 && \
31+
mkdir build && \
32+
cd build && \
33+
cmake ../cmake && \
34+
make && \
35+
make install
36+
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+
45+
WORKDIR /home/dependencies
46+
RUN git clone --branch v2.13.6 https://github.com/catchorg/Catch2.git && \
47+
cd Catch2 && \
48+
mkdir build && \
49+
cd build && \
50+
cmake ../ && \
51+
make && \
52+
make install
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
FROM redhat/ubi8:latest AS base
2+
3+
# Install Prerequisites
4+
5+
RUN yum -y update \
6+
&& yum -y install git autoconf automake \
7+
wget libtool libatomic curl make gcc-c++ unzip cmake python3 openssl-devel
8+
9+
RUN mkdir /home/dependencies
10+
11+
WORKDIR /home/dependencies
12+
RUN wget https://www.zlib.net/zlib-1.2.13.tar.gz -O /tmp/zlib-1.2.13.tar.gz && \
13+
tar xzvf /tmp/zlib-1.2.13.tar.gz && \
14+
cd zlib-1.2.13 && \
15+
./configure && \
16+
make && \
17+
make install
18+
19+
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 && \
21+
tar xzvf /tmp/boost.tar.gz && \
22+
cd boost_1_81_0 && \
23+
./bootstrap.sh && \
24+
./b2 install link=static
25+
26+
WORKDIR /home/dependencies
27+
RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-all-3.17.3.tar.gz -O /tmp/protobuf-all-3.17.3.tar.gz && \
28+
tar xzvf /tmp/protobuf-all-3.17.3.tar.gz && \
29+
cd protobuf-3.17.3 && \
30+
mkdir build && \
31+
cd build && \
32+
cmake ../cmake && \
33+
make && \
34+
make install
35+
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+
44+
WORKDIR /home/dependencies
45+
RUN git clone --branch v2.13.6 https://github.com/catchorg/Catch2.git && \
46+
cd Catch2 && \
47+
mkdir build && \
48+
cd build && \
49+
cmake ../ && \
50+
make && \
51+
make install

0 commit comments

Comments
 (0)