Skip to content

Commit 6918c44

Browse files
authored
Merge pull request #1196 from hoyho/feat/pvc_annotation_secret
feat: support PVC annotation template for provisioner secret
2 parents d511a50 + 0e262ef commit 6918c44

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

pkg/controller/controller.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -697,12 +697,7 @@ func (p *csiProvisioner) prepareProvision(ctx context.Context, claim *v1.Persist
697697
}
698698

699699
// Resolve provision secret credentials.
700-
provisionerSecretRef, err := getSecretReference(provisionerSecretParams, sc.Parameters, pvName, &v1.PersistentVolumeClaim{
701-
ObjectMeta: metav1.ObjectMeta{
702-
Name: claim.Name,
703-
Namespace: claim.Namespace,
704-
},
705-
})
700+
provisionerSecretRef, err := getSecretReference(provisionerSecretParams, sc.Parameters, pvName, claim)
706701
if err != nil {
707702
return nil, controller.ProvisioningNoChange, err
708703
}

pkg/controller/controller_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -722,6 +722,23 @@ func TestGetSecretReference(t *testing.T) {
722722
},
723723
expectErr: true,
724724
},
725+
"template - valid PVC annotations for Provision and Delete": {
726+
secretParams: provisionerSecretParams,
727+
params: map[string]string{
728+
prefixedProvisionerSecretNamespaceKey: "static-${pvc.namespace}",
729+
prefixedProvisionerSecretNameKey: "static-${pvc.name}-${pvc.annotations['akey']}",
730+
},
731+
pvName: "pvname",
732+
pvc: &v1.PersistentVolumeClaim{
733+
ObjectMeta: metav1.ObjectMeta{
734+
Name: "name",
735+
Namespace: "pvcnamespace",
736+
Annotations: map[string]string{"akey": "avalue"},
737+
},
738+
},
739+
expectErr: false,
740+
expectRef: &v1.SecretReference{Name: "static-name-avalue", Namespace: "static-pvcnamespace"},
741+
},
725742
"template - valid nodepublish secret ref": {
726743
secretParams: nodePublishSecretParams,
727744
params: map[string]string{

0 commit comments

Comments
 (0)