approver-policy API Reference
Packages:
policy.cert-manager.io/v1alpha1
Resource Types:
CertificateRequestPolicy
CertificateRequestPolicy is an object for describing a "policy profile" that makes decisions on whether applicable CertificateRequests should be approved or denied.
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | policy.cert-manager.io/v1alpha1 | true |
kind | string | CertificateRequestPolicy | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the metadata field. |
true |
spec | object | CertificateRequestPolicySpec defines the desired state of CertificateRequestPolicy. | false |
status | object | CertificateRequestPolicyStatus defines the observed state of the CertificateRequestPolicy. | false |
CertificateRequestPolicy.spec
CertificateRequestPolicySpec defines the desired state of CertificateRequestPolicy.
Name | Type | Description | Required |
---|---|---|---|
selector | object | Selector is used for selecting over which CertificateRequests this CertificateRequestPolicy is appropriate for and so will used for its approval evaluation. | true |
allowed | object | Allowed is the set of attributes that are "allowed" by this policy. A CertificateRequest will only be considered permissible for this policy if the CertificateRequest has the same or less as what is allowed. Empty or | false |
constraints | object | Constraints is the set of attributes that must be satisfied by the CertificateRequest for the request to be permissible by the policy. Empty or | false |
plugins | map[string]object | Plugins define a set of plugins and their configuration that should be executed when this policy is evaluated against a CertificateRequest. A plugin must already be built within approver-policy for it to be available. | false |
CertificateRequestPolicy.spec.selector
Selector is used for selecting over which CertificateRequests this CertificateRequestPolicy is appropriate for and so will used for its approval evaluation.
Name | Type | Description | Required |
---|---|---|---|
issuerRef | object | IssuerRef is used to match this CertificateRequestPolicy against processed CertificateRequests. This policy will only be evaluated against a CertificateRequest whose | false |
namespace | object | Namespace is used to select on Namespaces, meaning the CertificateRequestPolicy will only match on CertificateRequests that have been created in matching selected Namespaces. If this field is omitted, all Namespaces are selected. | false |
CertificateRequestPolicy.spec.selector.issuerRef
IssuerRef is used to match this CertificateRequestPolicy against processed CertificateRequests. This policy will only be evaluated against a CertificateRequest whose spec.issuerRef
field matches spec.selector.issuerRef
. CertificateRequests will not be processed on unmatched issuerRef
if defined, regardless of whether the requestor is bound by RBAC. Accepts wildcards "". Omitted values are equivalent to "".
The following value will match all issuerRefs
: issuerRef: {}
Name | Type | Description | Required |
---|---|---|---|
group | string | Group is the wildcard selector to match the | false |
kind | string | Kind is the wildcard selector to match the | false |
name | string | Name is the wildcard selector to match the | false |
CertificateRequestPolicy.spec.selector.namespace
Namespace is used to select on Namespaces, meaning the CertificateRequestPolicy will only match on CertificateRequests that have been created in matching selected Namespaces. If this field is omitted, all Namespaces are selected.
Name | Type | Description | Required |
---|---|---|---|
matchLabels | map[string]string | MatchLabels is the set of Namespace labels that select on CertificateRequests which have been created in a Namespace matching the selector. | false |
matchNames | []string | MatchNames are the set of Namespace names that select on CertificateRequests that have been created in a matching Namespace. Accepts wildcards "*". | false |
CertificateRequestPolicy.spec.allowed
Allowed is the set of attributes that are "allowed" by this policy. A CertificateRequest will only be considered permissible for this policy if the CertificateRequest has the same or less as what is allowed. Empty or nil
allowed fields mean CertificateRequests are not allowed to have that field present to be permissible.
Name | Type | Description | Required |
---|---|---|---|
commonName | object | CommonName defines the X.509 Common Name that is permissible. | false |
dnsNames | object | DNSNames defines the X.509 DNS SANs that may be requested for. Accepts wildcards "*". | false |
emailAddresses | object | EmailAddresses defines the X.509 Email SANs that may be requested for. | false |
ipAddresses | object | IPAddresses defines the X.509 IP SANs that may be requested for. | false |
isCA | boolean | IsCA defines whether it is permissible for a CertificateRequest to have the | false |
subject | object | Subject defines the X.509 subject that is permissible. An omitted field or value of | false |
uris | object | URIs defines the X.509 URI SANs that may be requested for. | false |
usages | []enum | Usages defines the list of permissible key usages that may appear on the CertificateRequest | false |
CertificateRequestPolicy.spec.allowed.commonName
CommonName defines the X.509 Common Name that is permissible.
Name | Type | Description | Required |
---|---|---|---|
required | boolean | Required marks this field as being a required value on the request. May only be set to true if Value is also defined. | false |
value | string | Value defines the value that is permissible to be present on the request. Accepts wildcards "*". An omitted field or value of | false |
CertificateRequestPolicy.spec.allowed.dnsNames
DNSNames defines the X.509 DNS SANs that may be requested for. Accepts wildcards "*".
Name | Type | Description | Required |
---|---|---|---|
required | boolean | Required marks this field as being a required value on the request. May only be set to true if Values is also defined. Default is nil which marks the field as not required. | false |
values | []string | Defines the values that are permissible to be present on request. Accepts wildcards "*". An omitted field or value of | false |
CertificateRequestPolicy.spec.allowed.emailAddresses
EmailAddresses defines the X.509 Email SANs that may be requested for.
Name | Type | Description | Required |
---|---|---|---|
required | boolean | Required marks this field as being a required value on the request. May only be set to true if Values is also defined. Default is nil which marks the field as not required. | false |
values | []string | Defines the values that are permissible to be present on request. Accepts wildcards "*". An omitted field or value of | false |
CertificateRequestPolicy.spec.allowed.ipAddresses
IPAddresses defines the X.509 IP SANs that may be requested for.
Name | Type | Description | Required |
---|---|---|---|
required | boolean | Required marks this field as being a required value on the request. May only be set to true if Values is also defined. Default is nil which marks the field as not required. | false |
values | []string | Defines the values that are permissible to be present on request. Accepts wildcards "*". An omitted field or value of | false |
CertificateRequestPolicy.spec.allowed.subject
Subject defines the X.509 subject that is permissible. An omitted field or value of nil
forbids any Subject being requested.
Name | Type | Description | Required |
---|---|---|---|
countries | object | Countries define the X.509 Subject Countries that may be requested for. | false |
localities | object | Localities defines the X.509 Subject Localities that may be requested for. | false |
organizationalUnits | object | OrganizationalUnits defines the X.509 Subject Organizational Units that may be requested for. | false |
organizations | object | Organizations define the X.509 Subject Organizations that may be requested for. | false |
postalCodes | object | PostalCodes defines the X.509 Subject Postal Codes that may be requested for. | false |
provinces | object | Provinces defines the X.509 Subject Provinces that may be requested for. | false |
serialNumber | object | SerialNumber defines the X.509 Subject Serial Number that may be requested for. | false |
streetAddresses | object | StreetAddresses defines the X.509 Subject Street Addresses that may be requested for. | false |
CertificateRequestPolicy.spec.allowed.subject.countries
Countries define the X.509 Subject Countries that may be requested for.
Name | Type | Description | Required |
---|---|---|---|
required | boolean | Required marks this field as being a required value on the request. May only be set to true if Values is also defined. Default is nil which marks the field as not required. | false |
values | []string | Defines the values that are permissible to be present on request. Accepts wildcards "*". An omitted field or value of | false |
CertificateRequestPolicy.spec.allowed.subject.localities
Localities defines the X.509 Subject Localities that may be requested for.
Name | Type | Description | Required |
---|---|---|---|
required | boolean | Required marks this field as being a required value on the request. May only be set to true if Values is also defined. Default is nil which marks the field as not required. | false |
values | []string | Defines the values that are permissible to be present on request. Accepts wildcards "*". An omitted field or value of | false |
CertificateRequestPolicy.spec.allowed.subject.organizationalUnits
OrganizationalUnits defines the X.509 Subject Organizational Units that may be requested for.
Name | Type | Description | Required |
---|---|---|---|
required | boolean | Required marks this field as being a required value on the request. May only be set to true if Values is also defined. Default is nil which marks the field as not required. | false |
values | []string | Defines the values that are permissible to be present on request. Accepts wildcards "*". An omitted field or value of | false |
CertificateRequestPolicy.spec.allowed.subject.organizations
Organizations define the X.509 Subject Organizations that may be requested for.
Name | Type | Description | Required |
---|---|---|---|
required | boolean | Required marks this field as being a required value on the request. May only be set to true if Values is also defined. Default is nil which marks the field as not required. | false |
values | []string | Defines the values that are permissible to be present on request. Accepts wildcards "*". An omitted field or value of | false |
CertificateRequestPolicy.spec.allowed.subject.postalCodes
PostalCodes defines the X.509 Subject Postal Codes that may be requested for.
Name | Type | Description | Required |
---|---|---|---|
required | boolean | Required marks this field as being a required value on the request. May only be set to true if Values is also defined. Default is nil which marks the field as not required. | false |
values | []string | Defines the values that are permissible to be present on request. Accepts wildcards "*". An omitted field or value of | false |
CertificateRequestPolicy.spec.allowed.subject.provinces
Provinces defines the X.509 Subject Provinces that may be requested for.
Name | Type | Description | Required |
---|---|---|---|
required | boolean | Required marks this field as being a required value on the request. May only be set to true if Values is also defined. Default is nil which marks the field as not required. | false |
values | []string | Defines the values that are permissible to be present on request. Accepts wildcards "*". An omitted field or value of | false |
CertificateRequestPolicy.spec.allowed.subject.serialNumber
SerialNumber defines the X.509 Subject Serial Number that may be requested for.
Name | Type | Description | Required |
---|---|---|---|
required | boolean | Required marks this field as being a required value on the request. May only be set to true if Value is also defined. | false |
value | string | Value defines the value that is permissible to be present on the request. Accepts wildcards "*". An omitted field or value of | false |
CertificateRequestPolicy.spec.allowed.subject.streetAddresses
StreetAddresses defines the X.509 Subject Street Addresses that may be requested for.
Name | Type | Description | Required |
---|---|---|---|
required | boolean | Required marks this field as being a required value on the request. May only be set to true if Values is also defined. Default is nil which marks the field as not required. | false |
values | []string | Defines the values that are permissible to be present on request. Accepts wildcards "*". An omitted field or value of | false |
CertificateRequestPolicy.spec.allowed.uris
URIs defines the X.509 URI SANs that may be requested for.
Name | Type | Description | Required |
---|---|---|---|
required | boolean | Required marks this field as being a required value on the request. May only be set to true if Values is also defined. Default is nil which marks the field as not required. | false |
values | []string | Defines the values that are permissible to be present on request. Accepts wildcards "*". An omitted field or value of | false |
CertificateRequestPolicy.spec.constraints
Constraints is the set of attributes that must be satisfied by the CertificateRequest for the request to be permissible by the policy. Empty or nil
constraint fields mean CertificateRequests satisfy that field with any value of their corresponding attribute.
Name | Type | Description | Required |
---|---|---|---|
maxDuration | string | MaxDuration defines the maximum duration a certificate may be requested for. Values are inclusive (i.e. a max value of | false |
minDuration | string | MinDuration defines the minimum duration a certificate may be requested for. Values are inclusive (i.e. a min value of | false |
privateKey | object | PrivateKey defines the shape of permissible private keys that may be used for the request with this policy. An omitted field or value of | false |
CertificateRequestPolicy.spec.constraints.privateKey
PrivateKey defines the shape of permissible private keys that may be used for the request with this policy. An omitted field or value of nil
permits the use of any private key by the requestor.
Name | Type | Description | Required |
---|---|---|---|
algorithm | enum | Algorithm defines the allowed crypto algorithm that is used by the requestor for their private key in their request. An omitted field or value of Enum: RSA, ECDSA, Ed25519 | false |
maxSize | integer | MaxSize defines the maximum key size a requestor may use for their private key. Values are inclusive (i.e. a min value of | false |
minSize | integer | MinSize defines the minimum key size a requestor may use for their private key. Values are inclusive (i.e. a min value of | false |
CertificateRequestPolicy.spec.plugins[key]
CertificateRequestPolicyPluginData is configuration needed by the plugin approver to evaluate a CertificateRequest on this policy.
Name | Type | Description | Required |
---|---|---|---|
values | map[string]string | Values define a set of well-known, to the plugin, key value pairs that are required for the plugin to successfully evaluate a request based on this policy. | false |
CertificateRequestPolicy.status
CertificateRequestPolicyStatus defines the observed state of the CertificateRequestPolicy.
Name | Type | Description | Required |
---|---|---|---|
conditions | []object | List of status conditions to indicate the status of the CertificateRequestPolicy. Known condition types are | false |
CertificateRequestPolicy.status.conditions[index]
CertificateRequestPolicyCondition contains condition information for a CertificateRequestPolicyStatus.
Name | Type | Description | Required |
---|---|---|---|
status | string | Status of the condition, one of ('True', 'False', 'Unknown'). | true |
type | string | Type of the condition, known values are ( | true |
lastTransitionTime | string | LastTransitionTime is the timestamp corresponding to the last status change of this condition. Format: date-time | false |
message | string | Message is a human readable description of the details of the last transition, complementing reason. | false |
observedGeneration | integer | If set, this represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date with respect to the current state of the CertificateRequestPolicy. Format: int64 | false |
reason | string | Reason is a brief machine readable explanation for the condition's last transition. | false |