Skip to content

Cannot render secret when metadata.name is different between secret file and update-ksops-secrets file #39

@wingyplus

Description

@wingyplus

Reproduce:

$ cat update-ksops-secrets.yaml
apiVersion: fn.kpt.dev/v1alpha1
kind: UpdateKSopsSecrets
metadata:
  name: a-server-secret
recipients:
- type: pgp
  recipient: REDACTED
  publicKeySecretReference:
    name: gpg-publickeys
    key: REDACTED.gpg
secret:
  references:
  - unencrypted-secrets
  items:
  - SFTPGO_PASSWORD
$ cat secrets.yaml
apiVersion: v1
kind: Secret
metadata:
  name: sftpgo-controller-secret
  annotations:
    kustomize.config.k8s.io/behavior: merge
type: Opaque
data: {}
$ kpt fn render --truncate-output=false
Package "sftpgo-controller-secrets":
[RUNNING] "ghcr.io/neutronth/kpt-update-ksops-secrets:0.11"
[FAIL] "ghcr.io/neutronth/kpt-update-ksops-secrets:0.11" in 900ms
Error: resource at path "secrets.yaml" and index "0" already exists

If we change the name to the same name on both files, kpt can be rendered successfully. The error quite misleading since it's not about item but its name.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions