(old, new *manifest.MappingResult)
| 316 | } |
| 317 | |
| 318 | func 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. |
| 355 | func redactSecrets(old, new *manifest.MappingResult) { |
no outgoing calls
no test coverage detected