aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author泽淼 周 <zhouzemiao@ihuman.com>2025-09-27 19:50:39 +0800
committerChris Lu <chrislusf@users.noreply.github.com>2025-12-06 18:53:22 -0800
commitf76db0631a559162172226ad47057301b43ede5b (patch)
tree5ad7f7813a9bd66c46a5ce62ebe8cc8f0e61ffe8
parent083cc115897c6be69c3e0a94c52073ca7cb2453d (diff)
downloadseaweedfs-csi-driver-f76db0631a559162172226ad47057301b43ede5b.tar.xz
seaweedfs-csi-driver-f76db0631a559162172226ad47057301b43ede5b.zip
add: merge prepare params.
-rw-r--r--.github/workflows/dev.yaml35
-rw-r--r--.github/workflows/release.yaml35
-rw-r--r--.github/workflows/versioned_release.yaml35
-rw-r--r--Makefile54
-rw-r--r--cmd/seaweedfs-csi-driver/Dockerfile4
-rw-r--r--cmd/seaweedfs-mount/Dockerfile7
-rw-r--r--cmd/seaweedfs-mount/Dockerfile.dev20
-rw-r--r--deploy/helm/seaweedfs-csi-driver/values.yaml2
-rw-r--r--deploy/kubernetes/seaweedfs-csi.yaml6
9 files changed, 158 insertions, 40 deletions
diff --git a/.github/workflows/dev.yaml b/.github/workflows/dev.yaml
index c570fd1..b117abe 100644
--- a/.github/workflows/dev.yaml
+++ b/.github/workflows/dev.yaml
@@ -17,8 +17,8 @@ jobs:
- name: Checkout
uses: actions/checkout@v2
- - name: Docker meta
- id: docker_meta
+ - name: Docker meta (csi-driver)
+ id: docker_meta_csi
uses: docker/metadata-action@v3
with:
images: |
@@ -32,6 +32,21 @@ jobs:
org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
org.opencontainers.image.vendor=Chris Lu
+ - name: Docker meta (mount-service)
+ id: docker_meta_mount
+ uses: docker/metadata-action@v3
+ with:
+ images: |
+ chrislusf/seaweedfs-mount
+ tags: |
+ type=raw,value=dev
+ flavor: |
+ latest=true
+ labels: |
+ org.opencontainers.image.title=seaweedfs-mount
+ org.opencontainers.image.description=SeaweedFS CSI mount helper service
+ org.opencontainers.image.vendor=Chris Lu
+
- name: Fetch history
run: git fetch --prune --unshallow
@@ -59,7 +74,7 @@ jobs:
username: chrislusf
password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Build
+ - name: Build csi-driver image
# if: ${{ startsWith(github.ref, 'refs/tags/') }}
uses: docker/build-push-action@v2
with:
@@ -67,8 +82,18 @@ jobs:
push: ${{ github.event_name != 'pull_request' }}
file: ./cmd/seaweedfs-csi-driver/Dockerfile
platforms: linux/amd64, linux/arm, linux/arm64, linux/386
- tags: ${{ steps.docker_meta.outputs.tags }}
- labels: ${{ steps.docker_meta.outputs.labels }}
+ tags: ${{ steps.docker_meta_csi.outputs.tags }}
+ labels: ${{ steps.docker_meta_csi.outputs.labels }}
+
+ - name: Build mount-service image
+ uses: docker/build-push-action@v2
+ with:
+ context: .
+ push: ${{ github.event_name != 'pull_request' }}
+ file: ./cmd/seaweedfs-mount/Dockerfile
+ platforms: linux/amd64, linux/arm, linux/arm64, linux/386
+ tags: ${{ steps.docker_meta_mount.outputs.tags }}
+ labels: ${{ steps.docker_meta_mount.outputs.labels }}
helm:
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index e162fb2..dc7f5b4 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -18,8 +18,8 @@ jobs:
- name: Checkout
uses: actions/checkout@v2
- - name: Docker meta
- id: docker_meta
+ - name: Docker meta (csi-driver)
+ id: docker_meta_csi
uses: docker/metadata-action@v3
with:
images: |
@@ -33,6 +33,21 @@ jobs:
org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
org.opencontainers.image.vendor=Chris Lu
+ - name: Docker meta (mount-service)
+ id: docker_meta_mount
+ uses: docker/metadata-action@v3
+ with:
+ images: |
+ chrislusf/seaweedfs-mount
+ tags: |
+ type=raw,value=latest
+ flavor: |
+ latest=true
+ labels: |
+ org.opencontainers.image.title=seaweedfs-mount
+ org.opencontainers.image.description=SeaweedFS CSI mount helper service
+ org.opencontainers.image.vendor=Chris Lu
+
- name: Fetch history
run: git fetch --prune --unshallow
@@ -60,7 +75,7 @@ jobs:
username: chrislusf
password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Build
+ - name: Build csi-driver image
# if: ${{ startsWith(github.ref, 'refs/tags/') }}
uses: docker/build-push-action@v2
with:
@@ -68,5 +83,15 @@ jobs:
push: ${{ github.event_name != 'pull_request' }}
file: ./cmd/seaweedfs-csi-driver/Dockerfile
platforms: linux/amd64, linux/arm, linux/arm64, linux/386
- tags: ${{ steps.docker_meta.outputs.tags }}
- labels: ${{ steps.docker_meta.outputs.labels }}
+ tags: ${{ steps.docker_meta_csi.outputs.tags }}
+ labels: ${{ steps.docker_meta_csi.outputs.labels }}
+
+ - name: Build mount-service image
+ uses: docker/build-push-action@v2
+ with:
+ context: .
+ push: ${{ github.event_name != 'pull_request' }}
+ file: ./cmd/seaweedfs-mount/Dockerfile
+ platforms: linux/amd64, linux/arm, linux/arm64, linux/386
+ tags: ${{ steps.docker_meta_mount.outputs.tags }}
+ labels: ${{ steps.docker_meta_mount.outputs.labels }}
diff --git a/.github/workflows/versioned_release.yaml b/.github/workflows/versioned_release.yaml
index 4db3ed1..91e8241 100644
--- a/.github/workflows/versioned_release.yaml
+++ b/.github/workflows/versioned_release.yaml
@@ -18,8 +18,8 @@ jobs:
- name: Checkout
uses: actions/checkout@v2
- - name: Docker meta
- id: docker_meta
+ - name: Docker meta (csi-driver)
+ id: docker_meta_csi
uses: docker/metadata-action@v3
with:
images: |
@@ -33,6 +33,21 @@ jobs:
org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
org.opencontainers.image.vendor=Chris Lu
+ - name: Docker meta (mount-service)
+ id: docker_meta_mount
+ uses: docker/metadata-action@v3
+ with:
+ images: |
+ chrislusf/seaweedfs-mount
+ tags: |
+ type=ref,event=tag
+ flavor: |
+ latest=false
+ labels: |
+ org.opencontainers.image.title=seaweedfs-mount
+ org.opencontainers.image.description=SeaweedFS CSI mount helper service
+ org.opencontainers.image.vendor=Chris Lu
+
- name: Fetch history
run: git fetch --prune --unshallow
@@ -60,7 +75,7 @@ jobs:
username: chrislusf
password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Build
+ - name: Build csi-driver image
# if: ${{ startsWith(github.ref, 'refs/tags/') }}
uses: docker/build-push-action@v2
with:
@@ -68,5 +83,15 @@ jobs:
push: ${{ github.event_name != 'pull_request' }}
file: ./cmd/seaweedfs-csi-driver/Dockerfile
platforms: linux/amd64, linux/arm, linux/arm64, linux/386
- tags: ${{ steps.docker_meta.outputs.tags }}
- labels: ${{ steps.docker_meta.outputs.labels }}
+ tags: ${{ steps.docker_meta_csi.outputs.tags }}
+ labels: ${{ steps.docker_meta_csi.outputs.labels }}
+
+ - name: Build mount-service image
+ uses: docker/build-push-action@v2
+ with:
+ context: .
+ push: ${{ github.event_name != 'pull_request' }}
+ file: ./cmd/seaweedfs-mount/Dockerfile
+ platforms: linux/amd64, linux/arm, linux/arm64, linux/386
+ tags: ${{ steps.docker_meta_mount.outputs.tags }}
+ labels: ${{ steps.docker_meta_mount.outputs.labels }}
diff --git a/Makefile b/Makefile
index 4a9f70e..b286906 100644
--- a/Makefile
+++ b/Makefile
@@ -1,22 +1,50 @@
# VERSION=latest make push
-.PHONY: build container clean
+.PHONY: build container container-csi container-mount push push-csi push-mount clean deps
-REGISTRY_NAME=chrislusf
-IMAGE_NAME=seaweedfs-csi-driver
+REGISTRY_NAME ?= chrislusf
+DRIVER_IMAGE_NAME ?= seaweedfs-csi-driver
+MOUNT_IMAGE_NAME ?= seaweedfs-mount
VERSION ?= dev
-IMAGE_TAG=$(REGISTRY_NAME)/$(IMAGE_NAME):$(VERSION)
COMMIT ?= $(shell git rev-parse --short HEAD)
LDFLAGS ?= -s -w -X github.com/seaweedfs/seaweedfs-csi-driver/pkg/driver.gitCommit=${COMMIT}
+OUTPUT_DIR := _output
+DRIVER_BINARY := $(OUTPUT_DIR)/seaweedfs-csi-driver
+MOUNT_BINARY := $(OUTPUT_DIR)/seaweedfs-mount
+
+DRIVER_IMAGE_TAG := $(REGISTRY_NAME)/$(DRIVER_IMAGE_NAME):$(VERSION)
+MOUNT_IMAGE_TAG := $(REGISTRY_NAME)/$(MOUNT_IMAGE_NAME):$(VERSION)
+
deps:
- pushd cmd/seaweedfs-csi-driver; go get -u; popd
- pushd cmd/seaweedfs-csi-driver; go mod tidy; popd
-build:
- CGO_ENABLED=0 GOOS=linux go build -a -ldflags '$(LDFLAGS)' -o _output/seaweedfs-csi-driver ./cmd/seaweedfs-csi-driver/main.go
-container: build
- docker build -t $(IMAGE_TAG) -f cmd/seaweedfs-csi-driver/Dockerfile.dev .
-push: container
- docker push $(IMAGE_TAG)
+ go mod tidy
+
+build: $(DRIVER_BINARY) $(MOUNT_BINARY)
+
+$(OUTPUT_DIR):
+ mkdir -p $@
+
+$(DRIVER_BINARY): | $(OUTPUT_DIR)
+ CGO_ENABLED=0 GOOS=linux go build -a -ldflags '$(LDFLAGS)' -o $@ ./cmd/seaweedfs-csi-driver/main.go
+
+$(MOUNT_BINARY): | $(OUTPUT_DIR)
+ CGO_ENABLED=0 GOOS=linux go build -a -ldflags '$(LDFLAGS)' -o $@ ./cmd/seaweedfs-mount/main.go
+
+container: container-csi container-mount
+
+container-csi: $(DRIVER_BINARY)
+ docker build -t $(DRIVER_IMAGE_TAG) -f cmd/seaweedfs-csi-driver/Dockerfile.dev .
+
+container-mount: $(MOUNT_BINARY)
+ docker build -t $(MOUNT_IMAGE_TAG) -f cmd/seaweedfs-mount/Dockerfile.dev .
+
+push: push-csi push-mount
+
+push-csi: container-csi
+ docker push $(DRIVER_IMAGE_TAG)
+
+push-mount: container-mount
+ docker push $(MOUNT_IMAGE_TAG)
+
clean:
go clean -r -x
- -rm -rf _output
+ -rm -rf $(OUTPUT_DIR)
diff --git a/cmd/seaweedfs-csi-driver/Dockerfile b/cmd/seaweedfs-csi-driver/Dockerfile
index f779b05..81cb507 100644
--- a/cmd/seaweedfs-csi-driver/Dockerfile
+++ b/cmd/seaweedfs-csi-driver/Dockerfile
@@ -3,10 +3,6 @@ FROM golang:1.24-alpine as builder
RUN apk add git g++
RUN mkdir -p /go/src/github.com/seaweedfs/
-RUN git clone https://github.com/seaweedfs/seaweedfs /go/src/github.com/seaweedfs/seaweedfs
-RUN cd /go/src/github.com/seaweedfs/seaweedfs/weed && go install && go clean -cache -modcache
-
-RUN mkdir -p /go/src/github.com/seaweedfs/
RUN git clone https://github.com/seaweedfs/seaweedfs-csi-driver /go/src/github.com/seaweedfs/seaweedfs-csi-driver
RUN cd /go/src/github.com/seaweedfs/seaweedfs-csi-driver && go build -ldflags="-s -w" -o /seaweedfs-csi-driver ./cmd/seaweedfs-csi-driver/main.go && go clean -cache -modcache
diff --git a/cmd/seaweedfs-mount/Dockerfile b/cmd/seaweedfs-mount/Dockerfile
index 99ccea3..55cdd76 100644
--- a/cmd/seaweedfs-mount/Dockerfile
+++ b/cmd/seaweedfs-mount/Dockerfile
@@ -1,14 +1,13 @@
FROM golang:1.24-alpine AS builder
-RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN apk add git g++
RUN mkdir -p /go/src/github.com/seaweedfs/
RUN git clone https://github.com/seaweedfs/seaweedfs /go/src/github.com/seaweedfs/seaweedfs
RUN cd /go/src/github.com/seaweedfs/seaweedfs/weed && go install
-RUN mkdir -p /go/src/github.com/zemul/
-RUN git clone https://github.com/zemul/seaweedfs-csi-driver /go/src/github.com/zemul/seaweedfs-csi-driver
-RUN cd /go/src/github.com/zemul/seaweedfs-csi-driver && \
+RUN mkdir -p /go/src/github.com/seaweedfs/
+RUN git clone https://github.com/seaweedfs/seaweedfs-csi-driver /go/src/github.com/seaweedfs/seaweedfs-csi-driver
+RUN cd /go/src/github.com/seaweedfs/seaweedfs-csi-driver && \
go build -ldflags="-s -w" -o /seaweedfs-mount ./cmd/seaweedfs-mount/main.go
FROM alpine AS final
diff --git a/cmd/seaweedfs-mount/Dockerfile.dev b/cmd/seaweedfs-mount/Dockerfile.dev
new file mode 100644
index 0000000..99ccea3
--- /dev/null
+++ b/cmd/seaweedfs-mount/Dockerfile.dev
@@ -0,0 +1,20 @@
+FROM golang:1.24-alpine AS builder
+RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
+RUN apk add git g++
+
+RUN mkdir -p /go/src/github.com/seaweedfs/
+RUN git clone https://github.com/seaweedfs/seaweedfs /go/src/github.com/seaweedfs/seaweedfs
+RUN cd /go/src/github.com/seaweedfs/seaweedfs/weed && go install
+
+RUN mkdir -p /go/src/github.com/zemul/
+RUN git clone https://github.com/zemul/seaweedfs-csi-driver /go/src/github.com/zemul/seaweedfs-csi-driver
+RUN cd /go/src/github.com/zemul/seaweedfs-csi-driver && \
+ go build -ldflags="-s -w" -o /seaweedfs-mount ./cmd/seaweedfs-mount/main.go
+
+FROM alpine AS final
+RUN apk add fuse
+COPY --from=builder /go/bin/weed /usr/bin/
+COPY --from=builder /seaweedfs-mount /
+
+RUN chmod +x /seaweedfs-mount
+ENTRYPOINT ["/seaweedfs-mount"] \ No newline at end of file
diff --git a/deploy/helm/seaweedfs-csi-driver/values.yaml b/deploy/helm/seaweedfs-csi-driver/values.yaml
index 15325ec..224a169 100644
--- a/deploy/helm/seaweedfs-csi-driver/values.yaml
+++ b/deploy/helm/seaweedfs-csi-driver/values.yaml
@@ -73,7 +73,7 @@ seaweedfsCsiPlugin:
mountService:
enabled: true
- image: zemiaozhou/seaweedfs-mount:latest
+ image: chrislusf/seaweedfs-mount:latest
endpoint: unix:///var/lib/seaweedfs-mount/seaweedfs-mount.sock
hostPath: /var/lib/seaweedfs-mount
socketDir: /var/lib/seaweedfs-mount
diff --git a/deploy/kubernetes/seaweedfs-csi.yaml b/deploy/kubernetes/seaweedfs-csi.yaml
index ed1060b..2fc4f9b 100644
--- a/deploy/kubernetes/seaweedfs-csi.yaml
+++ b/deploy/kubernetes/seaweedfs-csi.yaml
@@ -216,7 +216,7 @@ spec:
add:
- SYS_ADMIN
privileged: true
- image: zemiaozhou/seaweedfs-csi-driver:latest
+ image: chrislusf/seaweedfs-csi-driver:latest
imagePullPolicy: IfNotPresent
args:
- --endpoint=$(CSI_ENDPOINT)
@@ -375,7 +375,7 @@ spec:
add:
- SYS_ADMIN
privileged: true
- image: zemiaozhou/seaweedfs-mount:latest
+ image: chrislusf/seaweedfs-mount:latest
imagePullPolicy: IfNotPresent
args:
- --endpoint=$(MOUNT_ENDPOINT)
@@ -444,7 +444,7 @@ spec:
containers:
# SeaweedFs Plugin (controller)
- name: seaweedfs-csi-plugin
- image: zemiaozhou/seaweedfs-csi-driver:latest
+ image: chrislusf/seaweedfs-csi-driver:latest
imagePullPolicy: IfNotPresent
args :
- --endpoint=$(CSI_ENDPOINT)