diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..20d0a84 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,78 @@ +name: Builds +on: + push: + branches: [master] + paths-ignore: + - '.gitignore' + - 'LICENSE' + - 'README*' + - 'docs/**' + pull_request: + branches: [master] + paths-ignore: + - '.gitignore' + - 'LICENSE' + - 'README*' + - 'docs/**' + +defaults: + run: + # reference: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell + shell: bash --noprofile --norc -eo pipefail -x {0} + +jobs: + linux-build: + runs-on: ubuntu-18.04 + steps: + - name: checkout + uses: actions/checkout@v2 + + - name: setup golang + uses: actions/setup-go@v2 + with: + go-version: 1.16 + + - name: install deps + run: tests/scripts/helper.sh install_deps + + - name: setup minikube + uses: manusa/actions-setup-minikube@v2.4.2 + with: + minikube version: 'v1.21.0' + kubernetes version: 'v1.19.2' + start args: --memory 6g --cpus=2 + github token: ${{ secrets.GITHUB_TOKEN }} + + - name: build ceph-cosi + run: | + GOPATH=$(go env GOPATH) make clean && make build + docker tag ceph-cosi-driver:latest ceph/ceph-cosi-driver:latest + + - name: setup ceph cluster + run: tests/scripts/helper.sh setup_ceph_cluster + + - name: set up cosi + run: | + kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-api + kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-controller + kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-csi-adapter + + - name: set up ceph cosi driver + run: | + tests/scripts/helper.sh update_secret_file + kubectl apply -k . + + - name: create bucket class and bucket request + run: | + kubectl create -f examples/bucketclass.yaml + kubectl create -f examples/bucketrequest.yaml + + - name: create bucket access class and bucket access request + run: | + kubectl create -f examples/bucketaccessclass.yaml + kubectl create -f examples/bucketrequest.yaml + + - name: setup tmate session for debugging + if: failure() + uses: mxschmitt/action-tmate@v3 + timeout-minutes: 120 diff --git a/examples/bucketaccessclass.yaml b/examples/bucketaccessclass.yaml index 91df021..91b0c7a 100644 --- a/examples/bucketaccessclass.yaml +++ b/examples/bucketaccessclass.yaml @@ -2,6 +2,3 @@ kind: BucketAccessClass apiVersion: objectstorage.k8s.io/v1alpha1 metadata: name: sample-bac -policyActionsConfigMap: - name: sample-cm - namespace: default diff --git a/pkg/driver/error.go b/pkg/driver/error.go new file mode 100644 index 0000000..1855dbe --- /dev/null +++ b/pkg/driver/error.go @@ -0,0 +1,9 @@ +package driver + +import "errors" + +var ( + errNilProtocol = errors.New("protocol is nil") + errs3ProtocolMissing = errors.New("S3 protocol not defined") +) + diff --git a/resources/secret.yaml b/resources/secret.yaml index cb48913..c08ba7a 100644 --- a/resources/secret.yaml +++ b/resources/secret.yaml @@ -9,6 +9,6 @@ metadata: app.kubernetes.io/name: cosi-driver-ceph type: Opaque stringData: - ENDPOINT: "http://rgw:8080" - ACCESSKEY: "ceph" - SECRETKEY: "ceph123" + ENDPOINT: "http://fedora:8080" + ACCESSKEY: "QV1KGMKUYZA4H2VSN9VO" + SECRETKEY: "1ilAvQvSYjGXTr8pzQDpkN2xJqyVcViRTus4d59h"