Class V1CertificateSpec
The kubernetes spec for a cert-manager certificate.
Namespace: Neon.Kube.Resources.CertManager
Assembly: Neon.Kube.Resources.dll
Syntax
public class V1CertificateSpec
Constructors
V1CertificateSpec()
Constructor.
Declaration
public V1CertificateSpec()
Properties
CommonName
CommonName is a common name to be used on the Certificate. The CommonName should have a length of 64 characters or fewer to avoid generating invalid CSRs. This value is ignored by TLS clients when any subject alt name is set. This is x509 behaviour: https://tools.ietf.org/html/rfc6125#section-6.4.4'
Declaration
[JsonProperty(PropertyName = "commonName", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public string CommonName { get; set; }
Property Value
Type | Description |
---|---|
string |
DnsNames
A list of DNS subjectAltNames to be set on the Certificate.
Declaration
[JsonProperty(PropertyName = "dnsNames", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public List<string> DnsNames { get; set; }
Property Value
Type | Description |
---|---|
List<string> |
Duration
The requested 'duration' (i.e. lifetime) of the Certificate. This option may be ignored/overridden by some issuer types. If unset
this defaults to 90 days. Certificate will be renewed either 2/3 through its duration or renewBefore
period before its expiry,
whichever is later. Minimum accepted duration is 1 hour. Value must be in units accepted by GOLANG time.ParseDuration():
https://golang.org/pkg/time/#ParseDuration
Declaration
[JsonProperty(PropertyName = "duration", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public string Duration { get; set; }
Property Value
Type | Description |
---|---|
string |
EmailAddresses
A list of email subjectAltNames to be set on the Certificate.
Declaration
[JsonProperty(PropertyName = "emailAddresses", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public List<string> EmailAddresses { get; set; }
Property Value
Type | Description |
---|---|
List<string> |
EncodeUsagesInRequest
Controls whether key usages should be present in the CertificateRequest.
Declaration
[JsonProperty(PropertyName = "encodeUsagesInRequest", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public bool? EncodeUsagesInRequest { get; set; }
Property Value
Type | Description |
---|---|
bool? |
IpAddresses
A list of IP address subjectAltNames to be set on the Certificate.
Declaration
[JsonProperty(PropertyName = "ipAddresses", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public List<string> IpAddresses { get; set; }
Property Value
Type | Description |
---|---|
List<string> |
IsCA
Whether this Certificate as valid for certificate signing. This will automatically add the cert sign
usage to the list of usages
.
Declaration
[JsonProperty(PropertyName = "isCA", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public bool? IsCA { get; set; }
Property Value
Type | Description |
---|---|
bool? |
IssuerRef
A reference to the issuer for this certificate.
Declaration
[JsonProperty(PropertyName = "issuerRef", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public IssuerRef IssuerRef { get; set; }
Property Value
Type | Description |
---|---|
IssuerRef |
KeySize
The key bit size of the corresponding private key for this certificate. If keyAlgorithm
is set to rsa
, valid values are 2048
,
4096
or 8192
, and will default to 2048
if not specified. If keyAlgorithm
is set to ecdsa
, valid values are 256
, 384
or 521
, and will default to 256
if not specified. No other values are allowed.
Declaration
[JsonProperty(PropertyName = "keySize", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public int? KeySize { get; set; }
Property Value
Type | Description |
---|---|
int? |
Keystores
Configures additional keystore output formats stored in the secretName
Secret resource.
Declaration
[JsonProperty(PropertyName = "keystores", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public Keystores Keystores { get; set; }
Property Value
Type | Description |
---|---|
Keystores |
Organization
A list of organizations to be used on the Certificate.
Declaration
[JsonProperty(PropertyName = "organization", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public List<string> Organization { get; set; }
Property Value
Type | Description |
---|---|
List<string> |
PrivateKey
Options to control private keys used for the Certificate.
Declaration
[JsonProperty(PropertyName = "privateKey", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public PrivateKey PrivateKey { get; set; }
Property Value
Type | Description |
---|---|
PrivateKey |
RenewBefore
How long before the currently issued certificate's expiry cert-manager should renew the certificate. The default is 2/3 of the issued certificate's duration. Minimum accepted value is 5 minutes. Value must be in units accepted by Go time.ParseDuration https://golang.org/pkg/time/#ParseDuration
Declaration
[JsonProperty(PropertyName = "renewBefore", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public string RenewBefore { get; set; }
Property Value
Type | Description |
---|---|
string |
RevisionHistoryLimit
RevisionHistoryLimit is the maximum number of CertificateRequest revisions that are maintained in the Certificate's history. Each
revision represents a single CertificateRequest
created by this Certificate, either when it was created, renewed, or Spec was changed.
Revisions will be removed by oldest first if the number of revisions exceeds this number. If set, revisionHistoryLimit must be a value
of 1
or greater. If unset (nil
), revisions will not be garbage collected. Default value is nil
.
Declaration
[JsonProperty(PropertyName = "revisionHistoryLimit", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public int? RevisionHistoryLimit { get; set; }
Property Value
Type | Description |
---|---|
int? |
SecretName
The name of the secret resource that will be automatically created and managed by this Certificate resource. It will be populated with a private key and certificate, signed by the denoted issuer.
Declaration
[JsonProperty(PropertyName = "secretName", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public string SecretName { get; set; }
Property Value
Type | Description |
---|---|
string |
Subject
Full X509 name specification (https://golang.org/pkg/crypto/x509/pkix/#Name).
Declaration
[JsonProperty(PropertyName = "subject", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public Subject Subject { get; set; }
Property Value
Type | Description |
---|---|
Subject |
Uris
A list of URI subjectAltNames to be set on the Certificate.
Declaration
[JsonProperty(PropertyName = "uris", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public List<string> Uris { get; set; }
Property Value
Type | Description |
---|---|
List<string> |
Usages
Usages is the set of x509 usages that are requested for the certificate.
Declaration
[JsonProperty(PropertyName = "usages", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[JsonConverter(typeof(JsonCollectionItemConverter<X509Usages, JsonStringEnumMemberConverter>))]
public IEnumerable<X509Usages> Usages { get; set; }
Property Value
Type | Description |
---|---|
IEnumerable<X509Usages> |