'Migrate Certificate from certmanager.k8s.io/v1alpha1 to cert-manager.io/v1

I am migrating Certificate from certmanager.k8s.io/v1alpha1 to cert-manager.io/v1, however, I am getting this error

error validating data: ValidationError(Certificate.spec): unknown field "acme" in io.cert-manager.v1.Certificate.spec

My manifest

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: myapp-com-tls
  namespace: default
spec:
  secretName: myapp-com-tls
  issuerRef:
    name: letsencrypt-myapp-issuer
  commonName: '*.myapp.com'
  dnsNames:
  - myapp.com
  acme:
    config:
    - dns01:
        provider: google-dns
      domains:
      - '*.myapp.com'
      - myapp.com

I know that there is no more acme, but how to migrate to a newer version?



Solution 1:[1]

The cert-manager.io/v1 API version separates the roles of certificate issuers and certificates.

Basically, you need to configure a certificate issuer among the supported ones, like ACME.

This issuer can be later used to obtain a certificate.

Please, consider read this tutorial about a certificate obtained from ACME with DNS validation in the cert-manager.io documentation.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 jccampanero