Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 18 additions & 9 deletions Dockerfile.dapper
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,32 @@ FROM registry.suse.com/bci/golang:1.25.7
ARG DAPPER_HOST_ARCH
ENV ARCH $DAPPER_HOST_ARCH

RUN zypper -n install tar gzip bash git gcc docker vim less file curl wget ca-certificates
RUN zypper -n install tar gzip bash git gcc docker docker-buildx vim less file curl wget ca-certificates

RUN zypper addrepo http://download.opensuse.org/distribution/leap/15.3/repo/oss/ oss && \
zypper --gpg-auto-import-keys refresh && \
zypper in -y qemu-x86 qemu-tools

# Get checksums at https://github.com/kubernetes-sigs/controller-tools/blob/main/envtest-releases.yaml
RUN export K8S_VERSION=1.24.2 && \
curl -sSfLO "https://github.com/kubernetes-sigs/controller-tools/releases/download/envtest-v${K8S_VERSION}/envtest-v${K8S_VERSION}-$(go env GOOS)-$(go env GOARCH).tar.gz" && \
export OS=$(go env GOOS) && \
export ARCH=$(go env GOARCH) && \
case "${OS}-${ARCH}" in \
darwin-amd64) EXPECTED_HASH="8d0a73308daafbb65ed97449bce81e09d249045d4594ce4e4050cc8c5f2aa3147bf4a4fbda6b73a18b0a0cba4f88a01a4e0b9f66c371eba924e3bb36fe9860d5" ;; \
darwin-arm64) EXPECTED_HASH="f2eb57ac07a0eeb97d6a8e36bc397eb0b5bcaa432ccadb5a574d5684dd482d2121a193f3dfdf1ee04b4df7cdead8d899c5a57e753283ea406bad560063dbabb7" ;; \
linux-amd64) EXPECTED_HASH="2b330c1802f7fd858a8a6e97141b07a4260eec135712c8913d36bb8e48f8dbfa45a8e5b13c15e7c20127a55d75bfda5007bf018e853cf156e3ac2b019d492892" ;; \
linux-arm64) EXPECTED_HASH="5cda1ba1f734a067e8b823130fca9c6bec151106aa1d32856ef7524afdfdd733e6c5c87b1b8d41c293083fd64ac668db8b74dca26554e0c99e0120e6f99f9e21" ;; \
windows-amd64) EXPECTED_HASH="b9708002e6265eb72ee3ba8a229624dbb1328881f08e53855b2d22fb334d6b40af3de11b9598f3a4c6829bbb6c787aa4556479855354eda1e899df34a2e93a5c" ;; \
*) echo "Unsupported architecture: ${OS}-${ARCH}" && exit 1 ;; \
esac && \
curl -sSfL -o envtest-bins.tar.gz "https://github.com/kubernetes-sigs/controller-tools/releases/download/envtest-v${K8S_VERSION}/envtest-v${K8S_VERSION}-${OS}-${ARCH}.tar.gz" && \
echo "${EXPECTED_HASH} envtest-bins.tar.gz" | sha512sum -c - && \
mkdir -p /usr/local/kubebuilder/bin && \
tar -C /usr/local/kubebuilder/bin --strip-components=2 -zvxf envtest-v${K8S_VERSION}-$(go env GOOS)-$(go env GOARCH).tar.gz
tar -C /usr/local/kubebuilder/bin --strip-components=2 -zvxf envtest-bins.tar.gz && \
rm envtest-bins.tar.gz

RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s latest

# The docker version in dapper is too old to have buildx. Install it manually.
RUN curl -sSfL https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-${ARCH} -o buildx-v0.13.1.linux-${ARCH} && \
chmod +x buildx-v0.13.1.linux-${ARCH} && \
mv buildx-v0.13.1.linux-${ARCH} /usr/local/bin/buildx
COPY --from=golangci/golangci-lint:v2.11.4-alpine@sha256:72bcd68512b4e27540dd3a778a1b7afd45759d8145cfb3c089f1d7af53e718e9 \
/usr/bin/golangci-lint /usr/local/bin/golangci-lint

ENV DAPPER_ENV REPO TAG DRONE_TAG CROSS
ENV DAPPER_SOURCE /go/src/github.com/harvester/vm-import-controller
Expand Down
17 changes: 14 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,9 +1,20 @@
TARGETS := $(shell ls scripts)

SHA512SUM_Linux_aarch64 := 781951b31e5ff018a04e755c6da7163b31a81edda61f1bed4def8d0e24229865c58a3d26aa0cc4184058d91ebcae300ead2cad16d3c46ccb1098419e3e41a016
SHA512SUM_Linux_x86_64 := d2ec27ecf9362e2fafd27d76d85a5c5b92b53aefe07cffa76bf9887db6bee07b1023cca8fc32a2c9bdd2ecfadaee71397066b41bd37c9ebbbbce09913f0884d4
SHA512SUM_Darwin_arm64 := 8a356c89ad32af1698ae8615a6e303773a8ac58b114368454d59965ec2aa8282e780d1e228d37c301ce6f87596f68bfe7f204eb5f4c019c386a58dd94153ddcf
SHA512SUM_Darwin_x86_64 := dbab05de04dda26793f4ae7875d0fba96ee54b0228e192fd40c0b2116ed345b5444047fc2e0c90cb481f28cbe0e0452bcecb268c8d074cd8615eb2f5463c30b6
SHA512SUM_Windows_x86_64 := 807aee2f68b6da35cb0885558f5cbc9a6c8747a56c7a200f0e1fcac9e2fd0da570cbb39e48b3192bd1a71805f2ab38fd19d77faebba97a89e5d9a8b430ee429e

.dapper:
@echo Downloading dapper
@curl -sL https://releases.rancher.com/dapper/latest/dapper-$$(uname -s)-$$(uname -m) > .dapper.tmp
@@chmod +x .dapper.tmp
@curl -sSfL https://releases.rancher.com/dapper/v0.6.0/dapper-$$(uname -s)-$$(uname -m) > .dapper.tmp
@CHECKSUM=$$(shasum -a 512 .dapper.tmp | awk '{print $$1}'); \
if [ "$$CHECKSUM" != "$(SHA512SUM_$(shell uname -s)_$(shell uname -m))" ]; then \
echo "Checksum verification failed!"; \
exit 1; \
fi
@chmod +x .dapper.tmp
@./.dapper.tmp -v
@mv .dapper.tmp .dapper

Expand All @@ -12,4 +23,4 @@ $(TARGETS): .dapper

.DEFAULT_GOAL := default

.PHONY: $(TARGETS)
.PHONY: $(TARGETS)
2 changes: 1 addition & 1 deletion scripts/package
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ cd $(dirname $0)/..
IMAGE=${REPO}/harvester-vm-import-controller:${TAG}
DOCKERFILE=package/Dockerfile

buildx build --load \
docker buildx build --load \
-f ${DOCKERFILE} -t ${IMAGE} .

echo Built ${IMAGE}
Loading