Skip to content

Commit d0b5484

Browse files
committed
wip dockerfile
1 parent 2e841a1 commit d0b5484

1 file changed

Lines changed: 67 additions & 0 deletions

File tree

Dockerfile

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# To test this locally, run
2+
# docker build -t robusta-cli -f Dockerfile .
3+
# docker run -it --rm --net host -v ~/.aws:/root/.aws -v ~/.config/gcloud:/root/.config/gcloud -v ${PWD}:/workingdir -w=/workingdir -v ~/.kube:/root/.kube robusta-cli robusta gen-config
4+
FROM python:3.12-slim as builder
5+
6+
ENV LANG=C.UTF-8
7+
ENV PYTHONDONTWRITEBYTECODE=1
8+
ENV PYTHONUNBUFFERED=1
9+
ENV PATH="/app/venv/bin:$PATH"
10+
11+
WORKDIR /app
12+
13+
RUN pip install poetry
14+
15+
COPY pyproject.toml poetry.lock ./
16+
17+
RUN python -m venv /app/venv && \
18+
. /app/venv/bin/activate && \
19+
poetry config virtualenvs.create false && \
20+
poetry install --no-dev
21+
22+
FROM python:3.12-slim
23+
24+
WORKDIR /app
25+
26+
RUN apt-get update \
27+
&& apt-get install -y --no-install-recommends \
28+
curl \
29+
gnupg \
30+
lsb-release \
31+
unzip \
32+
&& rm -rf /var/lib/apt/lists/*
33+
34+
RUN apt-get update \
35+
&& apt-get install -y --no-install-recommends \
36+
curl \
37+
gnupg \
38+
lsb-release \
39+
unzip \
40+
&& rm -rf /var/lib/apt/lists/*
41+
42+
# Install Google Cloud SDK and Gcloud Auth Plugin
43+
RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \
44+
&& curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
45+
46+
RUN apt-get update \
47+
&& apt-get install -y google-cloud-sdk google-cloud-sdk-gke-gcloud-auth-plugin \
48+
&& rm -rf /var/lib/apt/lists/*
49+
50+
# Install AWS CLI
51+
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" \
52+
&& unzip awscliv2.zip \
53+
&& ./aws/install \
54+
&& rm -rf awscliv2.zip ./aws
55+
56+
# Install Kubectl
57+
RUN curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" \
58+
&& chmod +x kubectl \
59+
&& mv kubectl /usr/local/bin
60+
61+
ENV PYTHONUNBUFFERED=1
62+
ENV PATH="/venv/bin:$PATH"
63+
64+
COPY ./robusta_cli ./robusta_cli
65+
COPY --from=builder /app/venv /venv
66+
67+
ENTRYPOINT [ "python", "/app/robusta_cli/main.py"]

0 commit comments

Comments
 (0)