talosctl

Details
Source
FROM scratch AS build
ARG VERSION
COPY --from=stagex/core-busybox . /
COPY --from=stagex/core-go . /
COPY --from=stagex/core-ca-certificates . /
ADD fetch/talosctl-${VERSION}.tar.gz .
WORKDIR /talos-${VERSION}
ENV GOPATH=/cache/go
ENV GOCACHE=/cache/
ENV GOWORK=off
ENV GOPROXY=https://proxy.golang.org,direct
ENV GOSUMDB=sum.golang.org
ENV CGO_ENABLED=0
ENV GOHOSTOS=linux
ENV GOHOSTARCH=amd64
ENV GO11MODULE=on
RUN go get ./...
RUN <<-EOF
	go build -v -trimpath ./cmd/talosctl
	mkdir -p /rootfs/usr/bin/
	cp talosctl /rootfs/usr/bin/
	install -Dm644 -t /rootfs/usr/share/licenses/talosctl/ LICENSE

	# Completions subpackage
	install -vDm644 bash.completion "/rootfs-completions/usr/share/bash-completion/completions/talosctl"
  install -vDm644 fish.completion "/rootfs-completions/usr/share/fish/completions/talosctl.fish"
  install -vDm644 zsh.completion "/rootfs-completions/usr/share/zsh/site-functions/_talosctl"
	install -Dm644 -t /rootfs/usr/share/licenses/talosctl/ LICENSE
EOF

FROM stagex/core-filesystem AS package-talosctl
COPY --from=build /rootfs/ /

FROM stagex/core-filesystem AS package-talosctl-completions
COPY --from=build /rootfs-completions/ /