mirror of
https://github.com/vmware-tanzu/pinniped.git
synced 2026-01-07 14:05:50 +00:00
Bumps google/cloud-sdk from 549.0.0-slim to 549.0.1-slim. --- updated-dependencies: - dependency-name: google/cloud-sdk dependency-version: 549.0.1-slim dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
81 lines
3.3 KiB
Docker
81 lines
3.3 KiB
Docker
# Copyright 2020-2025 the Pinniped contributors. All Rights Reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# For running the integration tests as a client to a k8s cluster
|
|
|
|
FROM mikefarah/yq:4.49.2 AS yq
|
|
|
|
# We need gcloud for running integration tests against GKE
|
|
# because the kubeconfig uses gcloud as an `auth-provider`.
|
|
# Use FROM gcloud-sdk instead of FROM golang because its
|
|
# a lot easier to install Go than to install gcloud in the
|
|
# subsequent commands below.
|
|
FROM google/cloud-sdk:549.0.1-slim
|
|
|
|
# Install apache2-utils (for htpasswd to bcrypt passwords for the
|
|
# local-user-authenticator) and jq.
|
|
RUN apt-get update && apt-get install -y apache2-utils jq wget zip procps alien google-cloud-sdk-gke-gcloud-auth-plugin && rm -rf /var/lib/apt/lists/*
|
|
|
|
# Print version of gke-gcloud-auth-plugin
|
|
RUN gke-gcloud-auth-plugin --version
|
|
|
|
# Create a non-root user account that can be used to run the tests.
|
|
RUN useradd --create-home testrunner
|
|
|
|
# Install latest stable chrome.
|
|
RUN \
|
|
chown root:root /tmp && \
|
|
chmod 1777 /tmp && \
|
|
curl -fsSL -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add && \
|
|
echo "deb https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list && \
|
|
apt-get -y update && \
|
|
apt-get -y install google-chrome-stable
|
|
|
|
# Output Chrome version used
|
|
RUN google-chrome --version
|
|
|
|
# Install Go. The download URL that can be used below for any version of Go can be found on https://go.dev/dl/
|
|
ENV PATH /usr/local/go/bin:$PATH
|
|
RUN curl -fsSL https://go.dev/dl/go1.25.5.linux-amd64.tar.gz -o /tmp/go.tar.gz && \
|
|
tar -C /usr/local -xzf /tmp/go.tar.gz && \
|
|
rm /tmp/go.tar.gz && \
|
|
go version
|
|
ENV GOPATH /go
|
|
ENV PATH $GOPATH/bin:$PATH
|
|
RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"
|
|
WORKDIR $GOPATH
|
|
|
|
# Install go tools gotestsum and test2json to record the test output in a nice format.
|
|
RUN go install gotest.tools/gotestsum@latest
|
|
RUN env GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o test2json -ldflags="-s -w" cmd/test2json && \
|
|
mv test2json /usr/local/bin/test2json
|
|
|
|
# Install Carvel tools.
|
|
RUN bash -c "set -eo pipefail; curl -fsSL https://carvel.dev/install.sh | bash" && \
|
|
ytt version && kapp version && kbld version && kwt version && imgpkg version && vendir version
|
|
|
|
# Install the latest kubectl as documented here: https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/
|
|
RUN curl -fsSL "https://dl.k8s.io/release/$(curl -fsSL "https://dl.k8s.io/release/stable.txt")/bin/linux/amd64/kubectl" \
|
|
-o /bin/kubectl && chmod 0755 /bin/kubectl
|
|
|
|
# Install aws-iam-authenticator
|
|
RUN curl -fsSL \
|
|
https://github.com/kubernetes-sigs/aws-iam-authenticator/releases/download/v0.6.14/aws-iam-authenticator_0.6.14_linux_amd64 \
|
|
-o /bin/aws-iam-authenticator \
|
|
&& chmod 0755 /bin/aws-iam-authenticator
|
|
|
|
# Install TMC CLI.
|
|
# Update: The TMC CLI has been deprecated and replaced by the tanzu CLI. Commenting this out for now.
|
|
#RUN curl -fsSL https://tanzuuserauthentication.stable.tmc-dev.cloud.vmware.com/v1alpha/system/binaries \
|
|
# | jq -r .versions[].linuxX64 \
|
|
# | xargs curl -fsSL -o /bin/tmc && chmod 0755 /bin/tmc && \
|
|
# tmc version
|
|
|
|
# Install yq.
|
|
COPY --from=yq /usr/bin/yq /usr/local/bin/yq
|
|
|
|
# install latest nmap
|
|
RUN wget https://nmap.org/dist/nmap-7.92-1.x86_64.rpm &&\
|
|
alien nmap-7.92-1.x86_64.rpm &&\
|
|
dpkg -i nmap_7.92-2_amd64.deb
|