Skip to content

Commit 6e326ee

Browse files
leppeKmichi-covalent
authored andcommitted
Prepare for #2755 - Dockerfile only
Only the Dockerfile for now as discussed with @michi-covalent because it will diverge everytime taken from the original commit: -- This way we are not diverging in multiple dockerfiles and we can choose between two targets: - cilium-cli-ci The original target based on ubuntu and the default - cilium-cli Only contains the cilium cli based on scratch -- Signed-off-by: Merijn Keppel <[email protected]>
1 parent 3777250 commit 6e326ee

File tree

1 file changed

+24
-15
lines changed

1 file changed

+24
-15
lines changed

Diff for: Dockerfile

+24-15
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,41 @@
33
# Copyright Authors of Cilium
44
# SPDX-License-Identifier: Apache-2.0
55

6+
# FINAL_CONTAINER specifies the source for the output
7+
# cilium-cli-ci (default) is based on ubuntu with cloud CLIs
8+
# cilium-cli is from scratch only including cilium binaries
9+
ARG FINAL_CONTAINER="cilium-cli-ci"
10+
611
FROM docker.io/library/golang:1.23.1-alpine3.19@sha256:e0ea2a119ae0939a6d449ea18b2b1ba30b44986ec48dbb88f3a93371b4bf8750 AS builder
712
WORKDIR /go/src/github.com/cilium/cilium-cli
813
RUN apk add --no-cache curl git make ca-certificates
914
COPY . .
1015
RUN make
1116

12-
FROM ubuntu:24.04@sha256:dfc10878be8d8fc9c61cbff33166cb1d1fe44391539243703c72766894fa834a
13-
LABEL maintainer="[email protected]"
14-
WORKDIR /root/app
17+
FROM scratch AS cilium-cli
18+
COPY --from=builder /go/src/github.com/cilium/cilium-cli/cilium /usr/local/bin/cilium
19+
20+
FROM ubuntu:24.04@sha256:dfc10878be8d8fc9c61cbff33166cb1d1fe44391539243703c72766894fa834a AS cilium-cli-ci
1521
COPY --from=builder /go/src/github.com/cilium/cilium-cli/cilium /usr/local/bin/cilium
1622

1723
# Install cloud CLIs. Based on these instructions:
1824
# - https://cloud.google.com/sdk/docs/install#deb
1925
# - https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
2026
# - https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt#install-azure-cli
2127
RUN apt-get update -y \
22-
&& apt-get install -y curl gnupg unzip \
23-
&& curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg \
24-
&& curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - \
25-
&& echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \
26-
&& apt-get update -y \
27-
&& apt-get install -y google-cloud-cli google-cloud-sdk-gke-gcloud-auth-plugin kubectl \
28-
&& curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" \
29-
&& unzip awscliv2.zip \
30-
&& ./aws/install \
31-
&& rm -r ./aws awscliv2.zip \
32-
&& curl -sL https://aka.ms/InstallAzureCLIDeb | bash
28+
&& apt-get install -y curl gnupg unzip \
29+
&& curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg \
30+
&& curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - \
31+
&& echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \
32+
&& apt-get update -y \
33+
&& apt-get install -y google-cloud-cli google-cloud-sdk-gke-gcloud-auth-plugin kubectl \
34+
&& curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" \
35+
&& unzip awscliv2.zip \
36+
&& ./aws/install \
37+
&& rm -r ./aws awscliv2.zip \
38+
&& curl -sL https://aka.ms/InstallAzureCLIDeb | bash
3339

34-
ENTRYPOINT []
40+
FROM ${FINAL_CONTAINER}
41+
LABEL maintainer="[email protected]"
42+
WORKDIR /root/app
43+
ENTRYPOINT ["/usr/local/bin/cilium"]

0 commit comments

Comments
 (0)