mirror of
https://github.com/TECHNOFAB11/zfs-localpv.git
synced 2025-12-12 06:20:11 +01:00
feat(zfs-localpv): initial commit
provisioning and deprovisioning of the volumes on the node where zfs pool has already been setup. Pool name and the volume parameters has to be given in storage class which will be used to provision the volume. Signed-off-by: Pawan <pawan@mayadata.io>
This commit is contained in:
parent
485e2a21f0
commit
9f5cf445df
46 changed files with 6339 additions and 0 deletions
153
Makefile
Normal file
153
Makefile
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
# list only csi source code directories
|
||||
PACKAGES = $(shell go list ./... | grep -v 'vendor\|pkg/generated')
|
||||
|
||||
# Lint our code. Reference: https://golang.org/cmd/vet/
|
||||
VETARGS?=-asmdecl -atomic -bool -buildtags -copylocks -methods \
|
||||
-nilfunc -printf -rangeloops -shift -structtags -unsafeptr
|
||||
|
||||
# Tools required for different make
|
||||
# targets or for development purposes
|
||||
EXTERNAL_TOOLS=\
|
||||
github.com/golang/dep/cmd/dep \
|
||||
golang.org/x/tools/cmd/cover \
|
||||
github.com/axw/gocov/gocov \
|
||||
gopkg.in/matm/v1/gocov-html \
|
||||
github.com/ugorji/go/codec/codecgen \
|
||||
github.com/onsi/ginkgo/ginkgo \
|
||||
github.com/onsi/gomega/...
|
||||
|
||||
ifeq (${IMAGE_TAG}, )
|
||||
IMAGE_TAG = ci
|
||||
export IMAGE_TAG
|
||||
endif
|
||||
|
||||
ifeq (${TRAVIS_TAG}, )
|
||||
BASE_TAG = ci
|
||||
export BASE_TAG
|
||||
else
|
||||
BASE_TAG = ${TRAVIS_TAG}
|
||||
export BASE_TAG
|
||||
endif
|
||||
|
||||
# Specify the name for the binary
|
||||
CSI_DRIVER=zfs-driver
|
||||
|
||||
# Specify the date o build
|
||||
BUILD_DATE = $(shell date +'%Y%m%d%H%M%S')
|
||||
|
||||
.PHONY: all
|
||||
all: test zfs-driver-image
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
go clean -testcache
|
||||
rm -rf bin
|
||||
rm -rf ${GOPATH}/bin/${CSI_DRIVER}
|
||||
rm -rf ${GOPATH}/pkg/*
|
||||
|
||||
.PHONY: format
|
||||
format:
|
||||
@echo "--> Running go fmt"
|
||||
@go fmt $(PACKAGES)
|
||||
|
||||
.PHONY: test
|
||||
test: format
|
||||
@echo "--> Running go test" ;
|
||||
@go test $(PACKAGES)
|
||||
|
||||
# Bootstrap downloads tools required
|
||||
# during build
|
||||
.PHONY: bootstrap
|
||||
bootstrap:
|
||||
@for tool in $(EXTERNAL_TOOLS) ; do \
|
||||
echo "+ Installing $$tool" ; \
|
||||
go get -u $$tool; \
|
||||
done
|
||||
|
||||
# SRC_PKG is the path of code files
|
||||
SRC_PKG := github.com/openebs/zfs-localpv/pkg
|
||||
|
||||
# code generation for custom resources
|
||||
.PHONY: kubegen
|
||||
kubegen: kubegendelete deepcopy-install clientset-install lister-install informer-install
|
||||
@GEN_SRC=openebs.io/core/v1alpha1 make deepcopy clientset lister informer
|
||||
|
||||
# deletes generated code by codegen
|
||||
.PHONY: kubegendelete
|
||||
kubegendelete:
|
||||
@rm -rf pkg/generated/clientset
|
||||
@rm -rf pkg/generated/lister
|
||||
@rm -rf pkg/generated/informer
|
||||
|
||||
.PHONY: deepcopy-install
|
||||
deepcopy-install:
|
||||
@go install ./vendor/k8s.io/code-generator/cmd/deepcopy-gen
|
||||
|
||||
.PHONY: deepcopy
|
||||
deepcopy:
|
||||
@echo "+ Generating deepcopy funcs for $(GEN_SRC)"
|
||||
@deepcopy-gen \
|
||||
--input-dirs $(SRC_PKG)/apis/$(GEN_SRC) \
|
||||
--output-file-base zz_generated.deepcopy \
|
||||
--go-header-file ./buildscripts/custom-boilerplate.go.txt
|
||||
|
||||
.PHONY: clientset-install
|
||||
clientset-install:
|
||||
@go install ./vendor/k8s.io/code-generator/cmd/client-gen
|
||||
|
||||
.PHONY: clientset
|
||||
clientset:
|
||||
@echo "+ Generating clientsets for $(GEN_SRC)"
|
||||
@client-gen \
|
||||
--fake-clientset=true \
|
||||
--input $(GEN_SRC) \
|
||||
--input-base $(SRC_PKG)/apis \
|
||||
--clientset-path $(SRC_PKG)/generated/clientset \
|
||||
--go-header-file ./buildscripts/custom-boilerplate.go.txt
|
||||
|
||||
.PHONY: lister-install
|
||||
lister-install:
|
||||
@go install ./vendor/k8s.io/code-generator/cmd/lister-gen
|
||||
|
||||
.PHONY: lister
|
||||
lister:
|
||||
@echo "+ Generating lister for $(GEN_SRC)"
|
||||
@lister-gen \
|
||||
--input-dirs $(SRC_PKG)/apis/$(GEN_SRC) \
|
||||
--output-package $(SRC_PKG)/generated/lister \
|
||||
--go-header-file ./buildscripts/custom-boilerplate.go.txt
|
||||
|
||||
.PHONY: informer-install
|
||||
informer-install:
|
||||
@go install ./vendor/k8s.io/code-generator/cmd/informer-gen
|
||||
|
||||
.PHONY: informer
|
||||
informer:
|
||||
@echo "+ Generating informer for $(GEN_SRC)"
|
||||
@informer-gen \
|
||||
--input-dirs $(SRC_PKG)/apis/$(GEN_SRC) \
|
||||
--versioned-clientset-package $(SRC_PKG)/generated/clientset/internalclientset \
|
||||
--listers-package $(SRC_PKG)/generated/lister \
|
||||
--output-package $(SRC_PKG)/generated/informer \
|
||||
--go-header-file ./buildscripts/custom-boilerplate.go.txt
|
||||
|
||||
.PHONY: zfs-driver
|
||||
zfs-driver:
|
||||
@echo "--------------------------------"
|
||||
@echo "+ Building ${CSI_DRIVER} "
|
||||
@echo "--------------------------------"
|
||||
@PNAME=${CSI_DRIVER} CTLNAME=${CSI_DRIVER} sh -c "'$(PWD)/buildscripts/build.sh'"
|
||||
|
||||
.PHONY: zfs-driver-image
|
||||
zfs-driver-image: zfs-driver
|
||||
@echo "--------------------------------"
|
||||
@echo "+ Generating ${CSI_DRIVER} image"
|
||||
@echo "--------------------------------"
|
||||
@cp bin/${CSI_DRIVER}/${CSI_DRIVER} buildscripts/${CSI_DRIVER}/
|
||||
cd buildscripts/${CSI_DRIVER} && sudo docker build -t openebs/${CSI_DRIVER}:${IMAGE_TAG} --build-arg BUILD_DATE=${BUILD_DATE} . && sudo docker tag openebs/${CSI_DRIVER}:${IMAGE_TAG} quay.io/openebs/${CSI_DRIVER}:${IMAGE_TAG}
|
||||
@rm buildscripts/${CSI_DRIVER}/${CSI_DRIVER}
|
||||
|
||||
# Push images
|
||||
deploy-images:
|
||||
@DIMAGE="openebs/zfs-driver" ./buildscripts/push
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue