in fleet-argocd-plugin/fleetclient/fleetclient.go [321:336]
func secretFromManifest(manifest string) (*corev1.Secret, error) {
// Universal deserializer can handle various Kubernetes object formats
scheme := runtime.NewScheme()
corev1.AddToScheme(scheme)
decode := serializer.NewCodecFactory(scheme).UniversalDeserializer().Decode
obj, _, err := decode([]byte(manifest), nil, nil)
if err != nil {
return nil, fmt.Errorf("error decoding manifest %q: %v", manifest, err)
}
// Type assertion to ensure it's a corev1.Secret
secret, ok := obj.(*corev1.Secret)
if !ok {
return nil, fmt.Errorf("decoded object is not of type Secret")
}
return secret, nil
}