FROM ubuntu:20.04 ENV DEBIAN_FRONTEND="noninteractive" RUN apt-get update && apt-get install cmake iproute2 iputils-ping wget curl git libssl-dev -y # Install kubectl RUN curl -fsSLo /usr/local/bin/kubectl https://dl.k8s.io/release/v1.23.0/bin/linux/amd64/kubectl && chmod +x /usr/local/bin/kubectl # Install Go RUN wget https://go.dev/dl/go1.18.linux-amd64.tar.gz RUN tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz && rm go1.18.linux-amd64.tar.gz ENV PATH ${PATH}:/usr/local/go/bin # Install wireguard-tools RUN git clone -b v1.0.20210914 --depth=1 https://git.zx2c4.com/wireguard-tools && make -C wireguard-tools/src -j`nproc` && make -C wireguard-tools/src install # Install Rust RUN curl https://sh.rustup.rs -sSf | sh -s -- -y ENV PATH /root/.cargo/bin:${PATH} # Setup CLI RUN wg genkey | (umask 0077 && tee /privatekey) | wg pubkey > /publickey RUN mkdir -p /root/.config/constellation && touch /root/.config/constellation/config.json # Setup AWS config RUN mkdir -p /root/.aws && echo "[default]\nregion = us-east-2" > /root/.aws/config && echo "[default]" >> /root/.aws/credentials # Setup gcloud config RUN mkdir -p /root/.config/gcloud # Use local constellation state # COPY . /constellation # WORKDIR /constellation # RUN mkdir build && cd build && cmake .. && make -j`nproc` cli COPY ./test/ / RUN chmod +x /initiateAWS.sh && chmod +x /initiategcloud.sh