-
Notifications
You must be signed in to change notification settings - Fork 3
/
Dockerfile
54 lines (33 loc) · 2.05 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# SPDX-License-Identifier: Apache-2.0
# set a global Docker argument for the default CLI version
#
# https://github.com/moby/moby/issues/37345
ARG KUBECTL_VERSION=v1.24.12
###############################################################################
## docker build --no-cache --target binary -t vela-kubernetes:binary . ##
###############################################################################
FROM alpine:3.20.2@sha256:0a4eaa0eecf5f8c050e5bba433f58c052be7587ee8af3e8b3910ef9ab5fbe9f5 as binary
ARG KUBECTL_VERSION
ADD https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl /bin/kubectl
RUN chmod 0700 /bin/kubectl
#############################################################################
## docker build --no-cache --target certs -t vela-kubernetes:certs . ##
#############################################################################
FROM alpine:3.20.2@sha256:0a4eaa0eecf5f8c050e5bba433f58c052be7587ee8af3e8b3910ef9ab5fbe9f5 as certs
RUN apk add --update --no-cache ca-certificates
#############################################################################
## docker build --no-cache --target gcloud -t vela-kubernetes:gcloud . ##
#############################################################################
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:490.0.0-alpine@sha256:88460661f93d6a6734dae217a5b251c60e0e533b7399f48d51d038f57a0cfbc0 as gcloud
RUN gcloud components install gke-gcloud-auth-plugin
##############################################################
## docker build --no-cache -t vela-kubernetes:local . ##
##############################################################
FROM scratch
ARG KUBECTL_VERSION
ENV PLUGIN_KUBECTL_VERSION=${KUBECTL_VERSION}
COPY --from=binary /bin/kubectl /bin/kubectl
COPY --from=certs /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY --from=gcloud /google-cloud-sdk/bin/gke-gcloud-auth-plugin /bin/gke-gcloud-auth-plugin
COPY release/vela-kubernetes /bin/vela-kubernetes
ENTRYPOINT [ "/bin/vela-kubernetes" ]