MCPcopy
hub / github.com/databus23/helm-diff / preHandleSecrets

Function preHandleSecrets

diff/diff.go:318–352  ·  view source on GitHub ↗
(old, new *manifest.MappingResult)

Source from the content-addressed store, hash-verified

316}
317
318func preHandleSecrets(old, new *manifest.MappingResult) (v1.Secret, v1.Secret, error, error) {
319 var oldSecretDecodeErr, newSecretDecodeErr error
320 var oldSecret, newSecret v1.Secret
321 if old != nil {
322 oldSecretDecodeErr = yaml.NewYAMLToJSONDecoder(bytes.NewBufferString(old.Content)).Decode(&oldSecret)
323 if oldSecretDecodeErr != nil {
324 old.Content = fmt.Sprintf("Error parsing old secret: %s", oldSecretDecodeErr)
325 } else {
326 // if we have a Secret containing `stringData`, apply the same
327 // transformation that the apiserver would do with it (this protects
328 // stringData keys from being overwritten down below)
329 if len(oldSecret.StringData) > 0 && oldSecret.Data == nil {
330 oldSecret.Data = make(map[string][]byte, len(oldSecret.StringData))
331 }
332 for k, v := range oldSecret.StringData {
333 oldSecret.Data[k] = []byte(v)
334 }
335 }
336 }
337 if new != nil {
338 newSecretDecodeErr = yaml.NewYAMLToJSONDecoder(bytes.NewBufferString(new.Content)).Decode(&newSecret)
339 if newSecretDecodeErr != nil {
340 new.Content = fmt.Sprintf("Error parsing new secret: %s", newSecretDecodeErr)
341 } else {
342 // same as above
343 if len(newSecret.StringData) > 0 && newSecret.Data == nil {
344 newSecret.Data = make(map[string][]byte, len(newSecret.StringData))
345 }
346 for k, v := range newSecret.StringData {
347 newSecret.Data[k] = []byte(v)
348 }
349 }
350 }
351 return oldSecret, newSecret, oldSecretDecodeErr, newSecretDecodeErr
352}
353
354// redactSecrets redacts secrets from the diff output.
355func redactSecrets(old, new *manifest.MappingResult) {

Callers 2

redactSecretsFunction · 0.85
decodeSecretsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected