setup-scripts/docker-scripts/Dockerfile-ubuntu-22.04 (38 lines of code) (raw):
FROM public.ecr.aws/ubuntu/ubuntu:22.04 as base
ARG TIME_ZONE
RUN if [ -z "${TIME_ZONE}" ] ; then exit 1; fi
RUN apt-get update \
&& DEBIAN_FRONTEND="noninteractive" TZ="${TIME_ZONE}" \
apt install -y git clang wget curl autoconf \
libglib2.0-dev libboost-dev libkrb5-dev libsystemd-dev libssl-dev \
libboost-program-options-dev libboost-filesystem-dev byacc make libjsoncpp-dev \
libgtest-dev
RUN git clone https://github.com/Kitware/CMake.git -b release /root/CMake \
&& cd /root/CMake && ./configure && make -j4 && pwd && make install
RUN git clone https://github.com/krb5/krb5.git -b krb5-1.21.2-final /root/krb5 \
&& cd /root/krb5/src && autoconf && autoreconf && ./configure && make -j4 && make install
RUN git clone --recurse-submodules -b v1.58.0 https://github.com/grpc/grpc /root/grpc \
&& mkdir -p /root/grpc/build && cd /root/grpc/build \
&& cmake -DgRPC_INSTALL=ON -DgRPC_BUILD_TESTS=OFF -DCMAKE_CXX_STANDARD=17 ../ \
&& make -j4 && make install \
&& mkdir -p /root/grpc/cmake/build && cd /root/grpc/cmake/build \
&& cmake -DgRPC_BUILD_TESTS=ON ../.. && make grpc_cli \
&& cp /root/grpc/cmake/build/grpc_cli /usr/local/bin
RUN cd /root && wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
&& dpkg -i packages-microsoft-prod.deb \
&& rm packages-microsoft-prod.deb \
&& apt remove 'dotnet*' 'aspnetcore*' 'netstandard*' \
&& rm /etc/apt/sources.list.d/microsoft-prod.list \
&& apt update \
&& apt-get install -y dotnet-sdk-8.0
#RUN git clone -b credentials-fetcher-credfile https://github.com/fordth/credentials-fetcher /root/credentials-fetcher \
RUN git clone https://github.com/aws/credentials-fetcher /root/credentials-fetcher \
&& mkdir -p /root/credentials-fetcher/build \
&& mkdir -p /usr/lib64/glib-2.0/ \
&& ln -s '/usr/lib/x86_64-linux-gnu/glib-2.0/include/' '/usr/lib64/glib-2.0/include' \
&& ln -s '/usr/include/jsoncpp/json/' '/usr/include/json' \
&& cd /root/credentials-fetcher/build \
&& cmake ../ && make -j4 && make install
WORKDIR /root/credentials-fetcher/build
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
CMD ["/bin/bash"]