From dadb5076f2697f4fcd0e49349f2f3b6d3a993c67 Mon Sep 17 00:00:00 2001 From: Waldemar Date: Thu, 23 Oct 2025 11:40:39 +0200 Subject: [PATCH] chore(provider): More cleanups. --- Dockerfile | 19 ++++---------- Dockerfile.kaesekuchen | 7 ------ Makefile | 25 ++---------------- README.md | 6 ++--- mockprovider.sh | 13 ---------- scripts/build-static.sh | 48 ----------------------------------- scripts/make-release.sh | 56 ----------------------------------------- 7 files changed, 10 insertions(+), 164 deletions(-) delete mode 100644 Dockerfile.kaesekuchen delete mode 100755 mockprovider.sh delete mode 100755 scripts/build-static.sh delete mode 100755 scripts/make-release.sh diff --git a/Dockerfile b/Dockerfile index ae023b7..48c4a6f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,6 @@ -FROM docker.io/golang:alpine +FROM golang AS builder +COPY . . +RUN go build -o /main main.go -WORKDIR /root -USER root - -RUN apk add musl-dev gcc libtool m4 autoconf g++ make libblkid util-linux-dev git linux-headers mingw-w64-gcc - -RUN wget http://musl.cc/aarch64-linux-musl-cross.tgz -O /tmp/aarch64-linux-musl-cross.tgz && \ - tar --strip-components=1 -C /usr/local -xzf /tmp/aarch64-linux-musl-cross.tgz && \ - rm /tmp/aarch64-linux-musl-cross.tgz - -ADD ./scripts/build-static.sh /build-static.sh -RUN chmod +x /build-static.sh - -CMD ["/bin/sh"] +FROM ghcr.io/cloudbase/garm:nightly +COPY --from=builder ./main /opt/garm/providers.d/garm-provider-edge-connect diff --git a/Dockerfile.kaesekuchen b/Dockerfile.kaesekuchen deleted file mode 100644 index e35789f..0000000 --- a/Dockerfile.kaesekuchen +++ /dev/null @@ -1,7 +0,0 @@ -FROM golang AS builder -COPY . . -RUN go build -o /main main.go - -FROM ghcr.io/cloudbase/garm:nightly -COPY --from=builder ./main /opt/garm/providers.d/garm-provider-edge-connect -COPY mockprovider.sh /opt/garm/providers.d/mockprovider \ No newline at end of file diff --git a/Makefile b/Makefile index 97fde96..2d7abfe 100644 --- a/Makefile +++ b/Makefile @@ -13,21 +13,13 @@ GARM_PROVIDER_NAME := garm-provider-edge-connect default: build -.PHONY : build build-static test install-lint-deps lint go-test fmt fmtcheck verify-vendor verify create-release-files release - +.PHONY : build test install-lint-deps lint go-test fmt fmtcheck verify build: @$(GO) build . clean: ## Clean up build artifacts @rm -rf ./bin ./build ./release -build-static: - @echo Building - $(IMAGE_BUILDER) build --tag $(IMAGE_TAG) . - mkdir -p build - $(IMAGE_BUILDER) run --rm -e GARM_PROVIDER_NAME=$(GARM_PROVIDER_NAME) -e USER_ID=$(USER_ID) -e USER_GROUP=$(USER_GROUP) -v $(PWD)/build:/build/output:z -v $(PWD):/build/$(GARM_PROVIDER_NAME):z -v /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt $(IMAGE_TAG) /build-static.sh - @echo Binaries are available in $(PWD)/build - test: install-lint-deps verify go-test install-lint-deps: @@ -45,17 +37,4 @@ fmt: fmtcheck: @gofmt -l -s $$(go list ./... | sed -n 's/github.com\/cloudbase\/'$(GARM_PROVIDER_NAME)'\/\(.*\)/\1/p') | grep ".*\.go"; if [ "$$?" -eq 0 ]; then echo "gofmt check failed; please tun gofmt -w -s"; exit 1;fi -verify-vendor: ## verify if all the go.mod/go.sum files are up-to-date - $(eval TMPDIR := $(shell mktemp -d)) - @cp -R ${ROOTDIR} ${TMPDIR} - @(cd ${TMPDIR}/$(GARM_PROVIDER_NAME) && ${GO} mod tidy) - @diff -r -u -q ${ROOTDIR} ${TMPDIR}/$(GARM_PROVIDER_NAME) >/dev/null 2>&1; if [ "$$?" -ne 0 ];then echo "please run: go mod tidy && go mod vendor"; exit 1; fi - @rm -rf ${TMPDIR} - -verify: verify-vendor lint fmtcheck - -##@ Release -create-release-files: - ./scripts/make-release.sh - -release: build-static create-release-files ## Create a release +verify: lint fmtcheck diff --git a/README.md b/README.md index 6d41d82..2f02702 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Use this project in conjunction with the DevFW-CICD/garm project. (It is assumed that project is cloned to the folder 'garm'.) Edit the credentials for access to Telekom Edge Cloud and set new Tag: -In the garm project edit the file deploy.yaml: +In the garm project edit the file deploy.yaml: - Edit the credentials inside the Secret with name 'edge-connect-creds' by setting values (inside stringData.creds.toml) for username and password. - Edit the Deployment with name 'garm' by setting a new value (inside spec.template.spec.containers[0]) for the image (tag) of the form garm:provider-ec-[new_number]. @@ -12,7 +12,7 @@ In the garm project edit the file deploy.yaml: Use these commands in the current project. ´´´bash -docker buildx build -t edp.buildth.ing/devfw-cicd/garm:provider-ec-[new_number] -f Dockerfile.kaesekuchen --push . +docker buildx build -t edp.buildth.ing/devfw-cicd/garm:provider-ec-[new_number] --push . kubectl apply -f ../garm/deploy.yaml -´´´ \ No newline at end of file +´´´ diff --git a/mockprovider.sh b/mockprovider.sh deleted file mode 100755 index 497765d..0000000 --- a/mockprovider.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -LOG_FILE=./mock.log -env | sort | grep -v PASSWORD >> $LOG_FILE -echo Parameters $@ >> $LOG_FILE - -while read line -do - echo stdin "$line" >> $LOG_FILE -done < "/dev/stdin" - -echo ======================================================================================= >> $LOG_FILE - diff --git a/scripts/build-static.sh b/scripts/build-static.sh deleted file mode 100755 index 0f43582..0000000 --- a/scripts/build-static.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh - -GARM_PROVIDER_NAME=${GARM_PROVIDER_NAME:-garm-provider-edge-connect} -GARM_SOURCE="/build/$GARM_PROVIDER_NAME" -git config --global --add safe.directory /build/$GARM_PROVIDER_NAME -cd $GARM_SOURCE - -CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) -if [ ! -z "$GARM_REF" ] && [ "$GARM_REF" != "$CURRENT_BRANCH" ];then - git checkout $GARM_REF -fi - -cd $GARM_SOURCE - -OUTPUT_DIR="/build/output" -VERSION=$(git describe --tags --match='v[0-9]*' --dirty --always) -BUILD_DIR="$OUTPUT_DIR/$VERSION" - - -[ ! -d "$BUILD_DIR/linux" ] && mkdir -p "$BUILD_DIR/linux" -[ ! -d "$BUILD_DIR/windows" ] && mkdir -p "$BUILD_DIR/windows" - -export CGO_ENABLED=1 -USER_ID=${USER_ID:-$UID} -USER_GROUP=${USER_GROUP:-$(id -g)} - -# Garm -cd $GARM_SOURCE - -# Linux -GOOS=linux GOARCH=amd64 go build -mod vendor \ - -o $BUILD_DIR/linux/amd64/$GARM_PROVIDER_NAME \ - -tags osusergo,netgo,sqlite_omit_load_extension \ - -ldflags "-extldflags '-static' -s -w -X edp.buildth.ing/DevFW-CICD/garm-provider-edge-connect/provider.Version=$VERSION" . -GOOS=linux GOARCH=arm64 CC=aarch64-linux-musl-gcc go build \ - -mod vendor \ - -o $BUILD_DIR/linux/arm64/$GARM_PROVIDER_NAME \ - -tags osusergo,netgo,sqlite_omit_load_extension \ - -ldflags "-extldflags '-static' -s -w -X edp.buildth.ing/DevFW-CICD/garm-provider-edge-connect/provider.Version=$VERSION" . - -# Windows -GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-cc go build -mod vendor \ - -o $BUILD_DIR/windows/amd64/$GARM_PROVIDER_NAME.exe \ - -tags osusergo,netgo,sqlite_omit_load_extension \ - -ldflags "-s -w -X edp.buildth.ing/DevFW-CICD/garm-provider-edge-connect/provider.Version=$VERSION" . - -git checkout $CURRENT_BRANCH || true -chown $USER_ID:$USER_GROUP -R "$OUTPUT_DIR" diff --git a/scripts/make-release.sh b/scripts/make-release.sh deleted file mode 100755 index 5ad1d20..0000000 --- a/scripts/make-release.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash - -echo $GARM_REF -GARM_PROVIDER_NAME=${GARM_PROVIDER_NAME:-garm-provider-edge-connect} - -VERSION=$(git describe --tags --match='v[0-9]*' --dirty --always) -RELEASE="$PWD/release" - -[ ! -d "$RELEASE" ] && mkdir -p "$RELEASE" - -if [ ! -z "$GARM_REF" ]; then - VERSION=$(git describe --tags --match='v[0-9]*' --always $GARM_REF) -fi - -echo $VERSION - -if [ ! -d "build/$VERSION" ]; then - echo "missing build/$VERSION" - exit 1 -fi - -# Windows - -if [ ! -d "build/$VERSION/windows/amd64" ];then - echo "missing build/$VERSION/windows/amd64" - exit 1 -fi - -if [ ! -f "build/$VERSION/windows/amd64/$GARM_PROVIDER_NAME.exe" ];then - echo "missing build/$VERSION/windows/amd64/$GARM_PROVIDER_NAME.exe" - exit 1 -fi - -pushd build/$VERSION/windows/amd64 -zip $GARM_PROVIDER_NAME-windows-amd64.zip $GARM_PROVIDER_NAME.exe -sha256sum $GARM_PROVIDER_NAME-windows-amd64.zip > $GARM_PROVIDER_NAME-windows-amd64.zip.sha256 -mv $GARM_PROVIDER_NAME-windows-amd64.zip $RELEASE -mv $GARM_PROVIDER_NAME-windows-amd64.zip.sha256 $RELEASE -popd - -# Linux -OS_ARCHES=("amd64" "arm64") - -for arch in ${OS_ARCHES[@]};do - if [ ! -f "build/$VERSION/linux/$arch/$GARM_PROVIDER_NAME" ];then - echo "missing build/$VERSION/linux/$arch/$GARM_PROVIDER_NAME" - exit 1 - fi - - pushd build/$VERSION/linux/$arch - tar czf $GARM_PROVIDER_NAME-linux-$arch.tgz $GARM_PROVIDER_NAME - sha256sum $GARM_PROVIDER_NAME-linux-$arch.tgz > $GARM_PROVIDER_NAME-linux-$arch.tgz.sha256 - mv $GARM_PROVIDER_NAME-linux-$arch.tgz $RELEASE - mv $GARM_PROVIDER_NAME-linux-$arch.tgz.sha256 $RELEASE - popd -done