|
|
|
@ -21,6 +21,7 @@ import (
|
|
|
|
|
"context"
|
|
|
|
|
"encoding/base64"
|
|
|
|
|
"encoding/json"
|
|
|
|
|
"errors"
|
|
|
|
|
"fmt"
|
|
|
|
|
"os"
|
|
|
|
|
"sync"
|
|
|
|
@ -343,7 +344,11 @@ func maskSopsData(res *resource.Resource) error {
|
|
|
|
|
res.PipeE(yaml.FieldClearer{Name: "sops"})
|
|
|
|
|
|
|
|
|
|
secretType, err := res.GetFieldValue(typeField)
|
|
|
|
|
if err != nil {
|
|
|
|
|
// If the intented type is Opaque, then it can be omitted from the manifest, since it's the default
|
|
|
|
|
// Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets
|
|
|
|
|
if errors.As(err, &yaml.NoFieldError{}) {
|
|
|
|
|
secretType = "Opaque"
|
|
|
|
|
} else if err != nil {
|
|
|
|
|
return fmt.Errorf("failed to mask secret %s sops data: %w", res.GetName(), err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|