Skip to content

Commit a48a899

Browse files
authored
Merge pull request #314 from aramase/add-label
feat: add managed label to secret created by driver
2 parents f80d754 + f00a57a commit a48a899

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

controllers/secretproviderclasspodstatus_controller.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ import (
4545
const (
4646
certType = "CERTIFICATE"
4747
privateKeyType = "RSA PRIVATE KEY"
48+
49+
secretManagedLabel = "secrets-store.csi.k8s.io/managed"
4850
)
4951

5052
// SecretProviderClassPodStatusReconciler reconciles a SecretProviderClassPodStatus object
@@ -173,8 +175,17 @@ func (r *SecretProviderClassPodStatusReconciler) Reconcile(req ctrl.Request) (ct
173175
}
174176
}
175177

178+
labelsMap := make(map[string]string)
179+
if secretObj.Labels != nil {
180+
labelsMap = secretObj.Labels
181+
}
182+
// Set secrets-store.csi.k8s.io/managed=true label on the secret that's created and managed
183+
// by the secrets-store-csi-driver. This label will be used to perform a filtered list watch
184+
// only on secrets created and managed by the driver
185+
labelsMap[secretManagedLabel] = "true"
186+
176187
createFn := func() (bool, error) {
177-
if err := r.createK8sSecret(ctx, secretObj.SecretName, req.Namespace, datamap, secretObj.Labels, secretType); err != nil {
188+
if err := r.createK8sSecret(ctx, secretObj.SecretName, req.Namespace, datamap, labelsMap, secretType); err != nil {
178189
logger.Errorf("failed createK8sSecret, err: %v for secret: %s", err, secretObj.SecretName)
179190
return false, nil
180191
}

test/bats/azure.bats

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,9 @@ setup() {
130130
result=$(kubectl get secret foosecret -o jsonpath="{.metadata.labels.environment}")
131131
[[ "${result//$'\r'}" == "${LABEL_VALUE}" ]]
132132

133+
result=$(kubectl get secret foosecret -o jsonpath="{.metadata.labels.secrets-store\.csi\.k8s\.io/managed}")
134+
[[ "${result//$'\r'}" == "true" ]]
135+
133136
result=$(kubectl get secret foosecret -o json | jq '.metadata.ownerReferences | length')
134137
[[ "$result" -eq 4 ]]
135138
}

test/bats/vault.bats

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,9 @@ EOF
190190
result=$(kubectl get secret foosecret -o jsonpath="{.metadata.labels.environment}")
191191
[[ "${result//$'\r'}" == "${LABEL_VALUE}" ]]
192192

193+
result=$(kubectl get secret foosecret -o jsonpath="{.metadata.labels.secrets-store\.csi\.k8s\.io/managed}")
194+
[[ "${result//$'\r'}" == "true" ]]
195+
193196
result=$(kubectl get secret foosecret -o json | jq '.metadata.ownerReferences | length')
194197
[[ "$result" -eq 4 ]]
195198
}

0 commit comments

Comments
 (0)