Skip to content

Instantly share code, notes, and snippets.

@pepetox
Created July 8, 2020 13:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pepetox/4be973db381fcb922dd6bd9acb8dca0b to your computer and use it in GitHub Desktop.
Save pepetox/4be973db381fcb922dd6bd9acb8dca0b to your computer and use it in GitHub Desktop.
Cloud Run to use Gcloud, gstuil, kubectl....
FROM docker:19.03.11 as static-docker-source
FROM debian:buster
ARG CLOUD_SDK_VERSION=299.0.0
ENV CLOUD_SDK_VERSION=$CLOUD_SDK_VERSION
ENV CLOUDSDK_PYTHON=python3
ENV PATH "$PATH:/opt/google-cloud-sdk/bin/"
COPY --from=static-docker-source /usr/local/bin/docker /usr/local/bin/docker
RUN apt-get -qqy update && apt-get install -qqy \
curl \
python3-dev \
python3-crcmod \
python-crcmod \
apt-transport-https \
lsb-release \
openssh-client \
git \
make \
ncat \
gnupg && \
echo 'deb http://deb.debian.org/debian/ sid main' >> /etc/apt/sources.list && \
export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" && \
echo "deb https://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" > /etc/apt/sources.list.d/google-cloud-sdk.list && \
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \
apt-get update && \
apt-get install -y google-cloud-sdk=${CLOUD_SDK_VERSION}-0 \
google-cloud-sdk-app-engine-python=${CLOUD_SDK_VERSION}-0 \
google-cloud-sdk-app-engine-python-extras=${CLOUD_SDK_VERSION}-0 \
google-cloud-sdk-app-engine-java=${CLOUD_SDK_VERSION}-0 \
google-cloud-sdk-app-engine-go=${CLOUD_SDK_VERSION}-0 \
google-cloud-sdk-datalab=${CLOUD_SDK_VERSION}-0 \
google-cloud-sdk-datastore-emulator=${CLOUD_SDK_VERSION}-0 \
google-cloud-sdk-pubsub-emulator=${CLOUD_SDK_VERSION}-0 \
google-cloud-sdk-bigtable-emulator=${CLOUD_SDK_VERSION}-0 \
google-cloud-sdk-cbt=${CLOUD_SDK_VERSION}-0 \
kubectl && \
gcloud --version && \
docker --version && kubectl version --client
RUN apt-get install -qqy \
gcc \
python3-pip
RUN git config --system credential.'https://source.developers.google.com'.helper gcloud.sh
VOLUME ["/root/.config", "/root/.kube"]
COPY main.sh .
COPY gcloud.sh .
RUN chmod +x /main.sh
RUN chmod +x /gcloud.sh
ENTRYPOINT ["./main.sh"]
#!/usr/bin/env bash
set -eEuo pipefail
HEAD="$(cat <<EOF
HTTP/1.1 200 OK
Connection: keep-alive\r\n\r\n
EOF
)"
echo -en "$HEAD"
gcloud iam roles describe roles/owner
#!/usr/bin/env bash
set -eEuo pipefail
PORT="${PORT:-8080}"
echo "Listening on ${PORT}..."
nc -lk -p "${PORT}" -e "./gcloud.sh"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment