--- a/00-namespaces.yaml Mon Jul 15 01:56:25 2019 -0500
+++ b/00-namespaces.yaml Tue Aug 13 15:33:33 2019 -0500
@@ -25,4 +25,11 @@
+ certmanager.k8s.io/disable-validation: "true" --- a/10-cert-manager.yaml Mon Jul 15 01:56:25 2019 -0500
+++ b/10-cert-manager.yaml Tue Aug 13 15:33:33 2019 -0500
@@ -1,121 +1,2408 @@
+# This is the official 0.9.1 manifest +# from https://github.com/jetstack/cert-manager/releases. No changes, aside +# from this header have been made. +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition
+ creationTimestamp: null
+ controller-tools.k8s.io: "1.0" + name: certificates.certmanager.k8s.io + additionalPrinterColumns: + - JSONPath: .status.conditions[?(@.type=="Ready")].status + - JSONPath: .spec.secretName + - JSONPath: .spec.issuerRef.name + - JSONPath: .status.conditions[?(@.type=="Ready")].message + - JSONPath: .metadata.creationTimestamp + description: CreationTimestamp is a timestamp representing the server time when + this object was created. It is not guaranteed to be set in happens-before order + across separate operations. Clients may not set this value. It is represented + in RFC3339 form and is in UTC. + group: certmanager.k8s.io + description: '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/api-conventions.md#resources' + description: '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/api-conventions.md#types-kinds' + description: ACME contains configuration specific to ACME Certificates. + Notably, this contains details on how the domain names listed on this + Certificate resource should be 'solved', i.e. mapping HTTP01 and DNS01 + providers to DNS names. + description: Domains is the list of domains that this SolverConfig + description: CommonName is a common name to be used on the Certificate. + If no CommonName is given, then the first entry in DNSNames is used + as the CommonName. The CommonName should have a length of 64 characters + or fewer to avoid generating invalid CSRs; in order to have longer + domain names, set the CommonName (or first DNSNames entry) to have + 64 characters or fewer, and then add the longer domain name to DNSNames. + description: DNSNames is a list of subject alt names to be used on the + Certificate. If no CommonName is given, then the first entry in DNSNames + is used as the CommonName and must have a length of 64 characters + description: Certificate default Duration + description: IPAddresses is a list of IP addresses to be used on the + description: IsCA will mark this Certificate as valid for signing. This + implies that the 'signing' usage is set + description: IssuerRef is a reference to the issuer for this certificate. + If the 'kind' field is not set, or set to 'Issuer', an Issuer resource + with the given name in the same namespace as the Certificate will + be used. If the 'kind' field is set to 'ClusterIssuer', a ClusterIssuer + with the provided name will be used. The 'name' field in this stanza + is required at all times. + description: KeyAlgorithm is the private key algorithm of the corresponding + private key for this certificate. If provided, allowed values are + either "rsa" or "ecdsa" If KeyAlgorithm is specified and KeySize is + not provided, key size of 256 will be used for "ecdsa" key algorithm + and key size of 2048 will be used for "rsa" key algorithm. + description: KeyEncoding is the private key cryptography standards (PKCS) + for this certificate's private key to be encoded in. If provided, + allowed values are "pkcs1" and "pkcs8" standing for PKCS#1 and PKCS#8, + respectively. If KeyEncoding is not specified, then PKCS#1 will be + description: KeySize is the key bit size of the corresponding private + key for this certificate. If provided, value must be between 2048 + and 8192 inclusive when KeyAlgorithm is empty or is set to "rsa", + and value must be one of (256, 384, 521) when KeyAlgorithm is set + description: Organization is the organization to be used on the Certificate + description: Certificate renew before expiration duration + description: SecretName is the name of the secret resource to store + description: LastTransitionTime is the timestamp corresponding + to the last status change of this condition. + description: Message is a human readable description of the details + of the last transition, complementing reason. + description: Reason is a brief machine readable explanation for + the condition's last transition. + description: Status of the condition, one of ('True', 'False', + description: Type of the condition, currently ('Ready'). + description: The expiration time of the certificate stored in the secret + named by this resource in spec.secretName. +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition + creationTimestamp: null + controller-tools.k8s.io: "1.0" + name: certificaterequests.certmanager.k8s.io + additionalPrinterColumns: + - JSONPath: .status.conditions[?(@.type=="Ready")].status + - JSONPath: .spec.issuerRef.name + - JSONPath: .status.conditions[?(@.type=="Ready")].message + - JSONPath: .metadata.creationTimestamp + description: CreationTimestamp is a timestamp representing the server time when + this object was created. It is not guaranteed to be set in happens-before order + across separate operations. Clients may not set this value. It is represented + in RFC3339 form and is in UTC. + group: certmanager.k8s.io + kind: CertificateRequest + plural: certificaterequests + description: '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/api-conventions.md#resources' + description: '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/api-conventions.md#types-kinds' + description: Byte slice containing the PEM encoded CertificateSigningRequest + description: Requested certificate default Duration + description: IsCA will mark the resulting certificate as valid for signing. + This implies that the 'signing' usage is set + description: IssuerRef is a reference to the issuer for this CertificateRequest. If + the 'kind' field is not set, or set to 'Issuer', an Issuer resource + with the given name in the same namespace as the CertificateRequest + will be used. If the 'kind' field is set to 'ClusterIssuer', a ClusterIssuer + with the provided name will be used. The 'name' field in this stanza + is required at all times. The group field refers to the API group + of the issuer which defaults to 'certmanager.k8s.io' if empty. + description: Byte slice containing the PEM encoded certificate authority + of the signed certificate. + description: Byte slice containing a PEM encoded signed certificate + resulting from the given certificate signing request. + description: LastTransitionTime is the timestamp corresponding + to the last status change of this condition. + description: Message is a human readable description of the details + of the last transition, complementing reason. + description: Reason is a brief machine readable explanation for + the condition's last transition. + description: Status of the condition, one of ('True', 'False', + description: Type of the condition, currently ('Ready'). apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
- name: certificates.certmanager.k8s.io
+ creationTimestamp: null
+ controller-tools.k8s.io: "1.0" + name: challenges.certmanager.k8s.io + additionalPrinterColumns: + - JSONPath: .status.state + - JSONPath: .spec.dnsName + - JSONPath: .status.reason + - JSONPath: .metadata.creationTimestamp + description: CreationTimestamp is a timestamp representing the server time when + this object was created. It is not guaranteed to be set in happens-before order + across separate operations. Clients may not set this value. It is represented + in RFC3339 form and is in UTC. group: certmanager.k8s.io
+ description: '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/api-conventions.md#resources' + description: '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/api-conventions.md#types-kinds' + description: AuthzURL is the URL to the ACME Authorization resource + that this challenge is a part of. + description: 'Config specifies the solver configuration for this challenge. + Only **one** of ''config'' or ''solver'' may be specified, and if + both are specified then no action will be performed on the Challenge + resource. DEPRECATED: the ''solver'' field should be specified instead' + description: DNSName is the identifier that this challenge is for, e.g. + description: IssuerRef references a properly configured ACME-type Issuer + which should be used to create this Challenge. If the Issuer does + not exist, processing will be retried. If the Issuer is not an 'ACME' + Issuer, an error will be returned and the Challenge will be marked + description: Key is the ACME challenge key for this challenge + description: Solver contains the domain solving configuration that should + be used to solve this challenge resource. Only **one** of 'config' + or 'solver' may be specified, and if both are specified then no action + will be performed on the Challenge resource. + description: Selector selects a set of DNSNames on the Certificate + resource that should be solved using this challenge solver. + description: List of DNSNames that this solver will be used + to solve. If specified and a match is found, a dnsNames selector + will take precedence over a dnsZones selector. If multiple + solvers match with the same dnsNames value, the solver with + the most matching labels in matchLabels will be selected. + If neither has more matches, the solver defined earlier in + the list will be selected. + description: List of DNSZones that this solver will be used + to solve. The most specific DNS zone match specified here + will take precedence over other DNS zone matches, so a solver + specifying sys.example.com will be selected over one specifying + example.com for the domain www.sys.example.com. If multiple + solvers match with the same dnsZones value, the solver with + the most matching labels in matchLabels will be selected. + If neither has more matches, the solver defined earlier in + the list will be selected. + description: A label selector that is used to refine the set + of certificate's that this challenge solver will apply to. + description: Token is the ACME challenge token for this challenge. + description: Type is the type of ACME challenge this resource represents, + e.g. "dns01" or "http01" + description: URL is the URL of the ACME Challenge resource for this + challenge. This can be used to lookup details about the status of + description: Wildcard will be true if this challenge is for a wildcard + identifier, for example '*.example.com' + description: Presented will be set to true if the challenge values for + this challenge are currently 'presented'. This *does not* imply the + self check is passing. Only that the values have been 'submitted' + for the appropriate challenge mechanism (i.e. the DNS01 TXT record + has been presented, or the HTTP01 configuration has been configured). + description: Processing is used to denote whether this challenge should + be processed or not. This field will only be set to true by the 'scheduling' + component. It will only be set to false by the 'challenges' controller, + after the challenge has reached a final state or timed out. If this + field is set to false, the challenge controller will not take any + description: Reason contains human readable information on why the Challenge + is in the current state. + description: State contains the current 'state' of the challenge. If + not set, the state of the challenge is unknown. apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
- name: clusterissuers.certmanager.k8s.io
+ creationTimestamp: null
+ controller-tools.k8s.io: "1.0" + name: clusterissuers.certmanager.k8s.io group: certmanager.k8s.io
+ description: '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/api-conventions.md#resources' + description: '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/api-conventions.md#types-kinds' + description: Email is the email for this account + description: PrivateKey is the name of a secret containing the private + key for this user account. + description: The key of the secret to select from. Must be a + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + description: Server is the ACME server URL + description: If true, skip verifying the ACME server TLS certificate + description: Solvers is a list of challenge solvers that will be + used to solve ACME challenges for the matching domains. + description: Selector selects a set of DNSNames on the Certificate + resource that should be solved using this challenge solver. + description: List of DNSNames that this solver will be + used to solve. If specified and a match is found, a + dnsNames selector will take precedence over a dnsZones + selector. If multiple solvers match with the same dnsNames + value, the solver with the most matching labels in matchLabels + will be selected. If neither has more matches, the solver + defined earlier in the list will be selected. + description: List of DNSZones that this solver will be + used to solve. The most specific DNS zone match specified + here will take precedence over other DNS zone matches, + so a solver specifying sys.example.com will be selected + over one specifying example.com for the domain www.sys.example.com. + If multiple solvers match with the same dnsZones value, + the solver with the most matching labels in matchLabels + will be selected. If neither has more matches, the solver + defined earlier in the list will be selected. + description: A label selector that is used to refine the + set of certificate's that this challenge solver will + description: SecretName is the name of the secret used to sign Certificates + description: Vault authentication + description: This Secret contains a AppRole and Secret + description: Where the authentication path is mounted in + description: The key of the secret to select from. Must + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + description: This Secret contains the Vault token key + description: The key of the secret to select from. Must + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + description: Base64 encoded CA bundle to validate Vault server certificate. + Only used if the Server URL is using HTTPS protocol. This parameter + is ignored for plain HTTP protocol connection. If not set the + system root certificates are used to validate the TLS connection. + description: Vault URL path to the certificate role + description: Server is the vault connection address + description: Cloud specifies the Venafi cloud configuration settings. + Only one of TPP or Cloud may be specified. + description: APITokenSecretRef is a secret key selector for + the Venafi Cloud API token. + description: The key of the secret to select from. Must + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + description: URL is the base URL for Venafi Cloud + description: TPP specifies Trust Protection Platform configuration + settings. Only one of TPP or Cloud may be specified. + description: CABundle is a PEM encoded TLS certifiate to use + to verify connections to the TPP instance. If specified, system + roots will not be used and the issuing CA for the TPP instance + must be verifiable using the provided root. If not specified, + the connection will be verified using the cert-manager system + description: CredentialsRef is a reference to a Secret containing + the username and password for the TPP server. The secret must + contain two keys, 'username' and 'password'. + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + description: URL is the base URL for the Venafi TPP instance + description: Zone is the Venafi Policy Zone to use for this issuer. + All requests made to the Venafi platform will be restricted by + the named zone policy. This field is required. + description: LastRegisteredEmail is the email associated with the + latest registered ACME account, in order to track changes made + to registered account associated with the Issuer + description: URI is the unique account identifier, which can also + be used to retrieve account details from the CA + description: LastTransitionTime is the timestamp corresponding + to the last status change of this condition. + description: Message is a human readable description of the details + of the last transition, complementing reason. + description: Reason is a brief machine readable explanation for + the condition's last transition. + description: Status of the condition, one of ('True', 'False', + description: Type of the condition, currently ('Ready'). apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
- name: issuers.certmanager.k8s.io
+ creationTimestamp: null
+ controller-tools.k8s.io: "1.0" + name: issuers.certmanager.k8s.io group: certmanager.k8s.io
+ description: '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/api-conventions.md#resources' + description: '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/api-conventions.md#types-kinds' + description: Email is the email for this account + description: PrivateKey is the name of a secret containing the private + key for this user account. + description: The key of the secret to select from. Must be a + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + description: Server is the ACME server URL + description: If true, skip verifying the ACME server TLS certificate + description: Solvers is a list of challenge solvers that will be + used to solve ACME challenges for the matching domains. + description: Selector selects a set of DNSNames on the Certificate + resource that should be solved using this challenge solver. + description: List of DNSNames that this solver will be + used to solve. If specified and a match is found, a + dnsNames selector will take precedence over a dnsZones + selector. If multiple solvers match with the same dnsNames + value, the solver with the most matching labels in matchLabels + will be selected. If neither has more matches, the solver + defined earlier in the list will be selected. + description: List of DNSZones that this solver will be + used to solve. The most specific DNS zone match specified + here will take precedence over other DNS zone matches, + so a solver specifying sys.example.com will be selected + over one specifying example.com for the domain www.sys.example.com. + If multiple solvers match with the same dnsZones value, + the solver with the most matching labels in matchLabels + will be selected. If neither has more matches, the solver + defined earlier in the list will be selected. + description: A label selector that is used to refine the + set of certificate's that this challenge solver will + description: SecretName is the name of the secret used to sign Certificates + description: Vault authentication + description: This Secret contains a AppRole and Secret + description: Where the authentication path is mounted in + description: The key of the secret to select from. Must + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + description: This Secret contains the Vault token key + description: The key of the secret to select from. Must + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + description: Base64 encoded CA bundle to validate Vault server certificate. + Only used if the Server URL is using HTTPS protocol. This parameter + is ignored for plain HTTP protocol connection. If not set the + system root certificates are used to validate the TLS connection. + description: Vault URL path to the certificate role + description: Server is the vault connection address + description: Cloud specifies the Venafi cloud configuration settings. + Only one of TPP or Cloud may be specified. + description: APITokenSecretRef is a secret key selector for + the Venafi Cloud API token. + description: The key of the secret to select from. Must + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + description: URL is the base URL for Venafi Cloud + description: TPP specifies Trust Protection Platform configuration + settings. Only one of TPP or Cloud may be specified. + description: CABundle is a PEM encoded TLS certifiate to use + to verify connections to the TPP instance. If specified, system + roots will not be used and the issuing CA for the TPP instance + must be verifiable using the provided root. If not specified, + the connection will be verified using the cert-manager system + description: CredentialsRef is a reference to a Secret containing + the username and password for the TPP server. The secret must + contain two keys, 'username' and 'password'. + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + description: URL is the base URL for the Venafi TPP instance + description: Zone is the Venafi Policy Zone to use for this issuer. + All requests made to the Venafi platform will be restricted by + the named zone policy. This field is required. + description: LastRegisteredEmail is the email associated with the + latest registered ACME account, in order to track changes made + to registered account associated with the Issuer + description: URI is the unique account identifier, which can also + be used to retrieve account details from the CA + description: LastTransitionTime is the timestamp corresponding + to the last status change of this condition. + description: Message is a human readable description of the details + of the last transition, complementing reason. + description: Reason is a brief machine readable explanation for + the condition's last transition. + description: Status of the condition, one of ('True', 'False', + description: Type of the condition, currently ('Ready'). +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition + creationTimestamp: null + controller-tools.k8s.io: "1.0" + name: orders.certmanager.k8s.io + additionalPrinterColumns: + - JSONPath: .status.state + - JSONPath: .spec.issuerRef.name + - JSONPath: .status.reason + - JSONPath: .metadata.creationTimestamp + description: CreationTimestamp is a timestamp representing the server time when + this object was created. It is not guaranteed to be set in happens-before order + across separate operations. Clients may not set this value. It is represented + in RFC3339 form and is in UTC. + group: certmanager.k8s.io + description: '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/api-conventions.md#resources' + description: '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/api-conventions.md#types-kinds' + description: CommonName is the common name as specified on the DER encoded + CSR. If CommonName is not specified, the first DNSName specified will + be used as the CommonName. At least one of CommonName or a DNSNames + must be set. This field must match the corresponding field on the + description: 'Config specifies a mapping from DNS identifiers to how + those identifiers should be solved when performing ACME challenges. + A config entry must exist for each domain listed in DNSNames and CommonName. + Only **one** of ''config'' or ''solvers'' may be specified, and if + both are specified then no action will be performed on the Order resource. This + field will be removed when support for solver config specified on + the Certificate under certificate.spec.acme has been removed. DEPRECATED: + this field will be removed in future. Solver configuration must instead + be provided on ACME Issuer resources.' + description: Domains is the list of domains that this SolverConfig + description: Certificate signing request bytes in DER encoding. This + will be used when finalizing the order. This field must be set on + description: DNSNames is a list of DNS names that should be included + as part of the Order validation process. If CommonName is not specified, + the first DNSName specified will be used as the CommonName. At least + one of CommonName or a DNSNames must be set. This field must match + the corresponding field on the DER encoded CSR. + description: IssuerRef references a properly configured ACME-type Issuer + which should be used to create this Order. If the Issuer does not + exist, processing will be retried. If the Issuer is not an 'ACME' + Issuer, an error will be returned and the Order will be marked as + description: Certificate is a copy of the PEM encoded certificate for + this Order. This field will be populated after the order has been + successfully finalized with the ACME server, and the order has transitioned + description: Challenges is a list of ChallengeSpecs for Challenges that + must be created in order to complete this Order. + description: AuthzURL is the URL to the ACME Authorization resource + that this challenge is a part of. + description: 'Config specifies the solver configuration for this + challenge. Only **one** of ''config'' or ''solver'' may be specified, + and if both are specified then no action will be performed on + the Challenge resource. DEPRECATED: the ''solver'' field should + description: DNSName is the identifier that this challenge is + description: IssuerRef references a properly configured ACME-type + Issuer which should be used to create this Challenge. If the + Issuer does not exist, processing will be retried. If the Issuer + is not an 'ACME' Issuer, an error will be returned and the Challenge + will be marked as failed. + description: Key is the ACME challenge key for this challenge + description: Solver contains the domain solving configuration + that should be used to solve this challenge resource. Only **one** + of 'config' or 'solver' may be specified, and if both are specified + then no action will be performed on the Challenge resource. + description: Selector selects a set of DNSNames on the Certificate + resource that should be solved using this challenge solver. + description: List of DNSNames that this solver will be + used to solve. If specified and a match is found, a + dnsNames selector will take precedence over a dnsZones + selector. If multiple solvers match with the same dnsNames + value, the solver with the most matching labels in matchLabels + will be selected. If neither has more matches, the solver + defined earlier in the list will be selected. + description: List of DNSZones that this solver will be + used to solve. The most specific DNS zone match specified + here will take precedence over other DNS zone matches, + so a solver specifying sys.example.com will be selected + over one specifying example.com for the domain www.sys.example.com. + If multiple solvers match with the same dnsZones value, + the solver with the most matching labels in matchLabels + will be selected. If neither has more matches, the solver + defined earlier in the list will be selected. + description: A label selector that is used to refine the + set of certificate's that this challenge solver will + description: Token is the ACME challenge token for this challenge. + description: Type is the type of ACME challenge this resource + represents, e.g. "dns01" or "http01" + description: URL is the URL of the ACME Challenge resource for + this challenge. This can be used to lookup details about the + status of this challenge. + description: Wildcard will be true if this challenge is for a + wildcard identifier, for example '*.example.com' + description: FailureTime stores the time that this order failed. This + is used to influence garbage collection and back-off. + description: FinalizeURL of the Order. This is used to obtain certificates + for this order once it has been completed. + description: Reason optionally provides more information about a why + the order is in the current state. + description: State contains the current state of this Order resource. + States 'success' and 'expired' are 'final' + description: URL of the Order. This will initially be empty when the + resource is first created. The Order controller will populate this + field when the Order is first processed. This field will be immutable + after it is initially set. + certmanager.k8s.io/disable-validation: "true" +# Source: cert-manager/charts/cainjector/templates/serviceaccount.yaml + name: cert-manager-cainjector + namespace: "cert-manager" + app.kubernetes.io/name: cainjector + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cainjector-v0.9.1 +# Source: cert-manager/charts/webhook/templates/serviceaccount.yaml + name: cert-manager-webhook + namespace: "cert-manager" + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: webhook-v0.9.1 +# Source: cert-manager/templates/serviceaccount.yaml + namespace: "cert-manager" + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 +# Source: cert-manager/charts/cainjector/templates/rbac.yaml apiVersion: rbac.authorization.k8s.io/v1beta1
+ name: cert-manager-cainjector
+ app.kubernetes.io/name: cainjector + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cainjector-v0.9.1 - apiGroups: ["certmanager.k8s.io"]
- resources: ["certificates", "issuers", "clusterissuers", "orders", "challenges"]
+ resources: ["certificates"] + verbs: ["get", "list", "watch"] + verbs: ["get", "list", "watch"] - resources: ["configmaps", "secrets", "events", "services", "pods"]
- - apiGroups: ["extensions"]
- resources: ["ingresses"]
+ resources: ["configmaps", "events"] + verbs: ["get", "create", "update", "patch"] + - apiGroups: ["admissionregistration.k8s.io"] + resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["apiregistration.k8s.io"] + resources: ["apiservices"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["apiextensions.k8s.io"] + resources: ["customresourcedefinitions"] + verbs: ["get", "list", "watch", "update"] apiVersion: rbac.authorization.k8s.io/v1beta1
+ name: cert-manager-cainjector + app.kubernetes.io/name: cainjector + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cainjector-v0.9.1 + apiGroup: rbac.authorization.k8s.io + name: cert-manager-cainjector + - name: cert-manager-cainjector + namespace: "cert-manager" +# Source: cert-manager/templates/rbac.yaml +apiVersion: rbac.authorization.k8s.io/v1beta1 + name: cert-manager-leaderelection + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + # Used for leader election by the controller + resources: ["configmaps"] + verbs: ["get", "create", "update", "patch"] +# Issuer controller role +apiVersion: rbac.authorization.k8s.io/v1beta1 + name: cert-manager-controller-issuers + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + - apiGroups: ["certmanager.k8s.io"] + resources: ["issuers", "issuers/status"] + - apiGroups: ["certmanager.k8s.io"] + verbs: ["get", "list", "watch"] + verbs: ["get", "list", "watch", "create", "update", "delete"] + verbs: ["create", "patch"] +# ClusterIssuer controller role +apiVersion: rbac.authorization.k8s.io/v1beta1 + name: cert-manager-controller-clusterissuers + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + - apiGroups: ["certmanager.k8s.io"] + resources: ["clusterissuers", "clusterissuers/status"] + - apiGroups: ["certmanager.k8s.io"] + resources: ["clusterissuers"] + verbs: ["get", "list", "watch"] + verbs: ["get", "list", "watch", "create", "update", "delete"] + verbs: ["create", "patch"] +# Certificates controller role +apiVersion: rbac.authorization.k8s.io/v1beta1 + name: cert-manager-controller-certificates + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + - apiGroups: ["certmanager.k8s.io"] + resources: ["certificates", "certificates/status", "certificaterequests", "certificaterequests/status"] + - apiGroups: ["certmanager.k8s.io"] + resources: ["certificates", "certificaterequests", "clusterissuers", "issuers", "orders"] + verbs: ["get", "list", "watch"] + # We require these rules to support users with the OwnerReferencesPermissionEnforcement + #Â admission controller enabled: + # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement + - apiGroups: ["certmanager.k8s.io"] + resources: ["certificates/finalizers"] + - apiGroups: ["certmanager.k8s.io"] + verbs: ["create", "delete"] + verbs: ["get", "list", "watch", "create", "update", "delete"] + verbs: ["create", "patch"] +# Orders controller role +apiVersion: rbac.authorization.k8s.io/v1beta1 + name: cert-manager-controller-orders + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + - apiGroups: ["certmanager.k8s.io"] + resources: ["orders", "orders/status"] + - apiGroups: ["certmanager.k8s.io"] + resources: ["orders", "clusterissuers", "issuers", "challenges"] + verbs: ["get", "list", "watch"] + - apiGroups: ["certmanager.k8s.io"] + resources: ["challenges"] + verbs: ["create", "delete"] + # We require these rules to support users with the OwnerReferencesPermissionEnforcement + #Â admission controller enabled: + # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement + - apiGroups: ["certmanager.k8s.io"] + resources: ["orders/finalizers"] + verbs: ["get", "list", "watch"] + verbs: ["create", "patch"] +# Challenges controller role +apiVersion: rbac.authorization.k8s.io/v1beta1 + name: cert-manager-controller-challenges + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + # Use to update challenge resource status + - apiGroups: ["certmanager.k8s.io"] + resources: ["challenges", "challenges/status"] + # Used to watch challenges, issuer and clusterissuer resources + - apiGroups: ["certmanager.k8s.io"] + resources: ["challenges", "issuers", "clusterissuers"] + verbs: ["get", "list", "watch"] + # Need to be able to retrieve ACME account private key to complete challenges + verbs: ["get", "list", "watch"] + # Used to create events + verbs: ["create", "patch"] + resources: ["pods", "services"] + verbs: ["get", "list", "watch", "create", "delete"] + - apiGroups: ["extensions"] + resources: ["ingresses"] + verbs: ["get", "list", "watch", "create", "delete", "update"] + # We require these rules to support users with the OwnerReferencesPermissionEnforcement + #Â admission controller enabled: + # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement + - apiGroups: ["certmanager.k8s.io"] + resources: ["challenges/finalizers"] + #Â DNS01 rules (duplicated above) + verbs: ["get", "list", "watch"] +# ingress-shim controller role +apiVersion: rbac.authorization.k8s.io/v1beta1 + name: cert-manager-controller-ingress-shim + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + - apiGroups: ["certmanager.k8s.io"] + resources: ["certificates", "certificaterequests"] + verbs: ["create", "update", "delete"] + - apiGroups: ["certmanager.k8s.io"] + resources: ["certificates", "certificaterequests", "issuers", "clusterissuers"] + verbs: ["get", "list", "watch"] + - apiGroups: ["extensions"] + resources: ["ingresses"] + verbs: ["get", "list", "watch"] + # We require these rules to support users with the OwnerReferencesPermissionEnforcement + #Â admission controller enabled: + # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement + - apiGroups: ["extensions"] + resources: ["ingresses/finalizers"] + verbs: ["create", "patch"] +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding + name: cert-manager-leaderelection + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + apiGroup: rbac.authorization.k8s.io + name: cert-manager-leaderelection + namespace: "cert-manager" +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding + name: cert-manager-controller-issuers + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + apiGroup: rbac.authorization.k8s.io + name: cert-manager-controller-issuers + namespace: "cert-manager" +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding + name: cert-manager-controller-clusterissuers + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + apiGroup: rbac.authorization.k8s.io + name: cert-manager-controller-clusterissuers + namespace: "cert-manager" +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding + name: cert-manager-controller-certificates + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 apiGroup: rbac.authorization.k8s.io
+ name: cert-manager-controller-certificates + namespace: "cert-manager" +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding + name: cert-manager-controller-orders + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + apiGroup: rbac.authorization.k8s.io + name: cert-manager-controller-orders + namespace: "cert-manager" +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding + name: cert-manager-controller-challenges + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + apiGroup: rbac.authorization.k8s.io + name: cert-manager-controller-challenges + namespace: "cert-manager" +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding + name: cert-manager-controller-ingress-shim + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + apiGroup: rbac.authorization.k8s.io + name: cert-manager-controller-ingress-shim
+ namespace: "cert-manager" -apiVersion: apps/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1 + name: cert-manager-view + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + rbac.authorization.k8s.io/aggregate-to-view: "true" + rbac.authorization.k8s.io/aggregate-to-edit: "true" + rbac.authorization.k8s.io/aggregate-to-admin: "true" + - apiGroups: ["certmanager.k8s.io"] + resources: ["certificates", "certificaterequests", "issuers"] + verbs: ["get", "list", "watch"] +apiVersion: rbac.authorization.k8s.io/v1 + name: cert-manager-edit + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + rbac.authorization.k8s.io/aggregate-to-edit: "true" + rbac.authorization.k8s.io/aggregate-to-admin: "true" + - apiGroups: ["certmanager.k8s.io"] + resources: ["certificates", "certificaterequests", "issuers"] + verbs: ["create", "delete", "deletecollection", "patch", "update"] +# Source: cert-manager/charts/webhook/templates/rbac.yaml +# apiserver gets the auth-delegator role to delegate auth decisions to +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding + name: cert-manager-webhook:auth-delegator + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: webhook-v0.9.1 + apiGroup: rbac.authorization.k8s.io + name: system:auth-delegator + name: cert-manager-webhook + namespace: cert-manager +# apiserver gets the ability to read authentication. This allows it to +# read the specific configmap that has the requestheader-* entries to +apiVersion: rbac.authorization.k8s.io/v1beta1 + name: cert-manager-webhook:webhook-authentication-reader + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: webhook-v0.9.1 + apiGroup: rbac.authorization.k8s.io + name: extension-apiserver-authentication-reader + name: cert-manager-webhook + namespace: cert-manager +apiVersion: rbac.authorization.k8s.io/v1 + name: cert-manager-webhook:webhook-requester + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: webhook-v0.9.1 + - admission.certmanager.k8s.io +# Source: cert-manager/charts/webhook/templates/service.yaml + name: cert-manager-webhook + namespace: "cert-manager" + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: webhook-v0.9.1 + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller +# Source: cert-manager/charts/cainjector/templates/deployment.yaml + name: cert-manager-cainjector + namespace: "cert-manager" + app.kubernetes.io/name: cainjector + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cainjector-v0.9.1 + app.kubernetes.io/name: cainjector + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + app.kubernetes.io/name: cainjector + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cainjector-v0.9.1 + serviceAccountName: cert-manager-cainjector + image: "quay.io/jetstack/cert-manager-cainjector:v0.9.1" + imagePullPolicy: IfNotPresent + - --leader-election-namespace=$(POD_NAMESPACE) + fieldPath: metadata.namespace +# Source: cert-manager/charts/webhook/templates/deployment.yaml + name: cert-manager-webhook + namespace: "cert-manager" + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: webhook-v0.9.1 + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: webhook-v0.9.1 + serviceAccountName: cert-manager-webhook + image: "quay.io/jetstack/cert-manager-webhook:v0.9.1" + imagePullPolicy: IfNotPresent + - --tls-cert-file=/certs/tls.crt + - --tls-private-key-file=/certs/tls.key + fieldPath: metadata.namespace + secretName: cert-manager-webhook-webhook-tls +# Source: cert-manager/templates/deployment.yaml
+ namespace: "cert-manager" + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + app.kubernetes.io/name: cert-manager + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: cert-manager-v0.9.1 + prometheus.io/path: "/metrics" + prometheus.io/scrape: 'true' + prometheus.io/port: '9402' serviceAccountName: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v0.5.0"
+ image: "quay.io/jetstack/cert-manager-controller:v0.9.1" imagePullPolicy: IfNotPresent
- - --cluster-resource-namespace=$(POD_NAMESPACE)
- - --leader-election-namespace=$(POD_NAMESPACE)
+ - --cluster-resource-namespace=$(POD_NAMESPACE) + - --leader-election-namespace=$(POD_NAMESPACE)
- fieldPath: metadata.namespace
+ fieldPath: metadata.namespace +# Source: cert-manager/charts/webhook/templates/apiservice.yaml +apiVersion: apiregistration.k8s.io/v1beta1 + name: v1beta1.admission.certmanager.k8s.io + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: webhook-v0.9.1 + certmanager.k8s.io/inject-ca-from: "cert-manager/cert-manager-webhook-webhook-tls" + group: admission.certmanager.k8s.io + groupPriorityMinimum: 1000 + name: cert-manager-webhook + namespace: "cert-manager" +# Source: cert-manager/charts/webhook/templates/pki.yaml +# Create a selfsigned Issuer, in order to create a root CA certificate for +# signing webhook serving certificates +apiVersion: certmanager.k8s.io/v1alpha1 + name: cert-manager-webhook-selfsign + namespace: "cert-manager" + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: webhook-v0.9.1 +# Generate a CA Certificate used to sign certificates for the webhook +apiVersion: certmanager.k8s.io/v1alpha1 + name: cert-manager-webhook-ca + namespace: "cert-manager" + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: webhook-v0.9.1 + secretName: cert-manager-webhook-ca + name: cert-manager-webhook-selfsign + commonName: "ca.webhook.cert-manager" +# Create an Issuer that uses the above generated CA certificate to issue certs +apiVersion: certmanager.k8s.io/v1alpha1 + name: cert-manager-webhook-ca + namespace: "cert-manager" + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: webhook-v0.9.1 + secretName: cert-manager-webhook-ca +# Finally, generate a serving certificate for the webhook to use +apiVersion: certmanager.k8s.io/v1alpha1 + name: cert-manager-webhook-webhook-tls + namespace: "cert-manager" + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: webhook-v0.9.1 + secretName: cert-manager-webhook-webhook-tls + name: cert-manager-webhook-ca + - cert-manager-webhook.cert-manager + - cert-manager-webhook.cert-manager.svc +# Source: cert-manager/templates/servicemonitor.yaml +# Source: cert-manager/charts/webhook/templates/validating-webhook.yaml +apiVersion: admissionregistration.k8s.io/v1beta1 +kind: ValidatingWebhookConfiguration + name: cert-manager-webhook + app.kubernetes.io/name: webhook + app.kubernetes.io/instance: cert-manager + app.kubernetes.io/managed-by: Tiller + helm.sh/chart: webhook-v0.9.1 + certmanager.k8s.io/inject-apiserver-ca: "true" + - name: certificates.admission.certmanager.k8s.io + - key: "certmanager.k8s.io/disable-validation" + path: /apis/admission.certmanager.k8s.io/v1beta1/certificates + - name: issuers.admission.certmanager.k8s.io + - key: "certmanager.k8s.io/disable-validation" + path: /apis/admission.certmanager.k8s.io/v1beta1/issuers + - name: clusterissuers.admission.certmanager.k8s.io + - key: "certmanager.k8s.io/disable-validation" + path: /apis/admission.certmanager.k8s.io/v1beta1/clusterissuers