Skip to content
Closed
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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ vendor/
bin/
semver.mk
go.sum
./csi-unity
/csi-unity
csi-unity.exe
helm/myvalues.yaml
test.properties
csm-common.mk
33 changes: 12 additions & 21 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright © 2020-2025 Dell Inc. or its subsidiaries. All Rights Reserved.
# Copyright © 2020-2026 Dell Inc. or its subsidiaries. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -13,39 +13,30 @@

ARG GOIMAGE
ARG BASEIMAGE
ARG GOPROXY
ARG VERSION="2.16.0"

# Stage to build the driver
FROM $GOIMAGE as builder
FROM $GOIMAGE AS builder
ARG VERSION
RUN mkdir -p /go/src
COPY ./ /go/src/csi-unity
COPY ./ /go/src/

WORKDIR /go/src/csi-unity
RUN mkdir -p bin
RUN go generate
RUN GOOS=linux CGO_ENABLED=0 GOARCH=amd64 go build -ldflags '-extldflags "-static"' -o bin/csi-unity
# Print the version
RUN go run core/semver/semver.go -f mk
WORKDIR /go/src/
RUN make build IMAGE_VERSION=$VERSION

FROM $BASEIMAGE AS final
ARG VERSION

# Dockerfile to build Unity CSI Driver
# Fetching the base ubi micro image with the require packges committed using buildah
FROM $BASEIMAGE as driver

COPY --from=builder /go/src/csi-unity/bin/csi-unity /
COPY --from=builder /go/src/csi-unity /
COPY scripts/run.sh /
RUN chmod 777 /run.sh
RUN chmod +x /run.sh
ENTRYPOINT ["/run.sh"]

# final stage
FROM driver as final

LABEL vendor="Dell Technologies" \
maintainer="Dell Technologies" \
name="csi-unity" \
summary="CSI Driver for Dell Unity XT" \
description="CSI Driver for provisioning persistent storage from Dell Unity XT" \
release="1.15.0" \
version="2.15.0" \
version=$VERSION \
license="Apache-2.0"
COPY licenses /licenses
96 changes: 18 additions & 78 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,29 +1,17 @@
NAME:=csi-unity

.PHONY: all
all: go-build

ifneq (on,$(GO111MODULE))
export GO111MODULE := on
endif
# Copyright © 2026 Dell Inc. or its subsidiaries. All Rights Reserved.
#
# Dell Technologies, Dell and other trademarks are trademarks of Dell Inc.
# or its subsidiaries. Other trademarks may be trademarks of their respective
# owners.

IMAGE_NAME=csi-unity
IMAGE_REGISTRY=dellemc
DEFAULT_IMAGE_TAG=$(shell date +%Y%m%d%H%M%S)
ifeq ($(IMAGETAG),)
export IMAGETAG="$(DEFAULT_IMAGE_TAG)"
endif
include images.mk

.PHONY: go-vendor
go-vendor:
go mod vendor
.PHONY: all
all: build

.PHONY: go-build
go-build: clean
git config core.hooksPath hooks
rm -f core/core_generated.go
cd core && go generate
go build .
# This will be overridden during image build.
IMAGE_VERSION ?= 0.0.0
LDFLAGS = "-X main.ManifestSemver=$(IMAGE_VERSION)"

UNIT_TESTED_PACKAGES := \
github.com/dell/csi-unity \
Expand All @@ -33,6 +21,11 @@ UNIT_TESTED_PACKAGES := \
github.com/dell/csi-unity/service/csiutils \
github.com/dell/csi-unity/service/logging

build:
git config core.hooksPath hooks
cd core && go generate
CGO_ENABLED=0 GOOS=linux GO111MODULE=on go build -ldflags $(LDFLAGS) -mod=vendor .

unit-test:
go clean -cache
@for pkg in $(UNIT_TESTED_PACKAGES); do \
Expand All @@ -48,67 +41,14 @@ integration-test:
bdd-test:
( cd test/bdd-test; sh run.sh )

.PHONY: download-csm-common
download-csm-common:
curl -O -L https://raw.githubusercontent.com/dell/csm/main/config/csm-common.mk

#
# Docker-related tasks
#
# Generates the docker container (but does not push)
podman-build: download-csm-common go-build
$(eval include csm-common.mk)
podman build --pull -t $(IMAGE_REGISTRY)/$(IMAGE_NAME):$(IMAGETAG) --build-arg GOIMAGE=$(DEFAULT_GOIMAGE) --build-arg BASEIMAGE=$(CSM_BASEIMAGE) --build-arg GOPROXY=$(GOPROXY) . --format=docker

podman-build-no-cache: download-csm-common go-build
$(eval include csm-common.mk)
podman build --pull --no-cache -t $(IMAGE_REGISTRY)/$(IMAGE_NAME):$(IMAGETAG) --build-arg GOIMAGE=$(DEFAULT_GOIMAGE) --build-arg BASEIMAGE=$(CSM_BASEIMAGE) --build-arg GOPROXY=$(GOPROXY) . --format=docker

podman-push:
podman push $(IMAGE_REGISTRY)/$(IMAGE_NAME):$(IMAGETAG)

#
# Docker-related tasks
#
# Generates the docker container (but does not push)
docker-build: download-csm-common
make -f docker.mk docker-build

docker-push:
make -f docker.mk docker-push

version:
go generate
go run core/semver/semver.go -f mk >semver.mk
make -f docker.mk version

.PHONY: clean
clean:
rm -f core/core_generated.go
rm -rf core/core_generated.go vendor csm-temp-repo csm-common.mk
go clean

#
# Tests-related tasks
.PHONY: integ-test
integ-test: go-build
integ-test: build
go test -v ./test/...

check:
sh scripts/check.sh

.PHONY: actions action-help
actions: ## Run all GitHub Action checks that run on a pull request creation
@echo "Running all GitHub Action checks for pull request events..."
@act -l | grep -v ^Stage | grep pull_request | grep -v image_security_scan | awk '{print $$2}' | while read WF; do \
echo "Running workflow: $${WF}"; \
act pull_request --no-cache-server --platform ubuntu-latest=ghcr.io/catthehacker/ubuntu:act-latest --job "$${WF}"; \
done

action-help: ## Echo instructions to run one specific workflow locally
@echo "GitHub Workflows can be run locally with the following command:"
@echo "act pull_request --no-cache-server --platform ubuntu-latest=ghcr.io/catthehacker/ubuntu:act-latest --job <jobid>"
@echo ""
@echo "Where '<jobid>' is a Job ID returned by the command:"
@echo "act -l"
@echo ""
@echo "NOTE: if act is not installed, it can be downloaded from https://github.com/nektos/act"
17 changes: 16 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,22 @@
limitations under the License.
-->

# :lock: **Important Notice**
Starting with the release of **Container Storage Modules v1.16.0**, this repository will no longer be maintained as an open source project. Future development will continue under a closed source model. This change reflects our commitment to delivering even greater value to our customers by enabling faster innovation and more deeply integrated features with the Dell storage portfolio.<br>
For existing customers using Dell’s Container Storage Modules, you will continue to receive:
* **Ongoing Support & Community Engagement**<br>
You will continue to receive high-quality support through Dell Support and our community channels. Your experience of engaging with the Dell community remains unchanged.
* **Streamlined Deployment & Updates**<br>
Deployment and update processes will remain consistent, ensuring a smooth and familiar experience.
* **Access to Documentation & Resources**<br>
All documentation and related materials will remain publicly accessible, providing transparency and technical guidance.
* **Continued Access to Current Open Source Version**<br>
The current open-source version will remain available under its existing license for those who rely on it.

Moving to a closed source model allows Dell’s development team to accelerate feature delivery and enhance integration across our Enterprise Kubernetes Storage solutions ultimately providing a more seamless and robust experience.<br>
We deeply appreciate the contributions of the open source community and remain committed to supporting our customers through this transition.<br>

For questions or access requests, please contact the maintainers via [Dell Support](https://www.dell.com/support/kbdoc/en-in/000188046/container-storage-interface-csi-drivers-and-container-storage-modules-csm-how-to-get-support).
# CSI Driver for Dell Unity XT

[![Go Report Card](https://goreportcard.com/badge/github.com/dell/csi-unity?style=flat-square)](https://goreportcard.com/report/github.com/dell/csi-unity)
Expand Down Expand Up @@ -62,4 +78,3 @@ Both the Controller and the Node portions of the driver can only be run on nodes
For more detailed information on the driver, please refer to [Container Storage Modules documentation](https://dell.github.io/csm-docs/).



2 changes: 1 addition & 1 deletion core/semver/semver.go
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@ var OSExit = func(code int) {
// GetExitError is a wrapper around exec.ExitError
var GetExitError = func(err error) (e *exec.ExitError, ok bool) {
e, ok = err.(*exec.ExitError)
return
return e, ok
}

// GetStatusError is a wrapper around syscall.WaitStatus
Expand Down
2 changes: 2 additions & 0 deletions dell-csi-helm-installer/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
csm-common.mk
images.manifest
images.tar
vendor/
36 changes: 0 additions & 36 deletions docker.mk

This file was deleted.

Loading
Loading