You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Management of K8s secrets leaks data in the Object that creates the Secret.
Kubernetes apply will publish the secret data in the annotation (see wontfix kubernetes/kubernetes#29923). This makes sense on the Secret itself, however provider-kubernetes includes the secret data in the Object annotations and in spec.forProvider.manifest
PR #193 addressed this in the object's status, but we are still leaking data in the managed Object.
For example, creating the following secret using a patch from another Secret will leak the data in spec.forProvider.manifest:
---
apiVersion: kubernetes.crossplane.io/v1alpha2kind: Objectmetadata:
name: secretpatchspec:
references:
# Use patchesFrom to patch field from other k8s resource to this object
- patchesFrom:
apiVersion: v1kind: Secretname: secretpatchnamespace: crossplane-systemfieldPath: data.sensitivetoFieldPath: data.key-from-secretforProvider:
manifest:
apiVersion: v1kind: Secretmetadata:
namespace: defaultdata: {}providerConfigRef:
name: kubernetes-provider
---
apiVersion: v1kind: Secretmetadata:
name: secretpatchnamespace: crossplane-systemtype: Opaquedata:
sensitive: cGFzc3dvcmQ=
What problem are you facing?
Management of K8s secrets leaks data in the Object that creates the Secret.
Kubernetes
apply
will publish the secret data in the annotation (see wontfix kubernetes/kubernetes#29923). This makes sense on the Secret itself, however provider-kubernetes includes the secret data in theObject
annotations and inspec.forProvider.manifest
PR #193 addressed this in the object's
status
, but we are still leaking data in the managedObject
.For example, creating the following secret using a patch from another Secret will leak the data in
spec.forProvider.manifest
:How could Crossplane help solve your problem?
I'm not sure what the proper solution is, some ideas I had:
SecretRef
that pulls selected keys during the Observe loop.Secret
ObjectpatchesFrom
to hide fields in the forProviderThe text was updated successfully, but these errors were encountered: