FROM ubuntu:18.04 RUN apt-get update && apt-get install -y curl \ wget \ git \ python \ python-pip \ vim \ sudo \ jq # Enable the Docker repository RUN apt update && apt install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" # Install Docker CE RUN apt update && apt install -y docker-ce # Install yq RUN sudo add-apt-repository ppa:rmescandon/yq && apt update && apt install -y yq # Install Ruby and travis RUN apt update && apt install -y ruby-dev libffi-dev make gcc RUN gem install travis RUN pip install awscli # Install kustomize RUN curl -LO https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv3.2.1/kustomize_kustomize.v3.2.1_linux_amd64 && mv kustomize_kustomize.v3.2.1_linux_amd64 /bin/kustomize && chmod u+x /bin/kustomize # Install kubectl RUN curl -o kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.12.9/2019-06-21/bin/linux/amd64/kubectl \ && chmod +x ./kubectl && cp ./kubectl /bin # Install eksctl RUN curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp && mv /tmp/eksctl /bin # Install Kubebuilder which is required for make test RUN wget https://github.com/kubernetes-sigs/kubebuilder/releases/download/v2.3.1/kubebuilder_2.3.1_linux_amd64.tar.gz \ && tar -zxvf kubebuilder_2.3.1_linux_amd64.tar.gz \ && mv kubebuilder_2.3.1_linux_amd64 /usr/local/kubebuilder \ && rm -rf kubebuilder_2.3.1_linux_amd64.tar.gz # Install dig, used for PrivateLink test. RUN apt-get install -y dnsutils # Add Golang RUN sudo add-apt-repository -y ppa:longsleep/golang-backports && sudo apt-get update && sudo apt-get install -y golang-go # This is how you start docker engine on container. Make sure container is # running in privileged mode. # I had to comment this line since codebuild overrides this. # Uncomment this line if you want to use this as build environment for this project locally # ENTRYPOINT sudo service docker start && bash