diff --git a/generate-resources.sh b/generate-resources.sh
deleted file mode 100755
index a527e70b..00000000
--- a/generate-resources.sh
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/bin/bash
-# This file is part of MinIO DirectPV
-# Copyright (c) 2024 MinIO, Inc.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-
-ME=$(basename "$0"); export ME
-cd "$(dirname "$0")" || exit 255
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-declare BUILD_VERSION KUBECTL_DIRECTPV KUSTOMIZE
-
-function init() {
- if [ "$#" -ne 1 ]; then
- cat <
-
-EXAMPLE:
- $ ${ME} 4.1.4
-EOF
- exit 255
- fi
-
- # assign after trimming 'v'
- BUILD_VERSION="${1/v/}"
-
- kubectl_directpv="kubectl-directpv_${BUILD_VERSION}_$(go env GOOS)_$(go env GOARCH)"
- KUBECTL_DIRECTPV="${PWD}/${kubectl_directpv}"
- if [ ! -f "${KUBECTL_DIRECTPV}" ]; then
- echo "Downloading ${kubectl_directpv}"
- curl --silent --location --insecure --fail --output "${kubectl_directpv}" "https://github.com/minio/directpv/releases/download/v${BUILD_VERSION}/${kubectl_directpv}"
- chmod a+x "${kubectl_directpv}"
- fi
-
- if which kustomize >/dev/null 2>&1; then
- KUSTOMIZE=kustomize
- fi
- if [ -f ./kustomize ]; then
- KUSTOMIZE="${PWD}/kustomize"
- fi
- if [ -z "${KUSTOMIZE=}" ]; then
- KUSTOMIZE="${PWD}/kustomize"
- echo "Downloading kustomize"
- release=$(curl -sfL "https://api.github.com/repos/kubernetes-sigs/kustomize/releases/latest" | awk '/tag_name/ { print substr($2, 12, length($2)-13) }')
- curl --silent --location --insecure --fail "https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2F${release}/kustomize_${release}_$(go env GOOS)_$(go env GOARCH).tar.gz" | tar -zxf -
- fi
-}
-
-function git_commit() {
- case "$(git describe --always --dirty)" in
- *dirty)
- git commit --quiet --all -m "$*"
- git push --quiet
- ;;
- esac
-}
-
-function update_resources() {
- path="resources/base"
- declare directpv_args
- echo "$@"
- for arg in "$@"; do
- if [ "${arg}" == "--legacy" ]; then
- path="resources/legacy/base"
- elif [ "${arg}" == "--openshift" ]; then
- path="resources/openshift/base"
- fi
- directpv_args+=("${arg}")
- done
-
- declare -A resources
- "${KUBECTL_DIRECTPV}" install "${directpv_args[@]}" -o yaml | sed -e 's/^---/~~~/g' | awk '{f="file" NR; print $0 > f}' RS='~~~'
- for file in file*; do
- name=$(awk '/^kind:/ { print $NF }' "${file}")
- if [ "${name}" == "CustomResourceDefinition" ]; then
- name=$(awk '/^ name:/ { print $NF }' "${file}")
- fi
- if [[ -v "resources[$name]" ]]; then
- name+=-$(awk '/^ name:/ { print $NF }' "${file}")
- fi
- if [ -n "$name" ]; then
- resources["$name"]=""
- fi
- if [ -n "${name}" ]; then
- mv "${file}" "${PWD}/${path}/${name}.yaml"
- else
- rm "${file}"
- fi
- done
-
- git_commit "Updated resources for v${BUILD_VERSION}"
-}
-
-function main() {
- rm -rf resources/base/*
- update_resources
- rm -rf resources/legacy/base/*
- update_resources --legacy
- rm -rf resources/openshift/base/*
- update_resources --openshift
-}
-
-init "$@"
-main "$@"
diff --git a/pkg/admin/installer/daemonset.go b/pkg/admin/installer/daemonset.go
index 627b1122..c3c6d546 100644
--- a/pkg/admin/installer/daemonset.go
+++ b/pkg/admin/installer/daemonset.go
@@ -297,7 +297,7 @@ func (t daemonsetTask) doCreateDaemonset(ctx context.Context, args *Args) (err e
}
}
if selectorValue == "" {
- selectorValue = fmt.Sprintf("%v-%v", consts.Identity, getRandSuffix())
+ selectorValue = fmt.Sprintf("%v-%v", consts.Identity, consts.NodeServerName)
}
daemonset := newDaemonset(podSpec, consts.NodeServerName, selectorValue, args)
@@ -360,7 +360,7 @@ func (t daemonsetTask) doCreateLegacyDaemonset(ctx context.Context, args *Args)
}
}
if selectorValue == "" {
- selectorValue = fmt.Sprintf("%v-%v", consts.Identity, getRandSuffix())
+ selectorValue = fmt.Sprintf("%v-%v", consts.Identity, consts.LegacyNodeServerName)
}
daemonset := newDaemonset(podSpec, consts.LegacyNodeServerName, selectorValue, args)
diff --git a/pkg/admin/installer/deployment.go b/pkg/admin/installer/deployment.go
index 429993a5..1b14c272 100644
--- a/pkg/admin/installer/deployment.go
+++ b/pkg/admin/installer/deployment.go
@@ -195,7 +195,7 @@ func (t deploymentTask) doCreateDeployment(ctx context.Context, args *Args, lega
}
}
if selectorValue == "" {
- selectorValue = fmt.Sprintf("%v-%v", consts.ControllerServerName, getRandSuffix())
+ selectorValue = fmt.Sprintf("%v-%v", consts.ControllerServerName, name)
}
replicas := int32(3)
diff --git a/pkg/admin/installer/utils.go b/pkg/admin/installer/utils.go
index 3dd42bc7..4fb638c4 100644
--- a/pkg/admin/installer/utils.go
+++ b/pkg/admin/installer/utils.go
@@ -18,10 +18,7 @@ package installer
import (
"context"
- "crypto/rand"
- "encoding/base32"
"path"
- "strings"
"github.com/minio/directpv/pkg/k8s"
"k8s.io/klog/v2"
@@ -31,14 +28,6 @@ func newPluginsSocketDir(kubeletDir, name string) string {
return path.Join(kubeletDir, "plugins", k8s.SanitizeResourceName(name))
}
-func getRandSuffix() string {
- b := make([]byte, 5)
- if _, err := rand.Read(b); err != nil {
- klog.Fatalf("unable to generate random bytes; %v", err)
- }
- return strings.ToLower(base32.StdEncoding.EncodeToString(b)[:5])
-}
-
func sendDoneMessage(ctx context.Context, progressCh chan<- Message, err error) (sent bool) {
sent = sendMessage(ctx, progressCh, newDoneMessage(err))
if !sent && err != nil {
diff --git a/resources/base/CSIDriver.yaml b/resources/base/CSIDriver.yaml
index 3ac38e4f..5b78952c 100644
--- a/resources/base/CSIDriver.yaml
+++ b/resources/base/CSIDriver.yaml
@@ -17,5 +17,3 @@ spec:
volumeLifecycleModes:
- Persistent
- Ephemeral
-
-
diff --git a/resources/base/ClusterRole.yaml b/resources/base/ClusterRole.yaml
index b3d573a1..e5fc7c50 100644
--- a/resources/base/ClusterRole.yaml
+++ b/resources/base/ClusterRole.yaml
@@ -169,5 +169,3 @@ rules:
- get
- list
- watch
-
-
diff --git a/resources/base/ClusterRoleBinding.yaml b/resources/base/ClusterRoleBinding.yaml
index 68c7ee30..eafde0c9 100644
--- a/resources/base/ClusterRoleBinding.yaml
+++ b/resources/base/ClusterRoleBinding.yaml
@@ -20,5 +20,3 @@ subjects:
- kind: ServiceAccount
name: directpv-min-io
namespace: directpv
-
-
diff --git a/resources/base/DaemonSet.yaml b/resources/base/DaemonSet.yaml
index 8b9fcfa0..f97f4d84 100644
--- a/resources/base/DaemonSet.yaml
+++ b/resources/base/DaemonSet.yaml
@@ -16,14 +16,14 @@ metadata:
spec:
selector:
matchLabels:
- selector.directpv.min.io: directpv-min-io-2c3pu
+ selector.directpv.min.io: directpv-min-io-node-server
template:
metadata:
annotations:
created-by: kubectl-directpv
creationTimestamp: null
labels:
- selector.directpv.min.io: directpv-min-io-2c3pu
+ selector.directpv.min.io: directpv-min-io-node-server
selector.directpv.min.io.service: enabled
name: node-server
namespace: directpv
@@ -67,7 +67,7 @@ spec:
fieldPath: spec.nodeName
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
- image: quay.io/minio/directpv:v4.1.4
+ image: quay.io/minio/directpv@sha256:83fd05fe114ed15c3975333c90cbe18c782d9c4d5c7ad6fdb8cc835e380ba505
livenessProbe:
failureThreshold: 5
httpGet:
@@ -138,7 +138,7 @@ spec:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
- image: quay.io/minio/directpv:v4.1.4
+ image: quay.io/minio/directpv@sha256:83fd05fe114ed15c3975333c90cbe18c782d9c4d5c7ad6fdb8cc835e380ba505
name: node-controller
resources: {}
securityContext:
@@ -230,5 +230,3 @@ status:
desiredNumberScheduled: 0
numberMisscheduled: 0
numberReady: 0
-
-
diff --git a/resources/base/Deployment.yaml b/resources/base/Deployment.yaml
index 2f6d6fa1..b07e34d0 100644
--- a/resources/base/Deployment.yaml
+++ b/resources/base/Deployment.yaml
@@ -17,7 +17,7 @@ spec:
replicas: 3
selector:
matchLabels:
- selector.directpv.min.io: controller-ms345
+ selector.directpv.min.io: controller-controller
strategy:
type: Recreate
template:
@@ -26,7 +26,7 @@ spec:
created-by: kubectl-directpv
creationTimestamp: null
labels:
- selector.directpv.min.io: controller-ms345
+ selector.directpv.min.io: controller-controller
name: controller
namespace: directpv
spec:
@@ -86,7 +86,7 @@ spec:
fieldPath: spec.nodeName
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
- image: quay.io/minio/directpv:v4.1.4
+ image: quay.io/minio/directpv@sha256:83fd05fe114ed15c3975333c90cbe18c782d9c4d5c7ad6fdb8cc835e380ba505
name: controller
ports:
- containerPort: 30443
@@ -118,5 +118,3 @@ spec:
type: DirectoryOrCreate
name: socket-dir
status: {}
-
-
diff --git a/resources/base/Namespace.yaml b/resources/base/Namespace.yaml
index 720dc640..224ae629 100644
--- a/resources/base/Namespace.yaml
+++ b/resources/base/Namespace.yaml
@@ -15,5 +15,3 @@ metadata:
name: directpv
spec: {}
status: {}
-
-
diff --git a/resources/base/Role.yaml b/resources/base/Role.yaml
index 7c6b5cb8..ec53d0f4 100644
--- a/resources/base/Role.yaml
+++ b/resources/base/Role.yaml
@@ -25,5 +25,3 @@ rules:
- list
- update
- watch
-
-
diff --git a/resources/base/RoleBinding.yaml b/resources/base/RoleBinding.yaml
index dbf8f821..828e5c4a 100644
--- a/resources/base/RoleBinding.yaml
+++ b/resources/base/RoleBinding.yaml
@@ -21,5 +21,3 @@ subjects:
- kind: ServiceAccount
name: directpv-min-io
namespace: directpv
-
-
diff --git a/resources/base/ServiceAccount.yaml b/resources/base/ServiceAccount.yaml
index 897548f3..2b6b91fe 100644
--- a/resources/base/ServiceAccount.yaml
+++ b/resources/base/ServiceAccount.yaml
@@ -12,5 +12,3 @@ metadata:
directpv.min.io/version: v1beta1
name: directpv-min-io
namespace: directpv
-
-
diff --git a/resources/base/StorageClass.yaml b/resources/base/StorageClass.yaml
index c9baa092..549c975c 100644
--- a/resources/base/StorageClass.yaml
+++ b/resources/base/StorageClass.yaml
@@ -24,5 +24,3 @@ parameters:
provisioner: directpv-min-io
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
-
-
diff --git a/resources/base/directpvdrives.directpv.min.io.yaml b/resources/base/directpvdrives.directpv.min.io.yaml
index b1b34c81..a242f4a3 100644
--- a/resources/base/directpvdrives.directpv.min.io.yaml
+++ b/resources/base/directpvdrives.directpv.min.io.yaml
@@ -164,5 +164,3 @@ status:
plural: ""
conditions: null
storedVersions: null
-
-
diff --git a/resources/base/directpvinitrequests.directpv.min.io.yaml b/resources/base/directpvinitrequests.directpv.min.io.yaml
index 48eef357..99c959ab 100644
--- a/resources/base/directpvinitrequests.directpv.min.io.yaml
+++ b/resources/base/directpvinitrequests.directpv.min.io.yaml
@@ -100,5 +100,3 @@ status:
plural: ""
conditions: null
storedVersions: null
-
-
diff --git a/resources/base/directpvnodes.directpv.min.io.yaml b/resources/base/directpvnodes.directpv.min.io.yaml
index 5de53e42..362082b7 100644
--- a/resources/base/directpvnodes.directpv.min.io.yaml
+++ b/resources/base/directpvnodes.directpv.min.io.yaml
@@ -166,5 +166,3 @@ status:
plural: ""
conditions: null
storedVersions: null
-
-
diff --git a/resources/base/directpvvolumes.directpv.min.io.yaml b/resources/base/directpvvolumes.directpv.min.io.yaml
index 7ad2ca89..bfd7fc2d 100644
--- a/resources/base/directpvvolumes.directpv.min.io.yaml
+++ b/resources/base/directpvvolumes.directpv.min.io.yaml
@@ -158,5 +158,3 @@ status:
plural: ""
conditions: null
storedVersions: null
-
-
diff --git a/resources/base/kustomization.yaml b/resources/base/kustomization.yaml
new file mode 100644
index 00000000..f3c06b54
--- /dev/null
+++ b/resources/base/kustomization.yaml
@@ -0,0 +1,48 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+
+resources:
+ - Namespace.yaml
+ - directpvdrives.directpv.min.io.yaml
+ - directpvinitrequests.directpv.min.io.yaml
+ - directpvnodes.directpv.min.io.yaml
+ - directpvvolumes.directpv.min.io.yaml
+ - CSIDriver.yaml
+ - StorageClass.yaml
+ - ServiceAccount.yaml
+ - ClusterRole.yaml
+ - ClusterRoleBinding.yaml
+ - Role.yaml
+ - RoleBinding.yaml
+ - DaemonSet.yaml
+ - Deployment.yaml
+
+images:
+ - name: quay.io/minio/directpv
+ digest: sha256:83fd05fe114ed15c3975333c90cbe18c782d9c4d5c7ad6fdb8cc835e380ba505
+
+ - name: quay.io/minio/csi-node-driver-registrar
+ digest: sha256:dafc7f667aa2e20d7f059c20db02dd6987c2624d64d8f166cd5930721be98ea9
+
+ - name: quay.io/minio/livenessprobe
+ digest: sha256:783010e10e4d74b6b2b157a4b52772c5a264fd76bb2ad671054b8c3f706c8324
+
+ - name: quay.io/minio/csi-provisioner
+ digest: sha256:fc1f992dd5591357fa123c396aaadaea5033f312b9c136a11d62cf698474bebb
+
+ - name: quay.io/minio/csi-resizer
+ digest: sha256:58fa627393f20892b105a137d27e236dfaec233a3a64980f84dcb15f38c21533
+
+patches:
+ - patch: |-
+ - op: replace
+ path: /metadata/annotations/directpv.min.io~1plugin-version
+ value: v4.1.4
+ target:
+ annotationSelector: directpv.min.io/plugin-version
+ - patch: |-
+ - op: replace
+ path: /metadata/annotations/directpv.min.io~1image-tag
+ value: v4.1.4
+ target:
+ annotationSelector: directpv.min.io/image-tag
diff --git a/resources/kustomization.yaml b/resources/kustomization.yaml
deleted file mode 100644
index 88034414..00000000
--- a/resources/kustomization.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-namespace: directpv
-commonAnnotations:
- directpv.aistor.min.io/authors: MinIO, Inc.
- directpv.min.io/support: https://subnet.min.io
-resources:
- - base/Namespace.yaml
- - base/directpvdrives.directpv.min.io.yaml
- - base/directpvinitrequests.directpv.min.io.yaml
- - base/directpvnodes.directpv.min.io.yaml
- - base/directpvvolumes.directpv.min.io.yaml
- - base/CSIDriver.yaml
- - base/StorageClass.yaml
- - base/ServiceAccount.yaml
- - base/ClusterRole.yaml
- - base/ClusterRoleBinding.yaml
- - base/Role.yaml
- - base/RoleBinding.yaml
- - base/DaemonSet.yaml
- - base/Deployment.yaml
diff --git a/resources/legacy/base/CSIDriver-direct-csi-min-io.yaml b/resources/legacy/CSIDriver.yaml
similarity index 99%
rename from resources/legacy/base/CSIDriver-direct-csi-min-io.yaml
rename to resources/legacy/CSIDriver.yaml
index 96dfb80b..2258c1a0 100644
--- a/resources/legacy/base/CSIDriver-direct-csi-min-io.yaml
+++ b/resources/legacy/CSIDriver.yaml
@@ -17,5 +17,3 @@ spec:
volumeLifecycleModes:
- Persistent
- Ephemeral
-
-
diff --git a/resources/legacy/base/DaemonSet-legacy-node-server.yaml b/resources/legacy/DaemonSet.yaml
similarity index 96%
rename from resources/legacy/base/DaemonSet-legacy-node-server.yaml
rename to resources/legacy/DaemonSet.yaml
index 9f584ced..c21689c6 100644
--- a/resources/legacy/base/DaemonSet-legacy-node-server.yaml
+++ b/resources/legacy/DaemonSet.yaml
@@ -1,4 +1,3 @@
-
apiVersion: apps/v1
kind: DaemonSet
metadata:
@@ -16,14 +15,14 @@ metadata:
spec:
selector:
matchLabels:
- selector.directpv.min.io: directpv-min-io-2y5kt
+ selector.directpv.min.io: directpv-node-server
template:
metadata:
annotations:
created-by: kubectl-directpv
creationTimestamp: null
labels:
- selector.directpv.min.io: directpv-min-io-2y5kt
+ selector.directpv.min.io: directpv-node-server
selector.directpv.min.io.service: enabled
name: legacy-node-server
namespace: directpv
@@ -65,7 +64,7 @@ spec:
fieldPath: spec.nodeName
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
- image: quay.io/minio/directpv:v4.1.4
+ image: quay.io/minio/directpv@sha256:83fd05fe114ed15c3975333c90cbe18c782d9c4d5c7ad6fdb8cc835e380ba505
livenessProbe:
failureThreshold: 5
httpGet:
@@ -184,5 +183,3 @@ status:
desiredNumberScheduled: 0
numberMisscheduled: 0
numberReady: 0
-
-
diff --git a/resources/legacy/base/Deployment-legacy-controller.yaml b/resources/legacy/Deployment.yaml
similarity index 93%
rename from resources/legacy/base/Deployment-legacy-controller.yaml
rename to resources/legacy/Deployment.yaml
index e2b13662..9a37ad80 100644
--- a/resources/legacy/base/Deployment-legacy-controller.yaml
+++ b/resources/legacy/Deployment.yaml
@@ -17,7 +17,7 @@ spec:
replicas: 3
selector:
matchLabels:
- selector.directpv.min.io: controller-b3pnn
+ selector.directpv.min.io: directpv-controller
strategy:
type: Recreate
template:
@@ -26,7 +26,7 @@ spec:
created-by: kubectl-directpv
creationTimestamp: null
labels:
- selector.directpv.min.io: controller-b3pnn
+ selector.directpv.min.io: directpv-controller
name: legacy-controller
namespace: directpv
spec:
@@ -85,7 +85,7 @@ spec:
fieldPath: spec.nodeName
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
- image: quay.io/minio/directpv:v4.1.4
+ image: quay.io/minio/directpv@sha256:83fd05fe114ed15c3975333c90cbe18c782d9c4d5c7ad6fdb8cc835e380ba505
name: controller
ports:
- containerPort: 30443
@@ -117,5 +117,3 @@ spec:
type: DirectoryOrCreate
name: socket-dir
status: {}
-
-
diff --git a/resources/legacy/base/StorageClass-direct-csi-min-io.yaml b/resources/legacy/StorageClass.yaml
similarity index 99%
rename from resources/legacy/base/StorageClass-direct-csi-min-io.yaml
rename to resources/legacy/StorageClass.yaml
index 22c1d8d6..1ba1cb15 100644
--- a/resources/legacy/base/StorageClass-direct-csi-min-io.yaml
+++ b/resources/legacy/StorageClass.yaml
@@ -24,5 +24,3 @@ parameters:
provisioner: directpv-min-io
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
-
-
diff --git a/resources/legacy/base/CSIDriver.yaml b/resources/legacy/base/CSIDriver.yaml
deleted file mode 100644
index 3ac38e4f..00000000
--- a/resources/legacy/base/CSIDriver.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-apiVersion: storage.k8s.io/v1
-kind: CSIDriver
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
-spec:
- attachRequired: false
- podInfoOnMount: true
- volumeLifecycleModes:
- - Persistent
- - Ephemeral
-
-
diff --git a/resources/legacy/base/ClusterRole.yaml b/resources/legacy/base/ClusterRole.yaml
deleted file mode 100644
index b3d573a1..00000000
--- a/resources/legacy/base/ClusterRole.yaml
+++ /dev/null
@@ -1,173 +0,0 @@
-
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- rbac.authorization.kubernetes.io/autoupdate: "true"
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
-rules:
-- apiGroups:
- - ""
- resources:
- - persistentvolumes
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - watch
-- apiGroups:
- - ""
- resources:
- - persistentvolumeclaims/status
- verbs:
- - patch
-- apiGroups:
- - policy
- resources:
- - podsecuritypolicies
- verbs:
- - use
-- apiGroups:
- - ""
- resources:
- - persistentvolumeclaims
- verbs:
- - get
- - list
- - update
- - watch
-- apiGroups:
- - storage.k8s.io
- resources:
- - storageclasses
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- - events
- verbs:
- - create
- - list
- - patch
- - update
- - watch
-- apiGroups:
- - snapshot.storage.k8s.io
- resources:
- - volumesnapshots
- verbs:
- - get
- - list
-- apiGroups:
- - snapshot.storage.k8s.io
- resources:
- - volumesnapshotcontents
- verbs:
- - get
- - list
-- apiGroups:
- - storage.k8s.io
- resources:
- - csinodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - storage.k8s.io
- resources:
- - volumeattachments
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- - endpoints
- verbs:
- - create
- - delete
- - get
- - list
- - update
- - watch
-- apiGroups:
- - coordination.k8s.io
- resources:
- - leases
- verbs:
- - create
- - delete
- - get
- - list
- - update
- - watch
-- apiGroups:
- - apiextensions.k8s.io
- - directpv.min.io
- resources:
- - customresourcedefinitions
- - customresourcedefinition
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
-- apiGroups:
- - directpv.min.io
- resources:
- - directpvdrives
- - directpvvolumes
- - directpvnodes
- - directpvinitrequests
- verbs:
- - create
- - delete
- - get
- - list
- - update
- - watch
-- apiGroups:
- - ""
- resources:
- - pods
- - pod
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- - secrets
- - secret
- verbs:
- - get
- - list
- - watch
-
-
diff --git a/resources/legacy/base/ClusterRoleBinding.yaml b/resources/legacy/base/ClusterRoleBinding.yaml
deleted file mode 100644
index 68c7ee30..00000000
--- a/resources/legacy/base/ClusterRoleBinding.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- rbac.authorization.kubernetes.io/autoupdate: "true"
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: directpv-min-io
-subjects:
-- kind: ServiceAccount
- name: directpv-min-io
- namespace: directpv
-
-
diff --git a/resources/legacy/base/DaemonSet.yaml b/resources/legacy/base/DaemonSet.yaml
deleted file mode 100644
index ef58ab6d..00000000
--- a/resources/legacy/base/DaemonSet.yaml
+++ /dev/null
@@ -1,234 +0,0 @@
-
-apiVersion: apps/v1
-kind: DaemonSet
-metadata:
- annotations:
- directpv.min.io/image-tag: v4.1.4
- directpv.min.io/plugin-version: v4.1.4
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: node-server
- namespace: directpv
-spec:
- selector:
- matchLabels:
- selector.directpv.min.io: directpv-min-io-mmhtk
- template:
- metadata:
- annotations:
- created-by: kubectl-directpv
- creationTimestamp: null
- labels:
- selector.directpv.min.io: directpv-min-io-mmhtk
- selector.directpv.min.io.service: enabled
- name: node-server
- namespace: directpv
- spec:
- containers:
- - args:
- - --v=3
- - --csi-address=unix:///csi/csi.sock
- - --kubelet-registration-path=/var/lib/kubelet/plugins/directpv-min-io/csi.sock
- env:
- - name: KUBE_NODE_NAME
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: spec.nodeName
- image: quay.io/minio/csi-node-driver-registrar@sha256:dafc7f667aa2e20d7f059c20db02dd6987c2624d64d8f166cd5930721be98ea9
- name: node-driver-registrar
- resources: {}
- terminationMessagePath: /var/log/driver-registrar-termination-log
- terminationMessagePolicy: FallbackToLogsOnError
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- - mountPath: /registration
- mountPropagation: None
- name: registration-dir
- - args:
- - node-server
- - -v=3
- - --identity=directpv-min-io
- - --csi-endpoint=$(CSI_ENDPOINT)
- - --kube-node-name=$(KUBE_NODE_NAME)
- - --readiness-port=30443
- - --metrics-port=10443
- env:
- - name: KUBE_NODE_NAME
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: spec.nodeName
- - name: CSI_ENDPOINT
- value: unix:///csi/csi.sock
- image: quay.io/minio/directpv:v4.1.4
- livenessProbe:
- failureThreshold: 5
- httpGet:
- path: /healthz
- port: healthz
- initialDelaySeconds: 60
- periodSeconds: 10
- timeoutSeconds: 10
- name: node-server
- ports:
- - containerPort: 30443
- name: readinessport
- protocol: TCP
- - containerPort: 9898
- name: healthz
- protocol: TCP
- - containerPort: 10443
- name: metrics
- protocol: TCP
- readinessProbe:
- failureThreshold: 5
- httpGet:
- path: /ready
- port: readinessport
- scheme: HTTP
- initialDelaySeconds: 60
- periodSeconds: 10
- timeoutSeconds: 10
- resources: {}
- securityContext:
- privileged: true
- terminationMessagePath: /var/log/driver-termination-log
- terminationMessagePolicy: FallbackToLogsOnError
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- - mountPath: /var/lib/kubelet/pods
- mountPropagation: Bidirectional
- name: mountpoint-dir
- - mountPath: /var/lib/kubelet/plugins
- mountPropagation: Bidirectional
- name: plugins-dir
- - mountPath: /var/lib/directpv/
- mountPropagation: Bidirectional
- name: directpv-common-root
- - mountPath: /var/lib/direct-csi/
- mountPropagation: Bidirectional
- name: direct-csi-common-root
- - mountPath: /sys
- mountPropagation: Bidirectional
- name: sysfs
- - mountPath: /dev
- mountPropagation: HostToContainer
- name: devfs
- readOnly: true
- - mountPath: /run/udev/data
- mountPropagation: Bidirectional
- name: run-udev-data-dir
- readOnly: true
- - args:
- - node-controller
- - -v=3
- - --kube-node-name=$(KUBE_NODE_NAME)
- env:
- - name: KUBE_NODE_NAME
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: spec.nodeName
- image: quay.io/minio/directpv:v4.1.4
- name: node-controller
- resources: {}
- securityContext:
- privileged: true
- terminationMessagePath: /var/log/driver-termination-log
- terminationMessagePolicy: FallbackToLogsOnError
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- - mountPath: /var/lib/kubelet/pods
- mountPropagation: Bidirectional
- name: mountpoint-dir
- - mountPath: /var/lib/kubelet/plugins
- mountPropagation: Bidirectional
- name: plugins-dir
- - mountPath: /var/lib/directpv/
- mountPropagation: Bidirectional
- name: directpv-common-root
- - mountPath: /var/lib/direct-csi/
- mountPropagation: Bidirectional
- name: direct-csi-common-root
- - mountPath: /sys
- mountPropagation: Bidirectional
- name: sysfs
- - mountPath: /dev
- mountPropagation: HostToContainer
- name: devfs
- readOnly: true
- - mountPath: /run/udev/data
- mountPropagation: Bidirectional
- name: run-udev-data-dir
- readOnly: true
- - args:
- - --csi-address=/csi/csi.sock
- - --health-port=9898
- image: quay.io/minio/livenessprobe@sha256:783010e10e4d74b6b2b157a4b52772c5a264fd76bb2ad671054b8c3f706c8324
- name: liveness-probe
- resources: {}
- terminationMessagePath: /var/log/driver-liveness-termination-log
- terminationMessagePolicy: FallbackToLogsOnError
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- hostPID: true
- serviceAccountName: directpv-min-io
- volumes:
- - hostPath:
- path: /var/lib/kubelet/plugins/directpv-min-io
- type: DirectoryOrCreate
- name: socket-dir
- - hostPath:
- path: /var/lib/kubelet/pods
- type: DirectoryOrCreate
- name: mountpoint-dir
- - hostPath:
- path: /var/lib/kubelet/plugins_registry
- type: DirectoryOrCreate
- name: registration-dir
- - hostPath:
- path: /var/lib/kubelet/plugins
- type: DirectoryOrCreate
- name: plugins-dir
- - hostPath:
- path: /var/lib/directpv/
- type: DirectoryOrCreate
- name: directpv-common-root
- - hostPath:
- path: /var/lib/direct-csi/
- type: DirectoryOrCreate
- name: direct-csi-common-root
- - hostPath:
- path: /sys
- type: DirectoryOrCreate
- name: sysfs
- - hostPath:
- path: /dev
- type: DirectoryOrCreate
- name: devfs
- - hostPath:
- path: /run/udev/data
- type: DirectoryOrCreate
- name: run-udev-data-dir
- updateStrategy:
- type: RollingUpdate
-status:
- currentNumberScheduled: 0
- desiredNumberScheduled: 0
- numberMisscheduled: 0
- numberReady: 0
-
-
diff --git a/resources/legacy/base/Deployment.yaml b/resources/legacy/base/Deployment.yaml
deleted file mode 100644
index a40f2425..00000000
--- a/resources/legacy/base/Deployment.yaml
+++ /dev/null
@@ -1,122 +0,0 @@
-
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- annotations:
- directpv.min.io/image-tag: v4.1.4
- directpv.min.io/plugin-version: v4.1.4
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: controller
- namespace: directpv
-spec:
- replicas: 3
- selector:
- matchLabels:
- selector.directpv.min.io: controller-bq3dy
- strategy:
- type: Recreate
- template:
- metadata:
- annotations:
- created-by: kubectl-directpv
- creationTimestamp: null
- labels:
- selector.directpv.min.io: controller-bq3dy
- name: controller
- namespace: directpv
- spec:
- containers:
- - args:
- - --v=3
- - --timeout=300s
- - --csi-address=$(CSI_ENDPOINT)
- - --leader-election
- - --feature-gates=Topology=true
- - --strict-topology
- env:
- - name: CSI_ENDPOINT
- value: unix:///csi/csi.sock
- image: quay.io/minio/csi-provisioner@sha256:fc1f992dd5591357fa123c396aaadaea5033f312b9c136a11d62cf698474bebb
- name: csi-provisioner
- resources: {}
- securityContext:
- privileged: true
- terminationMessagePath: /var/log/controller-provisioner-termination-log
- terminationMessagePolicy: FallbackToLogsOnError
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- - args:
- - --v=3
- - --timeout=300s
- - --csi-address=$(CSI_ENDPOINT)
- - --leader-election
- env:
- - name: CSI_ENDPOINT
- value: unix:///csi/csi.sock
- image: quay.io/minio/csi-resizer@sha256:58fa627393f20892b105a137d27e236dfaec233a3a64980f84dcb15f38c21533
- name: csi-resizer
- resources: {}
- securityContext:
- privileged: true
- terminationMessagePath: /var/log/controller-csi-resizer-termination-log
- terminationMessagePolicy: FallbackToLogsOnError
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- - args:
- - controller
- - --identity=directpv-min-io
- - -v=3
- - --csi-endpoint=$(CSI_ENDPOINT)
- - --kube-node-name=$(KUBE_NODE_NAME)
- - --readiness-port=30443
- env:
- - name: KUBE_NODE_NAME
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: spec.nodeName
- - name: CSI_ENDPOINT
- value: unix:///csi/csi.sock
- image: quay.io/minio/directpv:v4.1.4
- name: controller
- ports:
- - containerPort: 30443
- name: readinessport
- protocol: TCP
- - containerPort: 9898
- name: healthz
- protocol: TCP
- readinessProbe:
- failureThreshold: 5
- httpGet:
- path: /ready
- port: readinessport
- scheme: HTTP
- initialDelaySeconds: 60
- periodSeconds: 10
- timeoutSeconds: 10
- resources: {}
- securityContext:
- privileged: true
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- serviceAccountName: directpv-min-io
- volumes:
- - hostPath:
- path: /var/lib/kubelet/plugins/controller-controller
- type: DirectoryOrCreate
- name: socket-dir
-status: {}
-
-
diff --git a/resources/legacy/base/Namespace.yaml b/resources/legacy/base/Namespace.yaml
deleted file mode 100644
index 720dc640..00000000
--- a/resources/legacy/base/Namespace.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-apiVersion: v1
-kind: Namespace
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- creationTimestamp: null
- finalizers:
- - foregroundDeletion
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- pod-security.kubernetes.io/enforce: privileged
- name: directpv
-spec: {}
-status: {}
-
-
diff --git a/resources/legacy/base/Role.yaml b/resources/legacy/base/Role.yaml
deleted file mode 100644
index 7c6b5cb8..00000000
--- a/resources/legacy/base/Role.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- rbac.authorization.kubernetes.io/autoupdate: "true"
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
- namespace: directpv
-rules:
-- apiGroups:
- - coordination.k8s.io
- resources:
- - leases
- verbs:
- - create
- - delete
- - get
- - list
- - update
- - watch
-
-
diff --git a/resources/legacy/base/RoleBinding.yaml b/resources/legacy/base/RoleBinding.yaml
deleted file mode 100644
index dbf8f821..00000000
--- a/resources/legacy/base/RoleBinding.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- rbac.authorization.kubernetes.io/autoupdate: "true"
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
- namespace: directpv
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: directpv-min-io
-subjects:
-- kind: ServiceAccount
- name: directpv-min-io
- namespace: directpv
-
-
diff --git a/resources/legacy/base/ServiceAccount.yaml b/resources/legacy/base/ServiceAccount.yaml
deleted file mode 100644
index 897548f3..00000000
--- a/resources/legacy/base/ServiceAccount.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
- namespace: directpv
-
-
diff --git a/resources/legacy/base/StorageClass.yaml b/resources/legacy/base/StorageClass.yaml
deleted file mode 100644
index c9baa092..00000000
--- a/resources/legacy/base/StorageClass.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-allowVolumeExpansion: true
-allowedTopologies:
-- matchLabelExpressions:
- - key: directpv.min.io/identity
- values:
- - directpv-min-io
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- creationTimestamp: null
- finalizers:
- - foregroundDeletion
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
-parameters:
- csi.storage.k8s.io/fstype: xfs
-provisioner: directpv-min-io
-reclaimPolicy: Delete
-volumeBindingMode: WaitForFirstConsumer
-
-
diff --git a/resources/legacy/base/directpvdrives.directpv.min.io.yaml b/resources/legacy/base/directpvdrives.directpv.min.io.yaml
deleted file mode 100644
index b1b34c81..00000000
--- a/resources/legacy/base/directpvdrives.directpv.min.io.yaml
+++ /dev/null
@@ -1,168 +0,0 @@
-
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
- labels:
- directpv.min.io/version: v1beta1
- name: directpvdrives.directpv.min.io
-spec:
- conversion:
- strategy: None
- group: directpv.min.io
- names:
- kind: DirectPVDrive
- listKind: DirectPVDriveList
- plural: directpvdrives
- singular: directpvdrive
- scope: Cluster
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- description: DirectPVDrive denotes drive CRD object.
- properties:
- apiVersion:
- description: |-
- APIVersion defines the versioned schema of this representation of an object.
- Servers should convert recognized schemas to the latest internal value, and
- may reject unrecognized values.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- type: string
- kind:
- description: |-
- Kind is a string value representing the REST resource this object represents.
- Servers may infer this from the endpoint the client submits requests to.
- Cannot be updated.
- In CamelCase.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- type: string
- metadata:
- type: object
- spec:
- description: DriveSpec represents DirectPV drive specification values.
- properties:
- relabel:
- type: boolean
- unschedulable:
- type: boolean
- type: object
- status:
- description: DriveStatus denotes drive information.
- properties:
- allocatedCapacity:
- format: int64
- type: integer
- conditions:
- items:
- description: "Condition contains details for one aspect of the current
- state of this API Resource.\n---\nThis struct is intended for
- direct use as an array at the field path .status.conditions. For
- example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
- observations of a foo's current state.\n\t // Known .status.conditions.type
- are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
- +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
- \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
- patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
- \ // other fields\n\t}"
- properties:
- lastTransitionTime:
- description: |-
- lastTransitionTime is the last time the condition transitioned from one status to another.
- This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- format: date-time
- type: string
- message:
- description: |-
- message is a human readable message indicating details about the transition.
- This may be an empty string.
- maxLength: 32768
- type: string
- observedGeneration:
- description: |-
- observedGeneration represents the .metadata.generation that the condition was set based upon.
- For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
- with respect to the current state of the instance.
- format: int64
- minimum: 0
- type: integer
- reason:
- description: |-
- reason contains a programmatic identifier indicating the reason for the condition's last transition.
- Producers of specific condition types may define expected values and meanings for this field,
- and whether the values are considered a guaranteed API.
- The value should be a CamelCase string.
- This field may not be empty.
- maxLength: 1024
- minLength: 1
- pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
- type: string
- status:
- description: status of the condition, one of True, False, Unknown.
- enum:
- - "True"
- - "False"
- - Unknown
- type: string
- type:
- description: |-
- type of condition in CamelCase or in foo.example.com/CamelCase.
- ---
- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
- useful (see .node.status.conditions), the ability to deconflict is important.
- The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
- maxLength: 316
- pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
- type: string
- required:
- - lastTransitionTime
- - message
- - reason
- - status
- - type
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
- freeCapacity:
- format: int64
- type: integer
- fsuuid:
- type: string
- make:
- type: string
- status:
- description: DriveStatus denotes drive status
- type: string
- topology:
- additionalProperties:
- type: string
- type: object
- totalCapacity:
- format: int64
- type: integer
- required:
- - allocatedCapacity
- - freeCapacity
- - fsuuid
- - status
- - topology
- - totalCapacity
- type: object
- required:
- - metadata
- - status
- type: object
- served: true
- storage: true
-status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: null
- storedVersions: null
-
-
diff --git a/resources/legacy/base/directpvinitrequests.directpv.min.io.yaml b/resources/legacy/base/directpvinitrequests.directpv.min.io.yaml
deleted file mode 100644
index 48eef357..00000000
--- a/resources/legacy/base/directpvinitrequests.directpv.min.io.yaml
+++ /dev/null
@@ -1,104 +0,0 @@
-
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
- labels:
- directpv.min.io/version: v1beta1
- name: directpvinitrequests.directpv.min.io
-spec:
- conversion:
- strategy: None
- group: directpv.min.io
- names:
- kind: DirectPVInitRequest
- listKind: DirectPVInitRequestList
- plural: directpvinitrequests
- singular: directpvinitrequest
- scope: Cluster
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- description: DirectPVInitRequest denotes DirectPVInitRequest CRD object.
- properties:
- apiVersion:
- description: |-
- APIVersion defines the versioned schema of this representation of an object.
- Servers should convert recognized schemas to the latest internal value, and
- may reject unrecognized values.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- type: string
- kind:
- description: |-
- Kind is a string value representing the REST resource this object represents.
- Servers may infer this from the endpoint the client submits requests to.
- Cannot be updated.
- In CamelCase.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- type: string
- metadata:
- type: object
- spec:
- description: InitRequestSpec represents the spec for InitRequest.
- properties:
- devices:
- items:
- description: InitDevice represents the device requested for initialization.
- properties:
- force:
- type: boolean
- id:
- type: string
- name:
- type: string
- required:
- - force
- - id
- - name
- type: object
- type: array
- x-kubernetes-list-type: atomic
- required:
- - devices
- type: object
- status:
- description: InitRequestStatus represents the status of the InitRequest.
- properties:
- results:
- items:
- description: InitDeviceResult represents the result of the InitDeviceRequest.
- properties:
- error:
- type: string
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-type: atomic
- status:
- description: InitStatus denotes initialization status
- type: string
- required:
- - results
- - status
- type: object
- required:
- - metadata
- - spec
- - status
- type: object
- served: true
- storage: true
-status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: null
- storedVersions: null
-
-
diff --git a/resources/legacy/base/directpvnodes.directpv.min.io.yaml b/resources/legacy/base/directpvnodes.directpv.min.io.yaml
deleted file mode 100644
index 5de53e42..00000000
--- a/resources/legacy/base/directpvnodes.directpv.min.io.yaml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
- labels:
- directpv.min.io/version: v1beta1
- name: directpvnodes.directpv.min.io
-spec:
- conversion:
- strategy: None
- group: directpv.min.io
- names:
- kind: DirectPVNode
- listKind: DirectPVNodeList
- plural: directpvnodes
- singular: directpvnode
- scope: Cluster
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- description: DirectPVNode denotes Node CRD object.
- properties:
- apiVersion:
- description: |-
- APIVersion defines the versioned schema of this representation of an object.
- Servers should convert recognized schemas to the latest internal value, and
- may reject unrecognized values.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- type: string
- kind:
- description: |-
- Kind is a string value representing the REST resource this object represents.
- Servers may infer this from the endpoint the client submits requests to.
- Cannot be updated.
- In CamelCase.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- type: string
- metadata:
- type: object
- spec:
- description: NodeSpec represents DirectPV node specification values.
- properties:
- refresh:
- type: boolean
- type: object
- status:
- description: NodeStatus denotes node information.
- properties:
- conditions:
- items:
- description: "Condition contains details for one aspect of the current
- state of this API Resource.\n---\nThis struct is intended for
- direct use as an array at the field path .status.conditions. For
- example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
- observations of a foo's current state.\n\t // Known .status.conditions.type
- are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
- +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
- \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
- patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
- \ // other fields\n\t}"
- properties:
- lastTransitionTime:
- description: |-
- lastTransitionTime is the last time the condition transitioned from one status to another.
- This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- format: date-time
- type: string
- message:
- description: |-
- message is a human readable message indicating details about the transition.
- This may be an empty string.
- maxLength: 32768
- type: string
- observedGeneration:
- description: |-
- observedGeneration represents the .metadata.generation that the condition was set based upon.
- For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
- with respect to the current state of the instance.
- format: int64
- minimum: 0
- type: integer
- reason:
- description: |-
- reason contains a programmatic identifier indicating the reason for the condition's last transition.
- Producers of specific condition types may define expected values and meanings for this field,
- and whether the values are considered a guaranteed API.
- The value should be a CamelCase string.
- This field may not be empty.
- maxLength: 1024
- minLength: 1
- pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
- type: string
- status:
- description: status of the condition, one of True, False, Unknown.
- enum:
- - "True"
- - "False"
- - Unknown
- type: string
- type:
- description: |-
- type of condition in CamelCase or in foo.example.com/CamelCase.
- ---
- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
- useful (see .node.status.conditions), the ability to deconflict is important.
- The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
- maxLength: 316
- pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
- type: string
- required:
- - lastTransitionTime
- - message
- - reason
- - status
- - type
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
- devices:
- items:
- description: Device denotes the device information in a drive
- properties:
- deniedReason:
- type: string
- fsType:
- type: string
- fsuuid:
- type: string
- id:
- type: string
- majorMinor:
- type: string
- make:
- type: string
- name:
- type: string
- size:
- format: int64
- type: integer
- required:
- - id
- - majorMinor
- - name
- - size
- type: object
- type: array
- x-kubernetes-list-type: atomic
- required:
- - devices
- type: object
- required:
- - metadata
- - status
- type: object
- served: true
- storage: true
-status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: null
- storedVersions: null
-
-
diff --git a/resources/legacy/base/directpvvolumes.directpv.min.io.yaml b/resources/legacy/base/directpvvolumes.directpv.min.io.yaml
deleted file mode 100644
index 7ad2ca89..00000000
--- a/resources/legacy/base/directpvvolumes.directpv.min.io.yaml
+++ /dev/null
@@ -1,162 +0,0 @@
-
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
- labels:
- directpv.min.io/version: v1beta1
- name: directpvvolumes.directpv.min.io
-spec:
- conversion:
- strategy: None
- group: directpv.min.io
- names:
- kind: DirectPVVolume
- listKind: DirectPVVolumeList
- plural: directpvvolumes
- singular: directpvvolume
- scope: Cluster
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- description: DirectPVVolume denotes volume CRD object.
- properties:
- apiVersion:
- description: |-
- APIVersion defines the versioned schema of this representation of an object.
- Servers should convert recognized schemas to the latest internal value, and
- may reject unrecognized values.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- type: string
- kind:
- description: |-
- Kind is a string value representing the REST resource this object represents.
- Servers may infer this from the endpoint the client submits requests to.
- Cannot be updated.
- In CamelCase.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- type: string
- metadata:
- type: object
- status:
- description: VolumeStatus denotes volume information.
- properties:
- availableCapacity:
- format: int64
- type: integer
- conditions:
- items:
- description: "Condition contains details for one aspect of the current
- state of this API Resource.\n---\nThis struct is intended for
- direct use as an array at the field path .status.conditions. For
- example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
- observations of a foo's current state.\n\t // Known .status.conditions.type
- are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
- +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
- \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
- patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
- \ // other fields\n\t}"
- properties:
- lastTransitionTime:
- description: |-
- lastTransitionTime is the last time the condition transitioned from one status to another.
- This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- format: date-time
- type: string
- message:
- description: |-
- message is a human readable message indicating details about the transition.
- This may be an empty string.
- maxLength: 32768
- type: string
- observedGeneration:
- description: |-
- observedGeneration represents the .metadata.generation that the condition was set based upon.
- For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
- with respect to the current state of the instance.
- format: int64
- minimum: 0
- type: integer
- reason:
- description: |-
- reason contains a programmatic identifier indicating the reason for the condition's last transition.
- Producers of specific condition types may define expected values and meanings for this field,
- and whether the values are considered a guaranteed API.
- The value should be a CamelCase string.
- This field may not be empty.
- maxLength: 1024
- minLength: 1
- pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
- type: string
- status:
- description: status of the condition, one of True, False, Unknown.
- enum:
- - "True"
- - "False"
- - Unknown
- type: string
- type:
- description: |-
- type of condition in CamelCase or in foo.example.com/CamelCase.
- ---
- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
- useful (see .node.status.conditions), the ability to deconflict is important.
- The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
- maxLength: 316
- pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
- type: string
- required:
- - lastTransitionTime
- - message
- - reason
- - status
- - type
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
- dataPath:
- type: string
- fsuuid:
- type: string
- stagingTargetPath:
- type: string
- status:
- description: VolumeStatus represents status of a volume.
- type: string
- targetPath:
- type: string
- totalCapacity:
- format: int64
- type: integer
- usedCapacity:
- format: int64
- type: integer
- required:
- - availableCapacity
- - dataPath
- - fsuuid
- - stagingTargetPath
- - status
- - targetPath
- - totalCapacity
- - usedCapacity
- type: object
- required:
- - metadata
- - status
- type: object
- served: true
- storage: true
-status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: null
- storedVersions: null
-
-
diff --git a/resources/legacy/kustomization.yaml b/resources/legacy/kustomization.yaml
index 60e29687..f8258e64 100644
--- a/resources/legacy/kustomization.yaml
+++ b/resources/legacy/kustomization.yaml
@@ -1,25 +1,39 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
-namespace: directpv
-commonAnnotations:
- directpv.aistor.min.io/authors: MinIO, Inc.
- directpv.min.io/support: https://subnet.min.io
+
resources:
- - base/Namespace.yaml
- - base/directpvdrives.directpv.min.io.yaml
- - base/directpvinitrequests.directpv.min.io.yaml
- - base/directpvnodes.directpv.min.io.yaml
- - base/directpvvolumes.directpv.min.io.yaml
- - base/CSIDriver.yaml
- - base/CSIDriver-direct-csi-min-io.yaml
- - base/StorageClass.yaml
- - base/StorageClass-direct-csi-min-io.yaml
- - base/ServiceAccount.yaml
- - base/ClusterRole.yaml
- - base/ClusterRoleBinding.yaml
- - base/Role.yaml
- - base/RoleBinding.yaml
- - base/DaemonSet.yaml
- - base/DaemonSet-legacy-node-server.yaml
- - base/Deployment.yaml
- - base/Deployment-legacy-controller.yaml
+ - ../base
+ - CSIDriver.yaml
+ - DaemonSet.yaml
+ - Deployment.yaml
+ - StorageClass.yaml
+
+images:
+ - name: quay.io/minio/directpv
+ digest: sha256:83fd05fe114ed15c3975333c90cbe18c782d9c4d5c7ad6fdb8cc835e380ba505
+
+ - name: quay.io/minio/csi-node-driver-registrar
+ digest: sha256:dafc7f667aa2e20d7f059c20db02dd6987c2624d64d8f166cd5930721be98ea9
+
+ - name: quay.io/minio/livenessprobe
+ digest: sha256:783010e10e4d74b6b2b157a4b52772c5a264fd76bb2ad671054b8c3f706c8324
+
+ - name: quay.io/minio/csi-provisioner
+ digest: sha256:fc1f992dd5591357fa123c396aaadaea5033f312b9c136a11d62cf698474bebb
+
+ - name: quay.io/minio/csi-resizer
+ digest: sha256:58fa627393f20892b105a137d27e236dfaec233a3a64980f84dcb15f38c21533
+
+patches:
+ - patch: |-
+ - op: replace
+ path: /metadata/annotations/directpv.min.io~1plugin-version
+ value: v4.1.4
+ target:
+ annotationSelector: directpv.min.io/plugin-version
+ - patch: |-
+ - op: replace
+ path: /metadata/annotations/directpv.min.io~1image-tag
+ value: v4.1.4
+ target:
+ annotationSelector: directpv.min.io/image-tag
diff --git a/resources/openshift-with-legacy/kustomization.yaml b/resources/openshift-with-legacy/kustomization.yaml
new file mode 100644
index 00000000..2288b7d6
--- /dev/null
+++ b/resources/openshift-with-legacy/kustomization.yaml
@@ -0,0 +1,22 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+
+resources:
+ - ../legacy
+
+images:
+ - name: quay.io/minio/csi-node-driver-registrar
+ newName: registry.redhat.io/openshift4/ose-csi-node-driver-registrar-rhel8
+ digest: sha256:ab54e6a2e8a6a1ca2da5aaf25f784c09f5bf22ea32224ec1bdb6c564f88695a9
+
+ - name: quay.io/minio/livenessprobe
+ newName: registry.redhat.io/openshift4/ose-csi-livenessprobe-rhel8
+ digest: sha256:b28029f929fe2a28e666910d1acc57c3474fabdb2f9129688ef1ca56c7231d90
+
+ - name: quay.io/minio/csi-provisioner
+ newName: registry.redhat.io/openshift4/ose-csi-external-provisioner-rhel8
+ digest: sha256:8bf8aa8975790e19ba107fd58699f98389e3fb692d192f4df3078fff7f0a4bba
+
+ - name: quay.io/minio/csi-resizer@sha256:58fa627393f20892b105a137d27e236dfaec233a3a64980f84dcb15f38c21533
+ newName: registry.redhat.io/openshift4/ose-csi-external-resizer-rhel8
+ digest: sha256:bed8de36bac80108909205342b2d92e4de5adbfa33bf13f9346236fca52a0d3e
diff --git a/resources/openshift/base/CSIDriver.yaml b/resources/openshift/base/CSIDriver.yaml
deleted file mode 100644
index 3ac38e4f..00000000
--- a/resources/openshift/base/CSIDriver.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-apiVersion: storage.k8s.io/v1
-kind: CSIDriver
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
-spec:
- attachRequired: false
- podInfoOnMount: true
- volumeLifecycleModes:
- - Persistent
- - Ephemeral
-
-
diff --git a/resources/openshift/base/ClusterRole.yaml b/resources/openshift/base/ClusterRole.yaml
deleted file mode 100644
index b3d573a1..00000000
--- a/resources/openshift/base/ClusterRole.yaml
+++ /dev/null
@@ -1,173 +0,0 @@
-
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- rbac.authorization.kubernetes.io/autoupdate: "true"
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
-rules:
-- apiGroups:
- - ""
- resources:
- - persistentvolumes
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - watch
-- apiGroups:
- - ""
- resources:
- - persistentvolumeclaims/status
- verbs:
- - patch
-- apiGroups:
- - policy
- resources:
- - podsecuritypolicies
- verbs:
- - use
-- apiGroups:
- - ""
- resources:
- - persistentvolumeclaims
- verbs:
- - get
- - list
- - update
- - watch
-- apiGroups:
- - storage.k8s.io
- resources:
- - storageclasses
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- - events
- verbs:
- - create
- - list
- - patch
- - update
- - watch
-- apiGroups:
- - snapshot.storage.k8s.io
- resources:
- - volumesnapshots
- verbs:
- - get
- - list
-- apiGroups:
- - snapshot.storage.k8s.io
- resources:
- - volumesnapshotcontents
- verbs:
- - get
- - list
-- apiGroups:
- - storage.k8s.io
- resources:
- - csinodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - storage.k8s.io
- resources:
- - volumeattachments
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- - endpoints
- verbs:
- - create
- - delete
- - get
- - list
- - update
- - watch
-- apiGroups:
- - coordination.k8s.io
- resources:
- - leases
- verbs:
- - create
- - delete
- - get
- - list
- - update
- - watch
-- apiGroups:
- - apiextensions.k8s.io
- - directpv.min.io
- resources:
- - customresourcedefinitions
- - customresourcedefinition
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
-- apiGroups:
- - directpv.min.io
- resources:
- - directpvdrives
- - directpvvolumes
- - directpvnodes
- - directpvinitrequests
- verbs:
- - create
- - delete
- - get
- - list
- - update
- - watch
-- apiGroups:
- - ""
- resources:
- - pods
- - pod
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- - secrets
- - secret
- verbs:
- - get
- - list
- - watch
-
-
diff --git a/resources/openshift/base/ClusterRoleBinding.yaml b/resources/openshift/base/ClusterRoleBinding.yaml
deleted file mode 100644
index 68c7ee30..00000000
--- a/resources/openshift/base/ClusterRoleBinding.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- rbac.authorization.kubernetes.io/autoupdate: "true"
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: directpv-min-io
-subjects:
-- kind: ServiceAccount
- name: directpv-min-io
- namespace: directpv
-
-
diff --git a/resources/openshift/base/DaemonSet.yaml b/resources/openshift/base/DaemonSet.yaml
deleted file mode 100644
index e5dea658..00000000
--- a/resources/openshift/base/DaemonSet.yaml
+++ /dev/null
@@ -1,234 +0,0 @@
-
-apiVersion: apps/v1
-kind: DaemonSet
-metadata:
- annotations:
- directpv.min.io/image-tag: v4.1.4
- directpv.min.io/plugin-version: v4.1.4
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: node-server
- namespace: directpv
-spec:
- selector:
- matchLabels:
- selector.directpv.min.io: directpv-min-io-u4ixd
- template:
- metadata:
- annotations:
- created-by: kubectl-directpv
- creationTimestamp: null
- labels:
- selector.directpv.min.io: directpv-min-io-u4ixd
- selector.directpv.min.io.service: enabled
- name: node-server
- namespace: directpv
- spec:
- containers:
- - args:
- - --v=3
- - --csi-address=unix:///csi/csi.sock
- - --kubelet-registration-path=/var/lib/kubelet/plugins/directpv-min-io/csi.sock
- env:
- - name: KUBE_NODE_NAME
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: spec.nodeName
- image: registry.redhat.io/openshift4/ose-csi-node-driver-registrar-rhel8@sha256:ab54e6a2e8a6a1ca2da5aaf25f784c09f5bf22ea32224ec1bdb6c564f88695a9
- name: node-driver-registrar
- resources: {}
- terminationMessagePath: /var/log/driver-registrar-termination-log
- terminationMessagePolicy: FallbackToLogsOnError
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- - mountPath: /registration
- mountPropagation: None
- name: registration-dir
- - args:
- - node-server
- - -v=3
- - --identity=directpv-min-io
- - --csi-endpoint=$(CSI_ENDPOINT)
- - --kube-node-name=$(KUBE_NODE_NAME)
- - --readiness-port=30443
- - --metrics-port=10443
- env:
- - name: KUBE_NODE_NAME
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: spec.nodeName
- - name: CSI_ENDPOINT
- value: unix:///csi/csi.sock
- image: quay.io/minio/directpv:v4.1.4
- livenessProbe:
- failureThreshold: 5
- httpGet:
- path: /healthz
- port: healthz
- initialDelaySeconds: 60
- periodSeconds: 10
- timeoutSeconds: 10
- name: node-server
- ports:
- - containerPort: 30443
- name: readinessport
- protocol: TCP
- - containerPort: 9898
- name: healthz
- protocol: TCP
- - containerPort: 10443
- name: metrics
- protocol: TCP
- readinessProbe:
- failureThreshold: 5
- httpGet:
- path: /ready
- port: readinessport
- scheme: HTTP
- initialDelaySeconds: 60
- periodSeconds: 10
- timeoutSeconds: 10
- resources: {}
- securityContext:
- privileged: true
- terminationMessagePath: /var/log/driver-termination-log
- terminationMessagePolicy: FallbackToLogsOnError
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- - mountPath: /var/lib/kubelet/pods
- mountPropagation: Bidirectional
- name: mountpoint-dir
- - mountPath: /var/lib/kubelet/plugins
- mountPropagation: Bidirectional
- name: plugins-dir
- - mountPath: /var/lib/directpv/
- mountPropagation: Bidirectional
- name: directpv-common-root
- - mountPath: /var/lib/direct-csi/
- mountPropagation: Bidirectional
- name: direct-csi-common-root
- - mountPath: /sys
- mountPropagation: Bidirectional
- name: sysfs
- - mountPath: /dev
- mountPropagation: HostToContainer
- name: devfs
- readOnly: true
- - mountPath: /run/udev/data
- mountPropagation: Bidirectional
- name: run-udev-data-dir
- readOnly: true
- - args:
- - node-controller
- - -v=3
- - --kube-node-name=$(KUBE_NODE_NAME)
- env:
- - name: KUBE_NODE_NAME
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: spec.nodeName
- image: quay.io/minio/directpv:v4.1.4
- name: node-controller
- resources: {}
- securityContext:
- privileged: true
- terminationMessagePath: /var/log/driver-termination-log
- terminationMessagePolicy: FallbackToLogsOnError
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- - mountPath: /var/lib/kubelet/pods
- mountPropagation: Bidirectional
- name: mountpoint-dir
- - mountPath: /var/lib/kubelet/plugins
- mountPropagation: Bidirectional
- name: plugins-dir
- - mountPath: /var/lib/directpv/
- mountPropagation: Bidirectional
- name: directpv-common-root
- - mountPath: /var/lib/direct-csi/
- mountPropagation: Bidirectional
- name: direct-csi-common-root
- - mountPath: /sys
- mountPropagation: Bidirectional
- name: sysfs
- - mountPath: /dev
- mountPropagation: HostToContainer
- name: devfs
- readOnly: true
- - mountPath: /run/udev/data
- mountPropagation: Bidirectional
- name: run-udev-data-dir
- readOnly: true
- - args:
- - --csi-address=/csi/csi.sock
- - --health-port=9898
- image: registry.redhat.io/openshift4/ose-csi-livenessprobe-rhel8@sha256:b28029f929fe2a28e666910d1acc57c3474fabdb2f9129688ef1ca56c7231d90
- name: liveness-probe
- resources: {}
- terminationMessagePath: /var/log/driver-liveness-termination-log
- terminationMessagePolicy: FallbackToLogsOnError
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- hostPID: true
- serviceAccountName: directpv-min-io
- volumes:
- - hostPath:
- path: /var/lib/kubelet/plugins/directpv-min-io
- type: DirectoryOrCreate
- name: socket-dir
- - hostPath:
- path: /var/lib/kubelet/pods
- type: DirectoryOrCreate
- name: mountpoint-dir
- - hostPath:
- path: /var/lib/kubelet/plugins_registry
- type: DirectoryOrCreate
- name: registration-dir
- - hostPath:
- path: /var/lib/kubelet/plugins
- type: DirectoryOrCreate
- name: plugins-dir
- - hostPath:
- path: /var/lib/directpv/
- type: DirectoryOrCreate
- name: directpv-common-root
- - hostPath:
- path: /var/lib/direct-csi/
- type: DirectoryOrCreate
- name: direct-csi-common-root
- - hostPath:
- path: /sys
- type: DirectoryOrCreate
- name: sysfs
- - hostPath:
- path: /dev
- type: DirectoryOrCreate
- name: devfs
- - hostPath:
- path: /run/udev/data
- type: DirectoryOrCreate
- name: run-udev-data-dir
- updateStrategy:
- type: RollingUpdate
-status:
- currentNumberScheduled: 0
- desiredNumberScheduled: 0
- numberMisscheduled: 0
- numberReady: 0
-
-
diff --git a/resources/openshift/base/Deployment.yaml b/resources/openshift/base/Deployment.yaml
deleted file mode 100644
index e527988f..00000000
--- a/resources/openshift/base/Deployment.yaml
+++ /dev/null
@@ -1,122 +0,0 @@
-
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- annotations:
- directpv.min.io/image-tag: v4.1.4
- directpv.min.io/plugin-version: v4.1.4
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: controller
- namespace: directpv
-spec:
- replicas: 3
- selector:
- matchLabels:
- selector.directpv.min.io: controller-tnfpz
- strategy:
- type: Recreate
- template:
- metadata:
- annotations:
- created-by: kubectl-directpv
- creationTimestamp: null
- labels:
- selector.directpv.min.io: controller-tnfpz
- name: controller
- namespace: directpv
- spec:
- containers:
- - args:
- - --v=3
- - --timeout=300s
- - --csi-address=$(CSI_ENDPOINT)
- - --leader-election
- - --feature-gates=Topology=true
- - --strict-topology
- env:
- - name: CSI_ENDPOINT
- value: unix:///csi/csi.sock
- image: registry.redhat.io/openshift4/ose-csi-external-provisioner-rhel8@sha256:8bf8aa8975790e19ba107fd58699f98389e3fb692d192f4df3078fff7f0a4bba
- name: csi-provisioner
- resources: {}
- securityContext:
- privileged: true
- terminationMessagePath: /var/log/controller-provisioner-termination-log
- terminationMessagePolicy: FallbackToLogsOnError
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- - args:
- - --v=3
- - --timeout=300s
- - --csi-address=$(CSI_ENDPOINT)
- - --leader-election
- env:
- - name: CSI_ENDPOINT
- value: unix:///csi/csi.sock
- image: registry.redhat.io/openshift4/ose-csi-external-resizer-rhel8@sha256:bed8de36bac80108909205342b2d92e4de5adbfa33bf13f9346236fca52a0d3e
- name: csi-resizer
- resources: {}
- securityContext:
- privileged: true
- terminationMessagePath: /var/log/controller-csi-resizer-termination-log
- terminationMessagePolicy: FallbackToLogsOnError
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- - args:
- - controller
- - --identity=directpv-min-io
- - -v=3
- - --csi-endpoint=$(CSI_ENDPOINT)
- - --kube-node-name=$(KUBE_NODE_NAME)
- - --readiness-port=30443
- env:
- - name: KUBE_NODE_NAME
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: spec.nodeName
- - name: CSI_ENDPOINT
- value: unix:///csi/csi.sock
- image: quay.io/minio/directpv:v4.1.4
- name: controller
- ports:
- - containerPort: 30443
- name: readinessport
- protocol: TCP
- - containerPort: 9898
- name: healthz
- protocol: TCP
- readinessProbe:
- failureThreshold: 5
- httpGet:
- path: /ready
- port: readinessport
- scheme: HTTP
- initialDelaySeconds: 60
- periodSeconds: 10
- timeoutSeconds: 10
- resources: {}
- securityContext:
- privileged: true
- volumeMounts:
- - mountPath: /csi
- mountPropagation: None
- name: socket-dir
- serviceAccountName: directpv-min-io
- volumes:
- - hostPath:
- path: /var/lib/kubelet/plugins/controller-controller
- type: DirectoryOrCreate
- name: socket-dir
-status: {}
-
-
diff --git a/resources/openshift/base/Namespace.yaml b/resources/openshift/base/Namespace.yaml
deleted file mode 100644
index 720dc640..00000000
--- a/resources/openshift/base/Namespace.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-apiVersion: v1
-kind: Namespace
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- creationTimestamp: null
- finalizers:
- - foregroundDeletion
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- pod-security.kubernetes.io/enforce: privileged
- name: directpv
-spec: {}
-status: {}
-
-
diff --git a/resources/openshift/base/Role.yaml b/resources/openshift/base/Role.yaml
deleted file mode 100644
index 7c6b5cb8..00000000
--- a/resources/openshift/base/Role.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- rbac.authorization.kubernetes.io/autoupdate: "true"
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
- namespace: directpv
-rules:
-- apiGroups:
- - coordination.k8s.io
- resources:
- - leases
- verbs:
- - create
- - delete
- - get
- - list
- - update
- - watch
-
-
diff --git a/resources/openshift/base/RoleBinding.yaml b/resources/openshift/base/RoleBinding.yaml
deleted file mode 100644
index dbf8f821..00000000
--- a/resources/openshift/base/RoleBinding.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- rbac.authorization.kubernetes.io/autoupdate: "true"
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
- namespace: directpv
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: directpv-min-io
-subjects:
-- kind: ServiceAccount
- name: directpv-min-io
- namespace: directpv
-
-
diff --git a/resources/openshift/base/ServiceAccount.yaml b/resources/openshift/base/ServiceAccount.yaml
deleted file mode 100644
index 897548f3..00000000
--- a/resources/openshift/base/ServiceAccount.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- creationTimestamp: null
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
- namespace: directpv
-
-
diff --git a/resources/openshift/base/StorageClass.yaml b/resources/openshift/base/StorageClass.yaml
deleted file mode 100644
index c9baa092..00000000
--- a/resources/openshift/base/StorageClass.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-allowVolumeExpansion: true
-allowedTopologies:
-- matchLabelExpressions:
- - key: directpv.min.io/identity
- values:
- - directpv-min-io
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
- annotations:
- directpv.min.io/plugin-version: v4.1.4
- creationTimestamp: null
- finalizers:
- - foregroundDeletion
- labels:
- application-name: directpv.min.io
- application-type: CSIDriver
- directpv.min.io/created-by: kubectl-directpv
- directpv.min.io/version: v1beta1
- name: directpv-min-io
-parameters:
- csi.storage.k8s.io/fstype: xfs
-provisioner: directpv-min-io
-reclaimPolicy: Delete
-volumeBindingMode: WaitForFirstConsumer
-
-
diff --git a/resources/openshift/base/directpvdrives.directpv.min.io.yaml b/resources/openshift/base/directpvdrives.directpv.min.io.yaml
deleted file mode 100644
index b1b34c81..00000000
--- a/resources/openshift/base/directpvdrives.directpv.min.io.yaml
+++ /dev/null
@@ -1,168 +0,0 @@
-
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
- labels:
- directpv.min.io/version: v1beta1
- name: directpvdrives.directpv.min.io
-spec:
- conversion:
- strategy: None
- group: directpv.min.io
- names:
- kind: DirectPVDrive
- listKind: DirectPVDriveList
- plural: directpvdrives
- singular: directpvdrive
- scope: Cluster
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- description: DirectPVDrive denotes drive CRD object.
- properties:
- apiVersion:
- description: |-
- APIVersion defines the versioned schema of this representation of an object.
- Servers should convert recognized schemas to the latest internal value, and
- may reject unrecognized values.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- type: string
- kind:
- description: |-
- Kind is a string value representing the REST resource this object represents.
- Servers may infer this from the endpoint the client submits requests to.
- Cannot be updated.
- In CamelCase.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- type: string
- metadata:
- type: object
- spec:
- description: DriveSpec represents DirectPV drive specification values.
- properties:
- relabel:
- type: boolean
- unschedulable:
- type: boolean
- type: object
- status:
- description: DriveStatus denotes drive information.
- properties:
- allocatedCapacity:
- format: int64
- type: integer
- conditions:
- items:
- description: "Condition contains details for one aspect of the current
- state of this API Resource.\n---\nThis struct is intended for
- direct use as an array at the field path .status.conditions. For
- example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
- observations of a foo's current state.\n\t // Known .status.conditions.type
- are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
- +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
- \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
- patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
- \ // other fields\n\t}"
- properties:
- lastTransitionTime:
- description: |-
- lastTransitionTime is the last time the condition transitioned from one status to another.
- This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- format: date-time
- type: string
- message:
- description: |-
- message is a human readable message indicating details about the transition.
- This may be an empty string.
- maxLength: 32768
- type: string
- observedGeneration:
- description: |-
- observedGeneration represents the .metadata.generation that the condition was set based upon.
- For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
- with respect to the current state of the instance.
- format: int64
- minimum: 0
- type: integer
- reason:
- description: |-
- reason contains a programmatic identifier indicating the reason for the condition's last transition.
- Producers of specific condition types may define expected values and meanings for this field,
- and whether the values are considered a guaranteed API.
- The value should be a CamelCase string.
- This field may not be empty.
- maxLength: 1024
- minLength: 1
- pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
- type: string
- status:
- description: status of the condition, one of True, False, Unknown.
- enum:
- - "True"
- - "False"
- - Unknown
- type: string
- type:
- description: |-
- type of condition in CamelCase or in foo.example.com/CamelCase.
- ---
- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
- useful (see .node.status.conditions), the ability to deconflict is important.
- The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
- maxLength: 316
- pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
- type: string
- required:
- - lastTransitionTime
- - message
- - reason
- - status
- - type
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
- freeCapacity:
- format: int64
- type: integer
- fsuuid:
- type: string
- make:
- type: string
- status:
- description: DriveStatus denotes drive status
- type: string
- topology:
- additionalProperties:
- type: string
- type: object
- totalCapacity:
- format: int64
- type: integer
- required:
- - allocatedCapacity
- - freeCapacity
- - fsuuid
- - status
- - topology
- - totalCapacity
- type: object
- required:
- - metadata
- - status
- type: object
- served: true
- storage: true
-status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: null
- storedVersions: null
-
-
diff --git a/resources/openshift/base/directpvinitrequests.directpv.min.io.yaml b/resources/openshift/base/directpvinitrequests.directpv.min.io.yaml
deleted file mode 100644
index 48eef357..00000000
--- a/resources/openshift/base/directpvinitrequests.directpv.min.io.yaml
+++ /dev/null
@@ -1,104 +0,0 @@
-
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
- labels:
- directpv.min.io/version: v1beta1
- name: directpvinitrequests.directpv.min.io
-spec:
- conversion:
- strategy: None
- group: directpv.min.io
- names:
- kind: DirectPVInitRequest
- listKind: DirectPVInitRequestList
- plural: directpvinitrequests
- singular: directpvinitrequest
- scope: Cluster
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- description: DirectPVInitRequest denotes DirectPVInitRequest CRD object.
- properties:
- apiVersion:
- description: |-
- APIVersion defines the versioned schema of this representation of an object.
- Servers should convert recognized schemas to the latest internal value, and
- may reject unrecognized values.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- type: string
- kind:
- description: |-
- Kind is a string value representing the REST resource this object represents.
- Servers may infer this from the endpoint the client submits requests to.
- Cannot be updated.
- In CamelCase.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- type: string
- metadata:
- type: object
- spec:
- description: InitRequestSpec represents the spec for InitRequest.
- properties:
- devices:
- items:
- description: InitDevice represents the device requested for initialization.
- properties:
- force:
- type: boolean
- id:
- type: string
- name:
- type: string
- required:
- - force
- - id
- - name
- type: object
- type: array
- x-kubernetes-list-type: atomic
- required:
- - devices
- type: object
- status:
- description: InitRequestStatus represents the status of the InitRequest.
- properties:
- results:
- items:
- description: InitDeviceResult represents the result of the InitDeviceRequest.
- properties:
- error:
- type: string
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-type: atomic
- status:
- description: InitStatus denotes initialization status
- type: string
- required:
- - results
- - status
- type: object
- required:
- - metadata
- - spec
- - status
- type: object
- served: true
- storage: true
-status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: null
- storedVersions: null
-
-
diff --git a/resources/openshift/base/directpvnodes.directpv.min.io.yaml b/resources/openshift/base/directpvnodes.directpv.min.io.yaml
deleted file mode 100644
index 5de53e42..00000000
--- a/resources/openshift/base/directpvnodes.directpv.min.io.yaml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
- labels:
- directpv.min.io/version: v1beta1
- name: directpvnodes.directpv.min.io
-spec:
- conversion:
- strategy: None
- group: directpv.min.io
- names:
- kind: DirectPVNode
- listKind: DirectPVNodeList
- plural: directpvnodes
- singular: directpvnode
- scope: Cluster
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- description: DirectPVNode denotes Node CRD object.
- properties:
- apiVersion:
- description: |-
- APIVersion defines the versioned schema of this representation of an object.
- Servers should convert recognized schemas to the latest internal value, and
- may reject unrecognized values.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- type: string
- kind:
- description: |-
- Kind is a string value representing the REST resource this object represents.
- Servers may infer this from the endpoint the client submits requests to.
- Cannot be updated.
- In CamelCase.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- type: string
- metadata:
- type: object
- spec:
- description: NodeSpec represents DirectPV node specification values.
- properties:
- refresh:
- type: boolean
- type: object
- status:
- description: NodeStatus denotes node information.
- properties:
- conditions:
- items:
- description: "Condition contains details for one aspect of the current
- state of this API Resource.\n---\nThis struct is intended for
- direct use as an array at the field path .status.conditions. For
- example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
- observations of a foo's current state.\n\t // Known .status.conditions.type
- are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
- +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
- \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
- patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
- \ // other fields\n\t}"
- properties:
- lastTransitionTime:
- description: |-
- lastTransitionTime is the last time the condition transitioned from one status to another.
- This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- format: date-time
- type: string
- message:
- description: |-
- message is a human readable message indicating details about the transition.
- This may be an empty string.
- maxLength: 32768
- type: string
- observedGeneration:
- description: |-
- observedGeneration represents the .metadata.generation that the condition was set based upon.
- For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
- with respect to the current state of the instance.
- format: int64
- minimum: 0
- type: integer
- reason:
- description: |-
- reason contains a programmatic identifier indicating the reason for the condition's last transition.
- Producers of specific condition types may define expected values and meanings for this field,
- and whether the values are considered a guaranteed API.
- The value should be a CamelCase string.
- This field may not be empty.
- maxLength: 1024
- minLength: 1
- pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
- type: string
- status:
- description: status of the condition, one of True, False, Unknown.
- enum:
- - "True"
- - "False"
- - Unknown
- type: string
- type:
- description: |-
- type of condition in CamelCase or in foo.example.com/CamelCase.
- ---
- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
- useful (see .node.status.conditions), the ability to deconflict is important.
- The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
- maxLength: 316
- pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
- type: string
- required:
- - lastTransitionTime
- - message
- - reason
- - status
- - type
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
- devices:
- items:
- description: Device denotes the device information in a drive
- properties:
- deniedReason:
- type: string
- fsType:
- type: string
- fsuuid:
- type: string
- id:
- type: string
- majorMinor:
- type: string
- make:
- type: string
- name:
- type: string
- size:
- format: int64
- type: integer
- required:
- - id
- - majorMinor
- - name
- - size
- type: object
- type: array
- x-kubernetes-list-type: atomic
- required:
- - devices
- type: object
- required:
- - metadata
- - status
- type: object
- served: true
- storage: true
-status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: null
- storedVersions: null
-
-
diff --git a/resources/openshift/base/directpvvolumes.directpv.min.io.yaml b/resources/openshift/base/directpvvolumes.directpv.min.io.yaml
deleted file mode 100644
index 7ad2ca89..00000000
--- a/resources/openshift/base/directpvvolumes.directpv.min.io.yaml
+++ /dev/null
@@ -1,162 +0,0 @@
-
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
- labels:
- directpv.min.io/version: v1beta1
- name: directpvvolumes.directpv.min.io
-spec:
- conversion:
- strategy: None
- group: directpv.min.io
- names:
- kind: DirectPVVolume
- listKind: DirectPVVolumeList
- plural: directpvvolumes
- singular: directpvvolume
- scope: Cluster
- versions:
- - name: v1beta1
- schema:
- openAPIV3Schema:
- description: DirectPVVolume denotes volume CRD object.
- properties:
- apiVersion:
- description: |-
- APIVersion defines the versioned schema of this representation of an object.
- Servers should convert recognized schemas to the latest internal value, and
- may reject unrecognized values.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- type: string
- kind:
- description: |-
- Kind is a string value representing the REST resource this object represents.
- Servers may infer this from the endpoint the client submits requests to.
- Cannot be updated.
- In CamelCase.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- type: string
- metadata:
- type: object
- status:
- description: VolumeStatus denotes volume information.
- properties:
- availableCapacity:
- format: int64
- type: integer
- conditions:
- items:
- description: "Condition contains details for one aspect of the current
- state of this API Resource.\n---\nThis struct is intended for
- direct use as an array at the field path .status.conditions. For
- example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
- observations of a foo's current state.\n\t // Known .status.conditions.type
- are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
- +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
- \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
- patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
- \ // other fields\n\t}"
- properties:
- lastTransitionTime:
- description: |-
- lastTransitionTime is the last time the condition transitioned from one status to another.
- This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- format: date-time
- type: string
- message:
- description: |-
- message is a human readable message indicating details about the transition.
- This may be an empty string.
- maxLength: 32768
- type: string
- observedGeneration:
- description: |-
- observedGeneration represents the .metadata.generation that the condition was set based upon.
- For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
- with respect to the current state of the instance.
- format: int64
- minimum: 0
- type: integer
- reason:
- description: |-
- reason contains a programmatic identifier indicating the reason for the condition's last transition.
- Producers of specific condition types may define expected values and meanings for this field,
- and whether the values are considered a guaranteed API.
- The value should be a CamelCase string.
- This field may not be empty.
- maxLength: 1024
- minLength: 1
- pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
- type: string
- status:
- description: status of the condition, one of True, False, Unknown.
- enum:
- - "True"
- - "False"
- - Unknown
- type: string
- type:
- description: |-
- type of condition in CamelCase or in foo.example.com/CamelCase.
- ---
- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
- useful (see .node.status.conditions), the ability to deconflict is important.
- The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
- maxLength: 316
- pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
- type: string
- required:
- - lastTransitionTime
- - message
- - reason
- - status
- - type
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
- dataPath:
- type: string
- fsuuid:
- type: string
- stagingTargetPath:
- type: string
- status:
- description: VolumeStatus represents status of a volume.
- type: string
- targetPath:
- type: string
- totalCapacity:
- format: int64
- type: integer
- usedCapacity:
- format: int64
- type: integer
- required:
- - availableCapacity
- - dataPath
- - fsuuid
- - stagingTargetPath
- - status
- - targetPath
- - totalCapacity
- - usedCapacity
- type: object
- required:
- - metadata
- - status
- type: object
- served: true
- storage: true
-status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: null
- storedVersions: null
-
-
diff --git a/resources/openshift/kustomization.yaml b/resources/openshift/kustomization.yaml
index 88034414..2b23416c 100644
--- a/resources/openshift/kustomization.yaml
+++ b/resources/openshift/kustomization.yaml
@@ -1,21 +1,22 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
-namespace: directpv
-commonAnnotations:
- directpv.aistor.min.io/authors: MinIO, Inc.
- directpv.min.io/support: https://subnet.min.io
+
resources:
- - base/Namespace.yaml
- - base/directpvdrives.directpv.min.io.yaml
- - base/directpvinitrequests.directpv.min.io.yaml
- - base/directpvnodes.directpv.min.io.yaml
- - base/directpvvolumes.directpv.min.io.yaml
- - base/CSIDriver.yaml
- - base/StorageClass.yaml
- - base/ServiceAccount.yaml
- - base/ClusterRole.yaml
- - base/ClusterRoleBinding.yaml
- - base/Role.yaml
- - base/RoleBinding.yaml
- - base/DaemonSet.yaml
- - base/Deployment.yaml
+ - ../base
+
+images:
+ - name: quay.io/minio/csi-node-driver-registrar
+ newName: registry.redhat.io/openshift4/ose-csi-node-driver-registrar-rhel8
+ digest: sha256:ab54e6a2e8a6a1ca2da5aaf25f784c09f5bf22ea32224ec1bdb6c564f88695a9
+
+ - name: quay.io/minio/livenessprobe
+ newName: registry.redhat.io/openshift4/ose-csi-livenessprobe-rhel8
+ digest: sha256:b28029f929fe2a28e666910d1acc57c3474fabdb2f9129688ef1ca56c7231d90
+
+ - name: quay.io/minio/csi-provisioner
+ newName: registry.redhat.io/openshift4/ose-csi-external-provisioner-rhel8
+ digest: sha256:8bf8aa8975790e19ba107fd58699f98389e3fb692d192f4df3078fff7f0a4bba
+
+ - name: quay.io/minio/csi-resizer@sha256:58fa627393f20892b105a137d27e236dfaec233a3a64980f84dcb15f38c21533
+ newName: registry.redhat.io/openshift4/ose-csi-external-resizer-rhel8
+ digest: sha256:bed8de36bac80108909205342b2d92e4de5adbfa33bf13f9346236fca52a0d3e