@@ -16,6 +16,7 @@ import (
1616 "google.golang.org/grpc"
1717 "google.golang.org/grpc/credentials/insecure"
1818 v1 "k8s.io/api/core/v1"
19+ "k8s.io/apimachinery/pkg/api/resource"
1920 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2021 "k8s.io/client-go/kubernetes"
2122)
@@ -170,14 +171,42 @@ provider=AWS`},
170171 cfg .SecretsFile = "testdata/secrets.yaml"
171172 cfg .TargetPath = mntDir
172173 cfg .StagingPath = stageDir
174+ kubeClient .CoreV1 ().Secrets ("csi-rclone" ).Create (context .Background (), & v1.Secret {
175+ ObjectMeta : metav1.ObjectMeta {Name : "pvc-secret" , Namespace : "csi-rclone" },
176+ StringData : map [string ]string {
177+ "remote" : "my-s3" ,
178+ "remotePath" : "giab/" ,
179+ "secretKey" : "cw_0x689RpI-jtRR7oE8h_eQsKImvJapLeSbXpwF4e4=" ,
180+ "configData" : `[my-s3]
181+ type=<sensitive>
182+ provider=AWS` },
183+ Type : "Opaque" ,
184+ }, metav1.CreateOptions {})
185+ className := "csi-rclone-secret-annotation"
186+ kubeClient .CoreV1 ().PersistentVolumeClaims ("csi-rclone" ).Create (context .Background (), & v1.PersistentVolumeClaim {
187+ ObjectMeta : metav1.ObjectMeta {
188+ Name : "some-pvc" , Namespace : "csi-rclone" ,
189+ Annotations : map [string ]string {"csi-rclone.dev/secretName" : "pvc-secret" },
190+ },
191+ Spec : v1.PersistentVolumeClaimSpec {
192+ AccessModes : []v1.PersistentVolumeAccessMode {v1 .ReadWriteOnce },
193+ Resources : v1.ResourceRequirements {
194+ Requests : v1.ResourceList {"storage" : resource .MustParse ("1Gi" )},
195+ },
196+ StorageClassName : & className ,
197+ },
198+ }, metav1.CreateOptions {})
173199 cfg .TestVolumeParameters = map [string ]string {
174- "csi.storage.k8s.io/pvc/namespace" : "csi-rclone" ,
175- "csi.storage.k8s.io/pvc/name" : "some-pvc" ,
176- "csi.storage.k8s.io/node-publish-secret-namespace" : "csi-rclone" ,
177- "csi.storage.k8s.io/node-publish-secret-name" : "test-pvc" ,
200+ "csi.storage.k8s.io/pvc/namespace" : "csi-rclone" ,
201+ "csi.storage.k8s.io/pvc/name" : "some-pvc" ,
178202 }
179203 })
180204
205+ AfterEach (func () {
206+ kubeClient .CoreV1 ().Secrets ("csi-rclone" ).Delete (context .Background (), "pvc-secret" , metav1.DeleteOptions {})
207+ kubeClient .CoreV1 ().PersistentVolumeClaims ("csi-rclone" ).Delete (context .Background (), "some-pvc" , metav1.DeleteOptions {})
208+ })
209+
181210 AfterAll (func () {
182211 testCtx .Finalize ()
183212 })
@@ -194,26 +223,51 @@ provider=AWS`},
194223 BeforeEach (func () {
195224 mntDir , stageDir := getMountDirs ()
196225 kubeClient .CoreV1 ().Secrets ("csi-rclone" ).Create (context .Background (), & v1.Secret {
197- ObjectMeta : metav1.ObjectMeta {Name : "test-pvc-secrets" , Namespace : "csi-rclone" },
226+ ObjectMeta : metav1.ObjectMeta {Name : "pvc-secret" , Namespace : "csi-rclone" },
227+ StringData : map [string ]string {
228+ "remote" : "my-s3" ,
229+ "remotePath" : "giab/" ,
230+ "secretKey" : "cw_0x689RpI-jtRR7oE8h_eQsKImvJapLeSbXpwF4e4=" ,
231+ "configData" : `[my-s3]
232+ type=<sensitive>
233+ provider=AWS` },
234+ Type : "Opaque" ,
235+ }, metav1.CreateOptions {})
236+ kubeClient .CoreV1 ().Secrets ("csi-rclone" ).Create (context .Background (), & v1.Secret {
237+ ObjectMeta : metav1.ObjectMeta {Name : "pvc-secret-secrets" , Namespace : "csi-rclone" },
198238 StringData : map [string ]string {"type" : "gAAAAABK-fBwYcjuQgctfZknI2ko2uLqj6DRzRa7kFTKnWm_nkjwGWGTai5eyhNXlp6_6QjeTC7B8IWvhBsvG1Q6Zk2eDYDVQg==" },
199239 Type : "Opaque" ,
200240 }, metav1.CreateOptions {})
241+ className := "csi-rclone-secret-annotation"
242+ kubeClient .CoreV1 ().PersistentVolumeClaims ("csi-rclone" ).Create (context .Background (), & v1.PersistentVolumeClaim {
243+ ObjectMeta : metav1.ObjectMeta {
244+ Name : "some-pvc" , Namespace : "csi-rclone" ,
245+ Annotations : map [string ]string {"csi-rclone.dev/secretName" : "pvc-secret" },
246+ },
247+ Spec : v1.PersistentVolumeClaimSpec {
248+ AccessModes : []v1.PersistentVolumeAccessMode {v1 .ReadWriteOnce },
249+ Resources : v1.ResourceRequirements {
250+ Requests : v1.ResourceList {"storage" : resource .MustParse ("1Gi" )},
251+ },
252+ StorageClassName : & className ,
253+ },
254+ }, metav1.CreateOptions {})
201255
202256 * cfg = sanity .NewTestConfig ()
203257 cfg .Address = endpoint
204258 cfg .SecretsFile = "testdata/secrets.yaml"
205259 cfg .TargetPath = mntDir
206260 cfg .StagingPath = stageDir
207261 cfg .TestVolumeParameters = map [string ]string {
208- "csi.storage.k8s.io/pvc/namespace" : "csi-rclone" ,
209- "csi.storage.k8s.io/pvc/name" : "some-pvc" ,
210- "csi.storage.k8s.io/node-publish-secret-namespace" : "csi-rclone" ,
211- "csi.storage.k8s.io/node-publish-secret-name" : "test-pvc" ,
262+ "csi.storage.k8s.io/pvc/namespace" : "csi-rclone" ,
263+ "csi.storage.k8s.io/pvc/name" : "some-pvc" ,
212264 }
213265 })
214266
215267 AfterEach (func () {
216- kubeClient .CoreV1 ().Secrets ("csi-rclone" ).Delete (context .Background (), "test-pvc-secrets" , metav1.DeleteOptions {})
268+ kubeClient .CoreV1 ().Secrets ("csi-rclone" ).Delete (context .Background (), "pvc-secret" , metav1.DeleteOptions {})
269+ kubeClient .CoreV1 ().Secrets ("csi-rclone" ).Delete (context .Background (), "pvc-secret-secrets" , metav1.DeleteOptions {})
270+ kubeClient .CoreV1 ().PersistentVolumeClaims ("csi-rclone" ).Delete (context .Background (), "some-pvc" , metav1.DeleteOptions {})
217271 })
218272
219273 AfterAll (func () {
0 commit comments