CertificateRequest
Scope: Namespaced
Version: v1
A CertificateRequest is used to request a signed certificate from one of the configured issuers.
All fields within the CertificateRequest’s spec
are immutable after creation. A CertificateRequest will either succeed or fail, as denoted by its status.state
field.
A CertificateRequest is a one-shot resource, meaning it represents a single point in time request for a certificate and cannot be re-used.
- apiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- kind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- metadata
- spec
Required value
Desired state of the CertificateRequest resource.
- spec.duration
The requested ‘duration’ (i.e. lifetime) of the Certificate. This option may be ignored/overridden by some issuer types.
- spec.extra
Extra contains extra attributes of the user that created the CertificateRequest. Populated by the cert-manager webhook on creation and immutable.
- spec.groups
Groups contains group membership of the user that created the CertificateRequest. Populated by the cert-manager webhook on creation and immutable.
- spec.isCA
IsCA will request to mark the certificate as valid for certificate signing when submitting to the issuer. This will automatically add the
cert sign
usage to the list ofusages
. - spec.issuerRef
Required value
IssuerRef is a reference to the issuer for this CertificateRequest. If the
kind
field is not set, or set toIssuer
, an Issuer resource with the given name in the same namespace as the CertificateRequest will be used. If thekind
field is set toClusterIssuer
, a ClusterIssuer with the provided name will be used. Thename
field in this stanza is required at all times. The group field refers to the API group of the issuer which defaults tocert-manager.io
if empty.- spec.issuerRef.group
Group of the resource being referred to.
- spec.issuerRef.kind
Kind of the resource being referred to.
- spec.issuerRef.name
Required value
Name of the resource being referred to.
- spec.request
Required value
The PEM-encoded x509 certificate signing request to be submitted to the CA for signing.
- spec.uid
UID contains the uid of the user that created the CertificateRequest. Populated by the cert-manager webhook on creation and immutable.
- spec.usages
Usages is the set of x509 usages that are requested for the certificate. If usages are set they SHOULD be encoded inside the CSR spec Defaults to
digital signature
andkey encipherment
if not specified.- Element of the array
KeyUsage specifies valid usage contexts for keys. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3 https://tools.ietf.org/html/rfc5280#section-4.2.1.12 Valid KeyUsage values are as follows: “signing”, “digital signature”, “content commitment”, “key encipherment”, “key agreement”, “data encipherment”, “cert sign”, “crl sign”, “encipher only”, “decipher only”, “any”, “server auth”, “client auth”, “code signing”, “email protection”, “s/mime”, “ipsec end system”, “ipsec tunnel”, “ipsec user”, “timestamping”, “ocsp signing”, “microsoft sgc”, “netscape sgc”
Allowed values:
signing
,digital signature
,content commitment
,key encipherment
,key agreement
,data encipherment
,cert sign
,crl sign
,encipher only
,decipher only
,any
,server auth
,client auth
,code signing
,email protection
,s/mime
,ipsec end system
,ipsec tunnel
,ipsec user
,timestamping
,ocsp signing
,microsoft sgc
,netscape sgc
- spec.username
Username contains the name of the user that created the CertificateRequest. Populated by the cert-manager webhook on creation and immutable.