You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

6361 lines
363 KiB

3 years ago
  1. ---
  2. apiVersion: apiextensions.k8s.io/v1beta1
  3. kind: CustomResourceDefinition
  4. metadata:
  5. creationTimestamp: null
  6. name: challenges.acme.cert-manager.io
  7. spec:
  8. additionalPrinterColumns:
  9. - JSONPath: .status.state
  10. name: State
  11. type: string
  12. - JSONPath: .spec.dnsName
  13. name: Domain
  14. type: string
  15. - JSONPath: .status.reason
  16. name: Reason
  17. priority: 1
  18. type: string
  19. - JSONPath: .metadata.creationTimestamp
  20. description: CreationTimestamp is a timestamp representing the server time when
  21. this object was created. It is not guaranteed to be set in happens-before order
  22. across separate operations. Clients may not set this value. It is represented
  23. in RFC3339 form and is in UTC.
  24. name: Age
  25. type: date
  26. group: acme.cert-manager.io
  27. names:
  28. kind: Challenge
  29. listKind: ChallengeList
  30. plural: challenges
  31. singular: challenge
  32. scope: Namespaced
  33. subresources:
  34. status: {}
  35. validation:
  36. openAPIV3Schema:
  37. description: Challenge is a type to represent a Challenge request with an ACME
  38. server
  39. properties:
  40. apiVersion:
  41. description: 'APIVersion defines the versioned schema of this representation
  42. of an object. Servers should convert recognized schemas to the latest
  43. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  44. type: string
  45. kind:
  46. description: 'Kind is a string value representing the REST resource this
  47. object represents. Servers may infer this from the endpoint the client
  48. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  49. type: string
  50. metadata:
  51. type: object
  52. spec:
  53. properties:
  54. authzURL:
  55. description: AuthzURL is the URL to the ACME Authorization resource
  56. that this challenge is a part of.
  57. type: string
  58. dnsName:
  59. description: DNSName is the identifier that this challenge is for, e.g.
  60. example.com.
  61. type: string
  62. issuerRef:
  63. description: IssuerRef references a properly configured ACME-type Issuer
  64. which should be used to create this Challenge. If the Issuer does
  65. not exist, processing will be retried. If the Issuer is not an 'ACME'
  66. Issuer, an error will be returned and the Challenge will be marked
  67. as failed.
  68. properties:
  69. group:
  70. type: string
  71. kind:
  72. type: string
  73. name:
  74. type: string
  75. required:
  76. - name
  77. type: object
  78. key:
  79. description: Key is the ACME challenge key for this challenge
  80. type: string
  81. solver:
  82. description: Solver contains the domain solving configuration that should
  83. be used to solve this challenge resource. Only **one** of 'config'
  84. or 'solver' may be specified, and if both are specified then no action
  85. will be performed on the Challenge resource.
  86. properties:
  87. dns01:
  88. properties:
  89. acmedns:
  90. description: ACMEIssuerDNS01ProviderAcmeDNS is a structure containing
  91. the configuration for ACME-DNS servers
  92. properties:
  93. accountSecretRef:
  94. properties:
  95. key:
  96. description: The key of the secret to select from. Must
  97. be a valid secret key.
  98. type: string
  99. name:
  100. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  101. TODO: Add other useful fields. apiVersion, kind, uid?'
  102. type: string
  103. required:
  104. - name
  105. type: object
  106. host:
  107. type: string
  108. required:
  109. - accountSecretRef
  110. - host
  111. type: object
  112. akamai:
  113. description: ACMEIssuerDNS01ProviderAkamai is a structure containing
  114. the DNS configuration for Akamai DNS—Zone Record Management
  115. API
  116. properties:
  117. accessTokenSecretRef:
  118. properties:
  119. key:
  120. description: The key of the secret to select from. Must
  121. be a valid secret key.
  122. type: string
  123. name:
  124. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  125. TODO: Add other useful fields. apiVersion, kind, uid?'
  126. type: string
  127. required:
  128. - name
  129. type: object
  130. clientSecretSecretRef:
  131. properties:
  132. key:
  133. description: The key of the secret to select from. Must
  134. be a valid secret key.
  135. type: string
  136. name:
  137. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  138. TODO: Add other useful fields. apiVersion, kind, uid?'
  139. type: string
  140. required:
  141. - name
  142. type: object
  143. clientTokenSecretRef:
  144. properties:
  145. key:
  146. description: The key of the secret to select from. Must
  147. be a valid secret key.
  148. type: string
  149. name:
  150. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  151. TODO: Add other useful fields. apiVersion, kind, uid?'
  152. type: string
  153. required:
  154. - name
  155. type: object
  156. serviceConsumerDomain:
  157. type: string
  158. required:
  159. - accessTokenSecretRef
  160. - clientSecretSecretRef
  161. - clientTokenSecretRef
  162. - serviceConsumerDomain
  163. type: object
  164. azuredns:
  165. description: ACMEIssuerDNS01ProviderAzureDNS is a structure
  166. containing the configuration for Azure DNS
  167. properties:
  168. clientID:
  169. type: string
  170. clientSecretSecretRef:
  171. properties:
  172. key:
  173. description: The key of the secret to select from. Must
  174. be a valid secret key.
  175. type: string
  176. name:
  177. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  178. TODO: Add other useful fields. apiVersion, kind, uid?'
  179. type: string
  180. required:
  181. - name
  182. type: object
  183. environment:
  184. enum:
  185. - AzurePublicCloud
  186. - AzureChinaCloud
  187. - AzureGermanCloud
  188. - AzureUSGovernmentCloud
  189. type: string
  190. hostedZoneName:
  191. type: string
  192. resourceGroupName:
  193. type: string
  194. subscriptionID:
  195. type: string
  196. tenantID:
  197. type: string
  198. required:
  199. - clientID
  200. - clientSecretSecretRef
  201. - resourceGroupName
  202. - subscriptionID
  203. - tenantID
  204. type: object
  205. clouddns:
  206. description: ACMEIssuerDNS01ProviderCloudDNS is a structure
  207. containing the DNS configuration for Google Cloud DNS
  208. properties:
  209. project:
  210. type: string
  211. serviceAccountSecretRef:
  212. properties:
  213. key:
  214. description: The key of the secret to select from. Must
  215. be a valid secret key.
  216. type: string
  217. name:
  218. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  219. TODO: Add other useful fields. apiVersion, kind, uid?'
  220. type: string
  221. required:
  222. - name
  223. type: object
  224. required:
  225. - project
  226. - serviceAccountSecretRef
  227. type: object
  228. cloudflare:
  229. description: ACMEIssuerDNS01ProviderCloudflare is a structure
  230. containing the DNS configuration for Cloudflare
  231. properties:
  232. apiKeySecretRef:
  233. properties:
  234. key:
  235. description: The key of the secret to select from. Must
  236. be a valid secret key.
  237. type: string
  238. name:
  239. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  240. TODO: Add other useful fields. apiVersion, kind, uid?'
  241. type: string
  242. required:
  243. - name
  244. type: object
  245. email:
  246. type: string
  247. required:
  248. - apiKeySecretRef
  249. - email
  250. type: object
  251. cnameStrategy:
  252. description: CNAMEStrategy configures how the DNS01 provider
  253. should handle CNAME records when found in DNS zones.
  254. enum:
  255. - None
  256. - Follow
  257. type: string
  258. digitalocean:
  259. description: ACMEIssuerDNS01ProviderDigitalOcean is a structure
  260. containing the DNS configuration for DigitalOcean Domains
  261. properties:
  262. tokenSecretRef:
  263. properties:
  264. key:
  265. description: The key of the secret to select from. Must
  266. be a valid secret key.
  267. type: string
  268. name:
  269. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  270. TODO: Add other useful fields. apiVersion, kind, uid?'
  271. type: string
  272. required:
  273. - name
  274. type: object
  275. required:
  276. - tokenSecretRef
  277. type: object
  278. rfc2136:
  279. description: ACMEIssuerDNS01ProviderRFC2136 is a structure containing
  280. the configuration for RFC2136 DNS
  281. properties:
  282. nameserver:
  283. description: 'The IP address of the DNS supporting RFC2136.
  284. Required. Note: FQDN is not a valid value, only IP.'
  285. type: string
  286. tsigAlgorithm:
  287. description: 'The TSIG Algorithm configured in the DNS supporting
  288. RFC2136. Used only when ``tsigSecretSecretRef`` and ``tsigKeyName``
  289. are defined. Supported values are (case-insensitive):
  290. ``HMACMD5`` (default), ``HMACSHA1``, ``HMACSHA256`` or
  291. ``HMACSHA512``.'
  292. type: string
  293. tsigKeyName:
  294. description: The TSIG Key name configured in the DNS. If
  295. ``tsigSecretSecretRef`` is defined, this field is required.
  296. type: string
  297. tsigSecretSecretRef:
  298. description: The name of the secret containing the TSIG
  299. value. If ``tsigKeyName`` is defined, this field is required.
  300. properties:
  301. key:
  302. description: The key of the secret to select from. Must
  303. be a valid secret key.
  304. type: string
  305. name:
  306. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  307. TODO: Add other useful fields. apiVersion, kind, uid?'
  308. type: string
  309. required:
  310. - name
  311. type: object
  312. required:
  313. - nameserver
  314. type: object
  315. route53:
  316. description: ACMEIssuerDNS01ProviderRoute53 is a structure containing
  317. the Route 53 configuration for AWS
  318. properties:
  319. accessKeyID:
  320. description: 'The AccessKeyID is used for authentication.
  321. If not set we fall-back to using env vars, shared credentials
  322. file or AWS Instance metadata see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  323. type: string
  324. hostedZoneID:
  325. description: If set, the provider will manage only this
  326. zone in Route53 and will not do an lookup using the route53:ListHostedZonesByName
  327. api call.
  328. type: string
  329. region:
  330. description: Always set the region when using AccessKeyID
  331. and SecretAccessKey
  332. type: string
  333. role:
  334. description: Role is a Role ARN which the Route53 provider
  335. will assume using either the explicit credentials AccessKeyID/SecretAccessKey
  336. or the inferred credentials from environment variables,
  337. shared credentials file or AWS Instance metadata
  338. type: string
  339. secretAccessKeySecretRef:
  340. description: The SecretAccessKey is used for authentication.
  341. If not set we fall-back to using env vars, shared credentials
  342. file or AWS Instance metadata https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  343. properties:
  344. key:
  345. description: The key of the secret to select from. Must
  346. be a valid secret key.
  347. type: string
  348. name:
  349. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  350. TODO: Add other useful fields. apiVersion, kind, uid?'
  351. type: string
  352. required:
  353. - name
  354. type: object
  355. required:
  356. - region
  357. type: object
  358. webhook:
  359. description: ACMEIssuerDNS01ProviderWebhook specifies configuration
  360. for a webhook DNS01 provider, including where to POST ChallengePayload
  361. resources.
  362. properties:
  363. config:
  364. description: Additional configuration that should be passed
  365. to the webhook apiserver when challenges are processed.
  366. This can contain arbitrary JSON data. Secret values should
  367. not be specified in this stanza. If secret values are
  368. needed (e.g. credentials for a DNS service), you should
  369. use a SecretKeySelector to reference a Secret resource.
  370. For details on the schema of this field, consult the webhook
  371. provider implementation's documentation.
  372. x-kubernetes-preserve-unknown-fields: true
  373. groupName:
  374. description: The API group name that should be used when
  375. POSTing ChallengePayload resources to the webhook apiserver.
  376. This should be the same as the GroupName specified in
  377. the webhook provider implementation.
  378. type: string
  379. solverName:
  380. description: The name of the solver to use, as defined in
  381. the webhook provider implementation. This will typically
  382. be the name of the provider, e.g. 'cloudflare'.
  383. type: string
  384. required:
  385. - groupName
  386. - solverName
  387. type: object
  388. type: object
  389. http01:
  390. description: ACMEChallengeSolverHTTP01 contains configuration detailing
  391. how to solve HTTP01 challenges within a Kubernetes cluster. Typically
  392. this is accomplished through creating 'routes' of some description
  393. that configure ingress controllers to direct traffic to 'solver
  394. pods', which are responsible for responding to the ACME server's
  395. HTTP requests.
  396. properties:
  397. ingress:
  398. description: The ingress based HTTP01 challenge solver will
  399. solve challenges by creating or modifying Ingress resources
  400. in order to route requests for '/.well-known/acme-challenge/XYZ'
  401. to 'challenge solver' pods that are provisioned by cert-manager
  402. for each Challenge to be completed.
  403. properties:
  404. class:
  405. description: The ingress class to use when creating Ingress
  406. resources to solve ACME challenges that use this challenge
  407. solver. Only one of 'class' or 'name' may be specified.
  408. type: string
  409. name:
  410. description: The name of the ingress resource that should
  411. have ACME challenge solving routes inserted into it in
  412. order to solve HTTP01 challenges. This is typically used
  413. in conjunction with ingress controllers like ingress-gce,
  414. which maintains a 1:1 mapping between external IPs and
  415. ingress resources.
  416. type: string
  417. podTemplate:
  418. description: Optional pod template used to configure the
  419. ACME challenge solver pods used for HTTP01 challenges
  420. properties:
  421. metadata:
  422. description: ObjectMeta overrides for the pod used to
  423. solve HTTP01 challenges. Only the 'labels' and 'annotations'
  424. fields may be set. If labels or annotations overlap
  425. with in-built values, the values here will override
  426. the in-built values.
  427. type: object
  428. spec:
  429. description: PodSpec defines overrides for the HTTP01
  430. challenge solver pod. Only the 'nodeSelector', 'affinity'
  431. and 'tolerations' fields are supported currently.
  432. All other fields will be ignored.
  433. properties:
  434. affinity:
  435. description: If specified, the pod's scheduling
  436. constraints
  437. properties:
  438. nodeAffinity:
  439. description: Describes node affinity scheduling
  440. rules for the pod.
  441. properties:
  442. preferredDuringSchedulingIgnoredDuringExecution:
  443. description: The scheduler will prefer to
  444. schedule pods to nodes that satisfy the
  445. affinity expressions specified by this
  446. field, but it may choose a node that violates
  447. one or more of the expressions. The node
  448. that is most preferred is the one with
  449. the greatest sum of weights, i.e. for
  450. each node that meets all of the scheduling
  451. requirements (resource request, requiredDuringScheduling
  452. affinity expressions, etc.), compute a
  453. sum by iterating through the elements
  454. of this field and adding "weight" to the
  455. sum if the node matches the corresponding
  456. matchExpressions; the node(s) with the
  457. highest sum are the most preferred.
  458. items:
  459. description: An empty preferred scheduling
  460. term matches all objects with implicit
  461. weight 0 (i.e. it's a no-op). A null
  462. preferred scheduling term matches no
  463. objects (i.e. is also a no-op).
  464. properties:
  465. preference:
  466. description: A node selector term,
  467. associated with the corresponding
  468. weight.
  469. properties:
  470. matchExpressions:
  471. description: A list of node selector
  472. requirements by node's labels.
  473. items:
  474. description: A node selector
  475. requirement is a selector
  476. that contains values, a key,
  477. and an operator that relates
  478. the key and values.
  479. properties:
  480. key:
  481. description: The label key
  482. that the selector applies
  483. to.
  484. type: string
  485. operator:
  486. description: Represents
  487. a key's relationship to
  488. a set of values. Valid
  489. operators are In, NotIn,
  490. Exists, DoesNotExist.
  491. Gt, and Lt.
  492. type: string
  493. values:
  494. description: An array of
  495. string values. If the
  496. operator is In or NotIn,
  497. the values array must
  498. be non-empty. If the operator
  499. is Exists or DoesNotExist,
  500. the values array must
  501. be empty. If the operator
  502. is Gt or Lt, the values
  503. array must have a single
  504. element, which will be
  505. interpreted as an integer.
  506. This array is replaced
  507. during a strategic merge
  508. patch.
  509. items:
  510. type: string
  511. type: array
  512. required:
  513. - key
  514. - operator
  515. type: object
  516. type: array
  517. matchFields:
  518. description: A list of node selector
  519. requirements by node's fields.
  520. items:
  521. description: A node selector
  522. requirement is a selector
  523. that contains values, a key,
  524. and an operator that relates
  525. the key and values.
  526. properties:
  527. key:
  528. description: The label key
  529. that the selector applies
  530. to.
  531. type: string
  532. operator:
  533. description: Represents
  534. a key's relationship to
  535. a set of values. Valid
  536. operators are In, NotIn,
  537. Exists, DoesNotExist.
  538. Gt, and Lt.
  539. type: string
  540. values:
  541. description: An array of
  542. string values. If the
  543. operator is In or NotIn,
  544. the values array must
  545. be non-empty. If the operator
  546. is Exists or DoesNotExist,
  547. the values array must
  548. be empty. If the operator
  549. is Gt or Lt, the values
  550. array must have a single
  551. element, which will be
  552. interpreted as an integer.
  553. This array is replaced
  554. during a strategic merge
  555. patch.
  556. items:
  557. type: string
  558. type: array
  559. required:
  560. - key
  561. - operator
  562. type: object
  563. type: array
  564. type: object
  565. weight:
  566. description: Weight associated with
  567. matching the corresponding nodeSelectorTerm,
  568. in the range 1-100.
  569. format: int32
  570. type: integer
  571. required:
  572. - preference
  573. - weight
  574. type: object
  575. type: array
  576. requiredDuringSchedulingIgnoredDuringExecution:
  577. description: If the affinity requirements
  578. specified by this field are not met at
  579. scheduling time, the pod will not be scheduled
  580. onto the node. If the affinity requirements
  581. specified by this field cease to be met
  582. at some point during pod execution (e.g.
  583. due to an update), the system may or may
  584. not try to eventually evict the pod from
  585. its node.
  586. properties:
  587. nodeSelectorTerms:
  588. description: Required. A list of node
  589. selector terms. The terms are ORed.
  590. items:
  591. description: A null or empty node
  592. selector term matches no objects.
  593. The requirements of them are ANDed.
  594. The TopologySelectorTerm type implements
  595. a subset of the NodeSelectorTerm.
  596. properties:
  597. matchExpressions:
  598. description: A list of node selector
  599. requirements by node's labels.
  600. items:
  601. description: A node selector
  602. requirement is a selector
  603. that contains values, a key,
  604. and an operator that relates
  605. the key and values.
  606. properties:
  607. key:
  608. description: The label key
  609. that the selector applies
  610. to.
  611. type: string
  612. operator:
  613. description: Represents
  614. a key's relationship to
  615. a set of values. Valid
  616. operators are In, NotIn,
  617. Exists, DoesNotExist.
  618. Gt, and Lt.
  619. type: string
  620. values:
  621. description: An array of
  622. string values. If the
  623. operator is In or NotIn,
  624. the values array must
  625. be non-empty. If the operator
  626. is Exists or DoesNotExist,
  627. the values array must
  628. be empty. If the operator
  629. is Gt or Lt, the values
  630. array must have a single
  631. element, which will be
  632. interpreted as an integer.
  633. This array is replaced
  634. during a strategic merge
  635. patch.
  636. items:
  637. type: string
  638. type: array
  639. required:
  640. - key
  641. - operator
  642. type: object
  643. type: array
  644. matchFields:
  645. description: A list of node selector
  646. requirements by node's fields.
  647. items:
  648. description: A node selector
  649. requirement is a selector
  650. that contains values, a key,
  651. and an operator that relates
  652. the key and values.
  653. properties:
  654. key:
  655. description: The label key
  656. that the selector applies
  657. to.
  658. type: string
  659. operator:
  660. description: Represents
  661. a key's relationship to
  662. a set of values. Valid
  663. operators are In, NotIn,
  664. Exists, DoesNotExist.
  665. Gt, and Lt.
  666. type: string
  667. values:
  668. description: An array of
  669. string values. If the
  670. operator is In or NotIn,
  671. the values array must
  672. be non-empty. If the operator
  673. is Exists or DoesNotExist,
  674. the values array must
  675. be empty. If the operator
  676. is Gt or Lt, the values
  677. array must have a single
  678. element, which will be
  679. interpreted as an integer.
  680. This array is replaced
  681. during a strategic merge
  682. patch.
  683. items:
  684. type: string
  685. type: array
  686. required:
  687. - key
  688. - operator
  689. type: object
  690. type: array
  691. type: object
  692. type: array
  693. required:
  694. - nodeSelectorTerms
  695. type: object
  696. type: object
  697. podAffinity:
  698. description: Describes pod affinity scheduling
  699. rules (e.g. co-locate this pod in the same
  700. node, zone, etc. as some other pod(s)).
  701. properties:
  702. preferredDuringSchedulingIgnoredDuringExecution:
  703. description: The scheduler will prefer to
  704. schedule pods to nodes that satisfy the
  705. affinity expressions specified by this
  706. field, but it may choose a node that violates
  707. one or more of the expressions. The node
  708. that is most preferred is the one with
  709. the greatest sum of weights, i.e. for
  710. each node that meets all of the scheduling
  711. requirements (resource request, requiredDuringScheduling
  712. affinity expressions, etc.), compute a
  713. sum by iterating through the elements
  714. of this field and adding "weight" to the
  715. sum if the node has pods which matches
  716. the corresponding podAffinityTerm; the
  717. node(s) with the highest sum are the most
  718. preferred.
  719. items:
  720. description: The weights of all of the
  721. matched WeightedPodAffinityTerm fields
  722. are added per-node to find the most
  723. preferred node(s)
  724. properties:
  725. podAffinityTerm:
  726. description: Required. A pod affinity
  727. term, associated with the corresponding
  728. weight.
  729. properties:
  730. labelSelector:
  731. description: A label query over
  732. a set of resources, in this
  733. case pods.
  734. properties:
  735. matchExpressions:
  736. description: matchExpressions
  737. is a list of label selector
  738. requirements. The requirements
  739. are ANDed.
  740. items:
  741. description: A label selector
  742. requirement is a selector
  743. that contains values,
  744. a key, and an operator
  745. that relates the key and
  746. values.
  747. properties:
  748. key:
  749. description: key is
  750. the label key that
  751. the selector applies
  752. to.
  753. type: string
  754. operator:
  755. description: operator
  756. represents a key's
  757. relationship to a
  758. set of values. Valid
  759. operators are In,
  760. NotIn, Exists and
  761. DoesNotExist.
  762. type: string
  763. values:
  764. description: values
  765. is an array of string
  766. values. If the operator
  767. is In or NotIn, the
  768. values array must
  769. be non-empty. If the
  770. operator is Exists
  771. or DoesNotExist, the
  772. values array must
  773. be empty. This array
  774. is replaced during
  775. a strategic merge
  776. patch.
  777. items:
  778. type: string
  779. type: array
  780. required:
  781. - key
  782. - operator
  783. type: object
  784. type: array
  785. matchLabels:
  786. additionalProperties:
  787. type: string
  788. description: matchLabels is
  789. a map of {key,value} pairs.
  790. A single {key,value} in
  791. the matchLabels map is equivalent
  792. to an element of matchExpressions,
  793. whose key field is "key",
  794. the operator is "In", and
  795. the values array contains
  796. only "value". The requirements
  797. are ANDed.
  798. type: object
  799. type: object
  800. namespaces:
  801. description: namespaces specifies
  802. which namespaces the labelSelector
  803. applies to (matches against);
  804. null or empty list means "this
  805. pod's namespace"
  806. items:
  807. type: string
  808. type: array
  809. topologyKey:
  810. description: This pod should be
  811. co-located (affinity) or not
  812. co-located (anti-affinity) with
  813. the pods matching the labelSelector
  814. in the specified namespaces,
  815. where co-located is defined
  816. as running on a node whose value
  817. of the label with key topologyKey
  818. matches that of any node on
  819. which any of the selected pods
  820. is running. Empty topologyKey
  821. is not allowed.
  822. type: string
  823. required:
  824. - topologyKey
  825. type: object
  826. weight:
  827. description: weight associated with
  828. matching the corresponding podAffinityTerm,
  829. in the range 1-100.
  830. format: int32
  831. type: integer
  832. required:
  833. - podAffinityTerm
  834. - weight
  835. type: object
  836. type: array
  837. requiredDuringSchedulingIgnoredDuringExecution:
  838. description: If the affinity requirements
  839. specified by this field are not met at
  840. scheduling time, the pod will not be scheduled
  841. onto the node. If the affinity requirements
  842. specified by this field cease to be met
  843. at some point during pod execution (e.g.
  844. due to a pod label update), the system
  845. may or may not try to eventually evict
  846. the pod from its node. When there are
  847. multiple elements, the lists of nodes
  848. corresponding to each podAffinityTerm
  849. are intersected, i.e. all terms must be
  850. satisfied.
  851. items:
  852. description: Defines a set of pods (namely
  853. those matching the labelSelector relative
  854. to the given namespace(s)) that this
  855. pod should be co-located (affinity)
  856. or not co-located (anti-affinity) with,
  857. where co-located is defined as running
  858. on a node whose value of the label with
  859. key <topologyKey> matches that of any
  860. node on which a pod of the set of pods
  861. is running
  862. properties:
  863. labelSelector:
  864. description: A label query over a
  865. set of resources, in this case pods.
  866. properties:
  867. matchExpressions:
  868. description: matchExpressions
  869. is a list of label selector
  870. requirements. The requirements
  871. are ANDed.
  872. items:
  873. description: A label selector
  874. requirement is a selector
  875. that contains values, a key,
  876. and an operator that relates
  877. the key and values.
  878. properties:
  879. key:
  880. description: key is the
  881. label key that the selector
  882. applies to.
  883. type: string
  884. operator:
  885. description: operator represents
  886. a key's relationship to
  887. a set of values. Valid
  888. operators are In, NotIn,
  889. Exists and DoesNotExist.
  890. type: string
  891. values:
  892. description: values is an
  893. array of string values.
  894. If the operator is In
  895. or NotIn, the values array
  896. must be non-empty. If
  897. the operator is Exists
  898. or DoesNotExist, the values
  899. array must be empty. This
  900. array is replaced during
  901. a strategic merge patch.
  902. items:
  903. type: string
  904. type: array
  905. required:
  906. - key
  907. - operator
  908. type: object
  909. type: array
  910. matchLabels:
  911. additionalProperties:
  912. type: string
  913. description: matchLabels is a
  914. map of {key,value} pairs. A
  915. single {key,value} in the matchLabels
  916. map is equivalent to an element
  917. of matchExpressions, whose key
  918. field is "key", the operator
  919. is "In", and the values array
  920. contains only "value". The requirements
  921. are ANDed.
  922. type: object
  923. type: object
  924. namespaces:
  925. description: namespaces specifies
  926. which namespaces the labelSelector
  927. applies to (matches against); null
  928. or empty list means "this pod's
  929. namespace"
  930. items:
  931. type: string
  932. type: array
  933. topologyKey:
  934. description: This pod should be co-located
  935. (affinity) or not co-located (anti-affinity)
  936. with the pods matching the labelSelector
  937. in the specified namespaces, where
  938. co-located is defined as running
  939. on a node whose value of the label
  940. with key topologyKey matches that
  941. of any node on which any of the
  942. selected pods is running. Empty
  943. topologyKey is not allowed.
  944. type: string
  945. required:
  946. - topologyKey
  947. type: object
  948. type: array
  949. type: object
  950. podAntiAffinity:
  951. description: Describes pod anti-affinity scheduling
  952. rules (e.g. avoid putting this pod in the
  953. same node, zone, etc. as some other pod(s)).
  954. properties:
  955. preferredDuringSchedulingIgnoredDuringExecution:
  956. description: The scheduler will prefer to
  957. schedule pods to nodes that satisfy the
  958. anti-affinity expressions specified by
  959. this field, but it may choose a node that
  960. violates one or more of the expressions.
  961. The node that is most preferred is the
  962. one with the greatest sum of weights,
  963. i.e. for each node that meets all of the
  964. scheduling requirements (resource request,
  965. requiredDuringScheduling anti-affinity
  966. expressions, etc.), compute a sum by iterating
  967. through the elements of this field and
  968. adding "weight" to the sum if the node
  969. has pods which matches the corresponding
  970. podAffinityTerm; the node(s) with the
  971. highest sum are the most preferred.
  972. items:
  973. description: The weights of all of the
  974. matched WeightedPodAffinityTerm fields
  975. are added per-node to find the most
  976. preferred node(s)
  977. properties:
  978. podAffinityTerm:
  979. description: Required. A pod affinity
  980. term, associated with the corresponding
  981. weight.
  982. properties:
  983. labelSelector:
  984. description: A label query over
  985. a set of resources, in this
  986. case pods.
  987. properties:
  988. matchExpressions:
  989. description: matchExpressions
  990. is a list of label selector
  991. requirements. The requirements
  992. are ANDed.
  993. items:
  994. description: A label selector
  995. requirement is a selector
  996. that contains values,
  997. a key, and an operator
  998. that relates the key and
  999. values.
  1000. properties:
  1001. key:
  1002. description: key is
  1003. the label key that
  1004. the selector applies
  1005. to.
  1006. type: string
  1007. operator:
  1008. description: operator
  1009. represents a key's
  1010. relationship to a
  1011. set of values. Valid
  1012. operators are In,
  1013. NotIn, Exists and
  1014. DoesNotExist.
  1015. type: string
  1016. values:
  1017. description: values
  1018. is an array of string
  1019. values. If the operator
  1020. is In or NotIn, the
  1021. values array must
  1022. be non-empty. If the
  1023. operator is Exists
  1024. or DoesNotExist, the
  1025. values array must
  1026. be empty. This array
  1027. is replaced during
  1028. a strategic merge
  1029. patch.
  1030. items:
  1031. type: string
  1032. type: array
  1033. required:
  1034. - key
  1035. - operator
  1036. type: object
  1037. type: array
  1038. matchLabels:
  1039. additionalProperties:
  1040. type: string
  1041. description: matchLabels is
  1042. a map of {key,value} pairs.
  1043. A single {key,value} in
  1044. the matchLabels map is equivalent
  1045. to an element of matchExpressions,
  1046. whose key field is "key",
  1047. the operator is "In", and
  1048. the values array contains
  1049. only "value". The requirements
  1050. are ANDed.
  1051. type: object
  1052. type: object
  1053. namespaces:
  1054. description: namespaces specifies
  1055. which namespaces the labelSelector
  1056. applies to (matches against);
  1057. null or empty list means "this
  1058. pod's namespace"
  1059. items:
  1060. type: string
  1061. type: array
  1062. topologyKey:
  1063. description: This pod should be
  1064. co-located (affinity) or not
  1065. co-located (anti-affinity) with
  1066. the pods matching the labelSelector
  1067. in the specified namespaces,
  1068. where co-located is defined
  1069. as running on a node whose value
  1070. of the label with key topologyKey
  1071. matches that of any node on
  1072. which any of the selected pods
  1073. is running. Empty topologyKey
  1074. is not allowed.
  1075. type: string
  1076. required:
  1077. - topologyKey
  1078. type: object
  1079. weight:
  1080. description: weight associated with
  1081. matching the corresponding podAffinityTerm,
  1082. in the range 1-100.
  1083. format: int32
  1084. type: integer
  1085. required:
  1086. - podAffinityTerm
  1087. - weight
  1088. type: object
  1089. type: array
  1090. requiredDuringSchedulingIgnoredDuringExecution:
  1091. description: If the anti-affinity requirements
  1092. specified by this field are not met at
  1093. scheduling time, the pod will not be scheduled
  1094. onto the node. If the anti-affinity requirements
  1095. specified by this field cease to be met
  1096. at some point during pod execution (e.g.
  1097. due to a pod label update), the system
  1098. may or may not try to eventually evict
  1099. the pod from its node. When there are
  1100. multiple elements, the lists of nodes
  1101. corresponding to each podAffinityTerm
  1102. are intersected, i.e. all terms must be
  1103. satisfied.
  1104. items:
  1105. description: Defines a set of pods (namely
  1106. those matching the labelSelector relative
  1107. to the given namespace(s)) that this
  1108. pod should be co-located (affinity)
  1109. or not co-located (anti-affinity) with,
  1110. where co-located is defined as running
  1111. on a node whose value of the label with
  1112. key <topologyKey> matches that of any
  1113. node on which a pod of the set of pods
  1114. is running
  1115. properties:
  1116. labelSelector:
  1117. description: A label query over a
  1118. set of resources, in this case pods.
  1119. properties:
  1120. matchExpressions:
  1121. description: matchExpressions
  1122. is a list of label selector
  1123. requirements. The requirements
  1124. are ANDed.
  1125. items:
  1126. description: A label selector
  1127. requirement is a selector
  1128. that contains values, a key,
  1129. and an operator that relates
  1130. the key and values.
  1131. properties:
  1132. key:
  1133. description: key is the
  1134. label key that the selector
  1135. applies to.
  1136. type: string
  1137. operator:
  1138. description: operator represents
  1139. a key's relationship to
  1140. a set of values. Valid
  1141. operators are In, NotIn,
  1142. Exists and DoesNotExist.
  1143. type: string
  1144. values:
  1145. description: values is an
  1146. array of string values.
  1147. If the operator is In
  1148. or NotIn, the values array
  1149. must be non-empty. If
  1150. the operator is Exists
  1151. or DoesNotExist, the values
  1152. array must be empty. This
  1153. array is replaced during
  1154. a strategic merge patch.
  1155. items:
  1156. type: string
  1157. type: array
  1158. required:
  1159. - key
  1160. - operator
  1161. type: object
  1162. type: array
  1163. matchLabels:
  1164. additionalProperties:
  1165. type: string
  1166. description: matchLabels is a
  1167. map of {key,value} pairs. A
  1168. single {key,value} in the matchLabels
  1169. map is equivalent to an element
  1170. of matchExpressions, whose key
  1171. field is "key", the operator
  1172. is "In", and the values array
  1173. contains only "value". The requirements
  1174. are ANDed.
  1175. type: object
  1176. type: object
  1177. namespaces:
  1178. description: namespaces specifies
  1179. which namespaces the labelSelector
  1180. applies to (matches against); null
  1181. or empty list means "this pod's
  1182. namespace"
  1183. items:
  1184. type: string
  1185. type: array
  1186. topologyKey:
  1187. description: This pod should be co-located
  1188. (affinity) or not co-located (anti-affinity)
  1189. with the pods matching the labelSelector
  1190. in the specified namespaces, where
  1191. co-located is defined as running
  1192. on a node whose value of the label
  1193. with key topologyKey matches that
  1194. of any node on which any of the
  1195. selected pods is running. Empty
  1196. topologyKey is not allowed.
  1197. type: string
  1198. required:
  1199. - topologyKey
  1200. type: object
  1201. type: array
  1202. type: object
  1203. type: object
  1204. nodeSelector:
  1205. additionalProperties:
  1206. type: string
  1207. description: 'NodeSelector is a selector which must
  1208. be true for the pod to fit on a node. Selector
  1209. which must match a node''s labels for the pod
  1210. to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  1211. type: object
  1212. tolerations:
  1213. description: If specified, the pod's tolerations.
  1214. items:
  1215. description: The pod this Toleration is attached
  1216. to tolerates any taint that matches the triple
  1217. <key,value,effect> using the matching operator
  1218. <operator>.
  1219. properties:
  1220. effect:
  1221. description: Effect indicates the taint effect
  1222. to match. Empty means match all taint effects.
  1223. When specified, allowed values are NoSchedule,
  1224. PreferNoSchedule and NoExecute.
  1225. type: string
  1226. key:
  1227. description: Key is the taint key that the
  1228. toleration applies to. Empty means match
  1229. all taint keys. If the key is empty, operator
  1230. must be Exists; this combination means to
  1231. match all values and all keys.
  1232. type: string
  1233. operator:
  1234. description: Operator represents a key's relationship
  1235. to the value. Valid operators are Exists
  1236. and Equal. Defaults to Equal. Exists is
  1237. equivalent to wildcard for value, so that
  1238. a pod can tolerate all taints of a particular
  1239. category.
  1240. type: string
  1241. tolerationSeconds:
  1242. description: TolerationSeconds represents
  1243. the period of time the toleration (which
  1244. must be of effect NoExecute, otherwise this
  1245. field is ignored) tolerates the taint. By
  1246. default, it is not set, which means tolerate
  1247. the taint forever (do not evict). Zero and
  1248. negative values will be treated as 0 (evict
  1249. immediately) by the system.
  1250. format: int64
  1251. type: integer
  1252. value:
  1253. description: Value is the taint value the
  1254. toleration matches to. If the operator is
  1255. Exists, the value should be empty, otherwise
  1256. just a regular string.
  1257. type: string
  1258. type: object
  1259. type: array
  1260. type: object
  1261. type: object
  1262. serviceType:
  1263. description: Optional service type for Kubernetes solver
  1264. service
  1265. type: string
  1266. type: object
  1267. type: object
  1268. selector:
  1269. description: Selector selects a set of DNSNames on the Certificate
  1270. resource that should be solved using this challenge solver.
  1271. properties:
  1272. dnsNames:
  1273. description: List of DNSNames that this solver will be used
  1274. to solve. If specified and a match is found, a dnsNames selector
  1275. will take precedence over a dnsZones selector. If multiple
  1276. solvers match with the same dnsNames value, the solver with
  1277. the most matching labels in matchLabels will be selected.
  1278. If neither has more matches, the solver defined earlier in
  1279. the list will be selected.
  1280. items:
  1281. type: string
  1282. type: array
  1283. dnsZones:
  1284. description: List of DNSZones that this solver will be used
  1285. to solve. The most specific DNS zone match specified here
  1286. will take precedence over other DNS zone matches, so a solver
  1287. specifying sys.example.com will be selected over one specifying
  1288. example.com for the domain www.sys.example.com. If multiple
  1289. solvers match with the same dnsZones value, the solver with
  1290. the most matching labels in matchLabels will be selected.
  1291. If neither has more matches, the solver defined earlier in
  1292. the list will be selected.
  1293. items:
  1294. type: string
  1295. type: array
  1296. matchLabels:
  1297. additionalProperties:
  1298. type: string
  1299. description: A label selector that is used to refine the set
  1300. of certificate's that this challenge solver will apply to.
  1301. type: object
  1302. type: object
  1303. type: object
  1304. token:
  1305. description: Token is the ACME challenge token for this challenge.
  1306. type: string
  1307. type:
  1308. description: Type is the type of ACME challenge this resource represents,
  1309. e.g. "dns01" or "http01"
  1310. type: string
  1311. url:
  1312. description: URL is the URL of the ACME Challenge resource for this
  1313. challenge. This can be used to lookup details about the status of
  1314. this challenge.
  1315. type: string
  1316. wildcard:
  1317. description: Wildcard will be true if this challenge is for a wildcard
  1318. identifier, for example '*.example.com'
  1319. type: boolean
  1320. required:
  1321. - authzURL
  1322. - dnsName
  1323. - issuerRef
  1324. - key
  1325. - token
  1326. - type
  1327. - url
  1328. type: object
  1329. status:
  1330. properties:
  1331. presented:
  1332. description: Presented will be set to true if the challenge values for
  1333. this challenge are currently 'presented'. This *does not* imply the
  1334. self check is passing. Only that the values have been 'submitted'
  1335. for the appropriate challenge mechanism (i.e. the DNS01 TXT record
  1336. has been presented, or the HTTP01 configuration has been configured).
  1337. type: boolean
  1338. processing:
  1339. description: Processing is used to denote whether this challenge should
  1340. be processed or not. This field will only be set to true by the 'scheduling'
  1341. component. It will only be set to false by the 'challenges' controller,
  1342. after the challenge has reached a final state or timed out. If this
  1343. field is set to false, the challenge controller will not take any
  1344. more action.
  1345. type: boolean
  1346. reason:
  1347. description: Reason contains human readable information on why the Challenge
  1348. is in the current state.
  1349. type: string
  1350. state:
  1351. description: State contains the current 'state' of the challenge. If
  1352. not set, the state of the challenge is unknown.
  1353. enum:
  1354. - valid
  1355. - ready
  1356. - pending
  1357. - processing
  1358. - invalid
  1359. - expired
  1360. - errored
  1361. type: string
  1362. type: object
  1363. required:
  1364. - metadata
  1365. type: object
  1366. version: v1alpha2
  1367. versions:
  1368. - name: v1alpha2
  1369. served: true
  1370. storage: true
  1371. status:
  1372. acceptedNames:
  1373. kind: ""
  1374. plural: ""
  1375. conditions: []
  1376. storedVersions: []
  1377. ---
  1378. ---
  1379. apiVersion: apiextensions.k8s.io/v1beta1
  1380. kind: CustomResourceDefinition
  1381. metadata:
  1382. creationTimestamp: null
  1383. name: orders.acme.cert-manager.io
  1384. spec:
  1385. additionalPrinterColumns:
  1386. - JSONPath: .status.state
  1387. name: State
  1388. type: string
  1389. - JSONPath: .spec.issuerRef.name
  1390. name: Issuer
  1391. priority: 1
  1392. type: string
  1393. - JSONPath: .status.reason
  1394. name: Reason
  1395. priority: 1
  1396. type: string
  1397. - JSONPath: .metadata.creationTimestamp
  1398. description: CreationTimestamp is a timestamp representing the server time when
  1399. this object was created. It is not guaranteed to be set in happens-before order
  1400. across separate operations. Clients may not set this value. It is represented
  1401. in RFC3339 form and is in UTC.
  1402. name: Age
  1403. type: date
  1404. group: acme.cert-manager.io
  1405. names:
  1406. kind: Order
  1407. listKind: OrderList
  1408. plural: orders
  1409. singular: order
  1410. scope: Namespaced
  1411. subresources:
  1412. status: {}
  1413. validation:
  1414. openAPIV3Schema:
  1415. description: Order is a type to represent an Order with an ACME server
  1416. properties:
  1417. apiVersion:
  1418. description: 'APIVersion defines the versioned schema of this representation
  1419. of an object. Servers should convert recognized schemas to the latest
  1420. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1421. type: string
  1422. kind:
  1423. description: 'Kind is a string value representing the REST resource this
  1424. object represents. Servers may infer this from the endpoint the client
  1425. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1426. type: string
  1427. metadata:
  1428. type: object
  1429. spec:
  1430. properties:
  1431. commonName:
  1432. description: CommonName is the common name as specified on the DER encoded
  1433. CSR. If CommonName is not specified, the first DNSName specified will
  1434. be used as the CommonName. At least one of CommonName or a DNSNames
  1435. must be set. This field must match the corresponding field on the
  1436. DER encoded CSR.
  1437. type: string
  1438. csr:
  1439. description: Certificate signing request bytes in DER encoding. This
  1440. will be used when finalizing the order. This field must be set on
  1441. the order.
  1442. format: byte
  1443. type: string
  1444. dnsNames:
  1445. description: DNSNames is a list of DNS names that should be included
  1446. as part of the Order validation process. If CommonName is not specified,
  1447. the first DNSName specified will be used as the CommonName. At least
  1448. one of CommonName or a DNSNames must be set. This field must match
  1449. the corresponding field on the DER encoded CSR.
  1450. items:
  1451. type: string
  1452. type: array
  1453. issuerRef:
  1454. description: IssuerRef references a properly configured ACME-type Issuer
  1455. which should be used to create this Order. If the Issuer does not
  1456. exist, processing will be retried. If the Issuer is not an 'ACME'
  1457. Issuer, an error will be returned and the Order will be marked as
  1458. failed.
  1459. properties:
  1460. group:
  1461. type: string
  1462. kind:
  1463. type: string
  1464. name:
  1465. type: string
  1466. required:
  1467. - name
  1468. type: object
  1469. required:
  1470. - csr
  1471. - issuerRef
  1472. type: object
  1473. status:
  1474. properties:
  1475. authorizations:
  1476. description: Authorizations contains data returned from the ACME server
  1477. on what authoriations must be completed in order to validate the DNS
  1478. names specified on the Order.
  1479. items:
  1480. description: ACMEAuthorization contains data returned from the ACME
  1481. server on an authorization that must be completed in order validate
  1482. a DNS name on an ACME Order resource.
  1483. properties:
  1484. challenges:
  1485. description: Challenges specifies the challenge types offered
  1486. by the ACME server. One of these challenge types will be selected
  1487. when validating the DNS name and an appropriate Challenge resource
  1488. will be created to perform the ACME challenge process.
  1489. items:
  1490. description: Challenge specifies a challenge offered by the
  1491. ACME server for an Order. An appropriate Challenge resource
  1492. can be created to perform the ACME challenge process.
  1493. properties:
  1494. token:
  1495. description: Token is the token that must be presented for
  1496. this challenge. This is used to compute the 'key' that
  1497. must also be presented.
  1498. type: string
  1499. type:
  1500. description: Type is the type of challenge being offered,
  1501. e.g. http-01, dns-01
  1502. type: string
  1503. url:
  1504. description: URL is the URL of this challenge. It can be
  1505. used to retrieve additional metadata about the Challenge
  1506. from the ACME server.
  1507. type: string
  1508. required:
  1509. - token
  1510. - type
  1511. - url
  1512. type: object
  1513. type: array
  1514. identifier:
  1515. description: Identifier is the DNS name to be validated as part
  1516. of this authorization
  1517. type: string
  1518. url:
  1519. description: URL is the URL of the Authorization that must be
  1520. completed
  1521. type: string
  1522. wildcard:
  1523. description: Wildcard will be true if this authorization is for
  1524. a wildcard DNS name. If this is true, the identifier will be
  1525. the *non-wildcard* version of the DNS name. For example, if
  1526. '*.example.com' is the DNS name being validated, this field
  1527. will be 'true' and the 'identifier' field will be 'example.com'.
  1528. type: boolean
  1529. required:
  1530. - url
  1531. type: object
  1532. type: array
  1533. certificate:
  1534. description: Certificate is a copy of the PEM encoded certificate for
  1535. this Order. This field will be populated after the order has been
  1536. successfully finalized with the ACME server, and the order has transitioned
  1537. to the 'valid' state.
  1538. format: byte
  1539. type: string
  1540. failureTime:
  1541. description: FailureTime stores the time that this order failed. This
  1542. is used to influence garbage collection and back-off.
  1543. format: date-time
  1544. type: string
  1545. finalizeURL:
  1546. description: FinalizeURL of the Order. This is used to obtain certificates
  1547. for this order once it has been completed.
  1548. type: string
  1549. reason:
  1550. description: Reason optionally provides more information about a why
  1551. the order is in the current state.
  1552. type: string
  1553. state:
  1554. description: State contains the current state of this Order resource.
  1555. States 'success' and 'expired' are 'final'
  1556. enum:
  1557. - valid
  1558. - ready
  1559. - pending
  1560. - processing
  1561. - invalid
  1562. - expired
  1563. - errored
  1564. type: string
  1565. url:
  1566. description: URL of the Order. This will initially be empty when the
  1567. resource is first created. The Order controller will populate this
  1568. field when the Order is first processed. This field will be immutable
  1569. after it is initially set.
  1570. type: string
  1571. type: object
  1572. required:
  1573. - metadata
  1574. type: object
  1575. version: v1alpha2
  1576. versions:
  1577. - name: v1alpha2
  1578. served: true
  1579. storage: true
  1580. status:
  1581. acceptedNames:
  1582. kind: ""
  1583. plural: ""
  1584. conditions: []
  1585. storedVersions: []
  1586. ---
  1587. ---
  1588. apiVersion: apiextensions.k8s.io/v1beta1
  1589. kind: CustomResourceDefinition
  1590. metadata:
  1591. creationTimestamp: null
  1592. name: certificaterequests.cert-manager.io
  1593. spec:
  1594. additionalPrinterColumns:
  1595. - JSONPath: .status.conditions[?(@.type=="Ready")].status
  1596. name: Ready
  1597. type: string
  1598. - JSONPath: .spec.issuerRef.name
  1599. name: Issuer
  1600. priority: 1
  1601. type: string
  1602. - JSONPath: .status.conditions[?(@.type=="Ready")].message
  1603. name: Status
  1604. priority: 1
  1605. type: string
  1606. - JSONPath: .metadata.creationTimestamp
  1607. description: CreationTimestamp is a timestamp representing the server time when
  1608. this object was created. It is not guaranteed to be set in happens-before order
  1609. across separate operations. Clients may not set this value. It is represented
  1610. in RFC3339 form and is in UTC.
  1611. name: Age
  1612. type: date
  1613. group: cert-manager.io
  1614. names:
  1615. kind: CertificateRequest
  1616. listKind: CertificateRequestList
  1617. plural: certificaterequests
  1618. shortNames:
  1619. - cr
  1620. - crs
  1621. singular: certificaterequest
  1622. scope: Namespaced
  1623. subresources:
  1624. status: {}
  1625. validation:
  1626. openAPIV3Schema:
  1627. description: CertificateRequest is a type to represent a Certificate Signing
  1628. Request
  1629. properties:
  1630. apiVersion:
  1631. description: 'APIVersion defines the versioned schema of this representation
  1632. of an object. Servers should convert recognized schemas to the latest
  1633. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1634. type: string
  1635. kind:
  1636. description: 'Kind is a string value representing the REST resource this
  1637. object represents. Servers may infer this from the endpoint the client
  1638. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1639. type: string
  1640. metadata:
  1641. type: object
  1642. spec:
  1643. description: CertificateRequestSpec defines the desired state of CertificateRequest
  1644. properties:
  1645. csr:
  1646. description: Byte slice containing the PEM encoded CertificateSigningRequest
  1647. format: byte
  1648. type: string
  1649. duration:
  1650. description: Requested certificate default Duration
  1651. type: string
  1652. isCA:
  1653. description: IsCA will mark the resulting certificate as valid for signing.
  1654. This implies that the 'cert sign' usage is set
  1655. type: boolean
  1656. issuerRef:
  1657. description: IssuerRef is a reference to the issuer for this CertificateRequest. If
  1658. the 'kind' field is not set, or set to 'Issuer', an Issuer resource
  1659. with the given name in the same namespace as the CertificateRequest
  1660. will be used. If the 'kind' field is set to 'ClusterIssuer', a ClusterIssuer
  1661. with the provided name will be used. The 'name' field in this stanza
  1662. is required at all times. The group field refers to the API group
  1663. of the issuer which defaults to 'cert-manager.io' if empty.
  1664. properties:
  1665. group:
  1666. type: string
  1667. kind:
  1668. type: string
  1669. name:
  1670. type: string
  1671. required:
  1672. - name
  1673. type: object
  1674. usages:
  1675. description: Usages is the set of x509 actions that are enabled for
  1676. a given key. Defaults are ('digital signature', 'key encipherment')
  1677. if empty
  1678. items:
  1679. description: 'KeyUsage specifies valid usage contexts for keys. See:
  1680. https://tools.ietf.org/html/rfc5280#section-4.2.1.3 https://tools.ietf.org/html/rfc5280#section-4.2.1.12'
  1681. enum:
  1682. - signing
  1683. - digital signature
  1684. - content commitment
  1685. - key encipherment
  1686. - key agreement
  1687. - data encipherment
  1688. - cert sign
  1689. - crl sign
  1690. - encipher only
  1691. - decipher only
  1692. - any
  1693. - server auth
  1694. - client auth
  1695. - code signing
  1696. - email protection
  1697. - s/mime
  1698. - ipsec end system
  1699. - ipsec tunnel
  1700. - ipsec user
  1701. - timestamping
  1702. - ocsp signing
  1703. - microsoft sgc
  1704. - netscape sgc
  1705. type: string
  1706. type: array
  1707. required:
  1708. - issuerRef
  1709. type: object
  1710. status:
  1711. description: CertificateStatus defines the observed state of CertificateRequest
  1712. and resulting signed certificate.
  1713. properties:
  1714. ca:
  1715. description: Byte slice containing the PEM encoded certificate authority
  1716. of the signed certificate.
  1717. format: byte
  1718. type: string
  1719. certificate:
  1720. description: Byte slice containing a PEM encoded signed certificate
  1721. resulting from the given certificate signing request.
  1722. format: byte
  1723. type: string
  1724. conditions:
  1725. items:
  1726. description: CertificateRequestCondition contains condition information
  1727. for a CertificateRequest.
  1728. properties:
  1729. lastTransitionTime:
  1730. description: LastTransitionTime is the timestamp corresponding
  1731. to the last status change of this condition.
  1732. format: date-time
  1733. type: string
  1734. message:
  1735. description: Message is a human readable description of the details
  1736. of the last transition, complementing reason.
  1737. type: string
  1738. reason:
  1739. description: Reason is a brief machine readable explanation for
  1740. the condition's last transition.
  1741. type: string
  1742. status:
  1743. description: Status of the condition, one of ('True', 'False',
  1744. 'Unknown').
  1745. enum:
  1746. - "True"
  1747. - "False"
  1748. - Unknown
  1749. type: string
  1750. type:
  1751. description: Type of the condition, currently ('Ready').
  1752. type: string
  1753. required:
  1754. - status
  1755. - type
  1756. type: object
  1757. type: array
  1758. failureTime:
  1759. description: FailureTime stores the time that this CertificateRequest
  1760. failed. This is used to influence garbage collection and back-off.
  1761. format: date-time
  1762. type: string
  1763. type: object
  1764. type: object
  1765. version: v1alpha2
  1766. versions:
  1767. - name: v1alpha2
  1768. served: true
  1769. storage: true
  1770. status:
  1771. acceptedNames:
  1772. kind: ""
  1773. plural: ""
  1774. conditions: []
  1775. storedVersions: []
  1776. ---
  1777. ---
  1778. apiVersion: apiextensions.k8s.io/v1beta1
  1779. kind: CustomResourceDefinition
  1780. metadata:
  1781. creationTimestamp: null
  1782. name: certificates.cert-manager.io
  1783. spec:
  1784. additionalPrinterColumns:
  1785. - JSONPath: .status.conditions[?(@.type=="Ready")].status
  1786. name: Ready
  1787. type: string
  1788. - JSONPath: .spec.secretName
  1789. name: Secret
  1790. type: string
  1791. - JSONPath: .spec.issuerRef.name
  1792. name: Issuer
  1793. priority: 1
  1794. type: string
  1795. - JSONPath: .status.conditions[?(@.type=="Ready")].message
  1796. name: Status
  1797. priority: 1
  1798. type: string
  1799. - JSONPath: .metadata.creationTimestamp
  1800. description: CreationTimestamp is a timestamp representing the server time when
  1801. this object was created. It is not guaranteed to be set in happens-before order
  1802. across separate operations. Clients may not set this value. It is represented
  1803. in RFC3339 form and is in UTC.
  1804. name: Age
  1805. type: date
  1806. group: cert-manager.io
  1807. names:
  1808. kind: Certificate
  1809. listKind: CertificateList
  1810. plural: certificates
  1811. shortNames:
  1812. - cert
  1813. - certs
  1814. singular: certificate
  1815. scope: Namespaced
  1816. subresources:
  1817. status: {}
  1818. validation:
  1819. openAPIV3Schema:
  1820. description: Certificate is a type to represent a Certificate from ACME
  1821. properties:
  1822. apiVersion:
  1823. description: 'APIVersion defines the versioned schema of this representation
  1824. of an object. Servers should convert recognized schemas to the latest
  1825. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1826. type: string
  1827. kind:
  1828. description: 'Kind is a string value representing the REST resource this
  1829. object represents. Servers may infer this from the endpoint the client
  1830. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1831. type: string
  1832. metadata:
  1833. type: object
  1834. spec:
  1835. description: CertificateSpec defines the desired state of Certificate. A
  1836. valid Certificate requires at least one of a CommonName, DNSName, or URISAN
  1837. to be valid.
  1838. properties:
  1839. commonName:
  1840. description: CommonName is a common name to be used on the Certificate.
  1841. The CommonName should have a length of 64 characters or fewer to avoid
  1842. generating invalid CSRs.
  1843. type: string
  1844. dnsNames:
  1845. description: DNSNames is a list of subject alt names to be used on the
  1846. Certificate.
  1847. items:
  1848. type: string
  1849. type: array
  1850. duration:
  1851. description: Certificate default Duration
  1852. type: string
  1853. ipAddresses:
  1854. description: IPAddresses is a list of IP addresses to be used on the
  1855. Certificate
  1856. items:
  1857. type: string
  1858. type: array
  1859. isCA:
  1860. description: IsCA will mark this Certificate as valid for signing. This
  1861. implies that the 'cert sign' usage is set
  1862. type: boolean
  1863. issuerRef:
  1864. description: IssuerRef is a reference to the issuer for this certificate.
  1865. If the 'kind' field is not set, or set to 'Issuer', an Issuer resource
  1866. with the given name in the same namespace as the Certificate will
  1867. be used. If the 'kind' field is set to 'ClusterIssuer', a ClusterIssuer
  1868. with the provided name will be used. The 'name' field in this stanza
  1869. is required at all times.
  1870. properties:
  1871. group:
  1872. type: string
  1873. kind:
  1874. type: string
  1875. name:
  1876. type: string
  1877. required:
  1878. - name
  1879. type: object
  1880. keyAlgorithm:
  1881. description: KeyAlgorithm is the private key algorithm of the corresponding
  1882. private key for this certificate. If provided, allowed values are
  1883. either "rsa" or "ecdsa" If KeyAlgorithm is specified and KeySize is
  1884. not provided, key size of 256 will be used for "ecdsa" key algorithm
  1885. and key size of 2048 will be used for "rsa" key algorithm.
  1886. enum:
  1887. - rsa
  1888. - ecdsa
  1889. type: string
  1890. keyEncoding:
  1891. description: KeyEncoding is the private key cryptography standards (PKCS)
  1892. for this certificate's private key to be encoded in. If provided,
  1893. allowed values are "pkcs1" and "pkcs8" standing for PKCS#1 and PKCS#8,
  1894. respectively. If KeyEncoding is not specified, then PKCS#1 will be
  1895. used by default.
  1896. enum:
  1897. - pkcs1
  1898. - pkcs8
  1899. type: string
  1900. keySize:
  1901. description: KeySize is the key bit size of the corresponding private
  1902. key for this certificate. If provided, value must be between 2048
  1903. and 8192 inclusive when KeyAlgorithm is empty or is set to "rsa",
  1904. and value must be one of (256, 384, 521) when KeyAlgorithm is set
  1905. to "ecdsa".
  1906. type: integer
  1907. organization:
  1908. description: Organization is the organization to be used on the Certificate
  1909. items:
  1910. type: string
  1911. type: array
  1912. renewBefore:
  1913. description: Certificate renew before expiration duration
  1914. type: string
  1915. secretName:
  1916. description: SecretName is the name of the secret resource to store
  1917. this secret in
  1918. type: string
  1919. uriSANs:
  1920. description: URISANs is a list of URI Subject Alternative Names to be
  1921. set on this Certificate.
  1922. items:
  1923. type: string
  1924. type: array
  1925. usages:
  1926. description: Usages is the set of x509 actions that are enabled for
  1927. a given key. Defaults are ('digital signature', 'key encipherment')
  1928. if empty
  1929. items:
  1930. description: 'KeyUsage specifies valid usage contexts for keys. See:
  1931. https://tools.ietf.org/html/rfc5280#section-4.2.1.3 https://tools.ietf.org/html/rfc5280#section-4.2.1.12'
  1932. enum:
  1933. - signing
  1934. - digital signature
  1935. - content commitment
  1936. - key encipherment
  1937. - key agreement
  1938. - data encipherment
  1939. - cert sign
  1940. - crl sign
  1941. - encipher only
  1942. - decipher only
  1943. - any
  1944. - server auth
  1945. - client auth
  1946. - code signing
  1947. - email protection
  1948. - s/mime
  1949. - ipsec end system
  1950. - ipsec tunnel
  1951. - ipsec user
  1952. - timestamping
  1953. - ocsp signing
  1954. - microsoft sgc
  1955. - netscape sgc
  1956. type: string
  1957. type: array
  1958. required:
  1959. - issuerRef
  1960. - secretName
  1961. type: object
  1962. status:
  1963. description: CertificateStatus defines the observed state of Certificate
  1964. properties:
  1965. conditions:
  1966. items:
  1967. description: CertificateCondition contains condition information for
  1968. an Certificate.
  1969. properties:
  1970. lastTransitionTime:
  1971. description: LastTransitionTime is the timestamp corresponding
  1972. to the last status change of this condition.
  1973. format: date-time
  1974. type: string
  1975. message:
  1976. description: Message is a human readable description of the details
  1977. of the last transition, complementing reason.
  1978. type: string
  1979. reason:
  1980. description: Reason is a brief machine readable explanation for
  1981. the condition's last transition.
  1982. type: string
  1983. status:
  1984. description: Status of the condition, one of ('True', 'False',
  1985. 'Unknown').
  1986. enum:
  1987. - "True"
  1988. - "False"
  1989. - Unknown
  1990. type: string
  1991. type:
  1992. description: Type of the condition, currently ('Ready').
  1993. type: string
  1994. required:
  1995. - status
  1996. - type
  1997. type: object
  1998. type: array
  1999. lastFailureTime:
  2000. format: date-time
  2001. type: string
  2002. notAfter:
  2003. description: The expiration time of the certificate stored in the secret
  2004. named by this resource in spec.secretName.
  2005. format: date-time
  2006. type: string
  2007. type: object
  2008. type: object
  2009. version: v1alpha2
  2010. versions:
  2011. - name: v1alpha2
  2012. served: true
  2013. storage: true
  2014. status:
  2015. acceptedNames:
  2016. kind: ""
  2017. plural: ""
  2018. conditions: []
  2019. storedVersions: []
  2020. ---
  2021. ---
  2022. apiVersion: apiextensions.k8s.io/v1beta1
  2023. kind: CustomResourceDefinition
  2024. metadata:
  2025. creationTimestamp: null
  2026. name: clusterissuers.cert-manager.io
  2027. spec:
  2028. group: cert-manager.io
  2029. names:
  2030. kind: ClusterIssuer
  2031. listKind: ClusterIssuerList
  2032. plural: clusterissuers
  2033. singular: clusterissuer
  2034. scope: Cluster
  2035. subresources:
  2036. status: {}
  2037. validation:
  2038. openAPIV3Schema:
  2039. properties:
  2040. apiVersion:
  2041. description: 'APIVersion defines the versioned schema of this representation
  2042. of an object. Servers should convert recognized schemas to the latest
  2043. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2044. type: string
  2045. kind:
  2046. description: 'Kind is a string value representing the REST resource this
  2047. object represents. Servers may infer this from the endpoint the client
  2048. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2049. type: string
  2050. metadata:
  2051. type: object
  2052. spec:
  2053. description: IssuerSpec is the specification of an Issuer. This includes
  2054. any configuration required for the issuer.
  2055. properties:
  2056. acme:
  2057. description: ACMEIssuer contains the specification for an ACME issuer
  2058. properties:
  2059. email:
  2060. description: Email is the email for this account
  2061. type: string
  2062. privateKeySecretRef:
  2063. description: PrivateKey is the name of a secret containing the private
  2064. key for this user account.
  2065. properties:
  2066. key:
  2067. description: The key of the secret to select from. Must be a
  2068. valid secret key.
  2069. type: string
  2070. name:
  2071. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2072. TODO: Add other useful fields. apiVersion, kind, uid?'
  2073. type: string
  2074. required:
  2075. - name
  2076. type: object
  2077. server:
  2078. description: Server is the ACME server URL
  2079. type: string
  2080. skipTLSVerify:
  2081. description: If true, skip verifying the ACME server TLS certificate
  2082. type: boolean
  2083. solvers:
  2084. description: Solvers is a list of challenge solvers that will be
  2085. used to solve ACME challenges for the matching domains.
  2086. items:
  2087. properties:
  2088. dns01:
  2089. properties:
  2090. acmedns:
  2091. description: ACMEIssuerDNS01ProviderAcmeDNS is a structure
  2092. containing the configuration for ACME-DNS servers
  2093. properties:
  2094. accountSecretRef:
  2095. properties:
  2096. key:
  2097. description: The key of the secret to select from.
  2098. Must be a valid secret key.
  2099. type: string
  2100. name:
  2101. description: 'Name of the referent. More info:
  2102. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2103. TODO: Add other useful fields. apiVersion, kind,
  2104. uid?'
  2105. type: string
  2106. required:
  2107. - name
  2108. type: object
  2109. host:
  2110. type: string
  2111. required:
  2112. - accountSecretRef
  2113. - host
  2114. type: object
  2115. akamai:
  2116. description: ACMEIssuerDNS01ProviderAkamai is a structure
  2117. containing the DNS configuration for Akamai DNS—Zone
  2118. Record Management API
  2119. properties:
  2120. accessTokenSecretRef:
  2121. properties:
  2122. key:
  2123. description: The key of the secret to select from.
  2124. Must be a valid secret key.
  2125. type: string
  2126. name:
  2127. description: 'Name of the referent. More info:
  2128. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2129. TODO: Add other useful fields. apiVersion, kind,
  2130. uid?'
  2131. type: string
  2132. required:
  2133. - name
  2134. type: object
  2135. clientSecretSecretRef:
  2136. properties:
  2137. key:
  2138. description: The key of the secret to select from.
  2139. Must be a valid secret key.
  2140. type: string
  2141. name:
  2142. description: 'Name of the referent. More info:
  2143. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2144. TODO: Add other useful fields. apiVersion, kind,
  2145. uid?'
  2146. type: string
  2147. required:
  2148. - name
  2149. type: object
  2150. clientTokenSecretRef:
  2151. properties:
  2152. key:
  2153. description: The key of the secret to select from.
  2154. Must be a valid secret key.
  2155. type: string
  2156. name:
  2157. description: 'Name of the referent. More info:
  2158. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2159. TODO: Add other useful fields. apiVersion, kind,
  2160. uid?'
  2161. type: string
  2162. required:
  2163. - name
  2164. type: object
  2165. serviceConsumerDomain:
  2166. type: string
  2167. required:
  2168. - accessTokenSecretRef
  2169. - clientSecretSecretRef
  2170. - clientTokenSecretRef
  2171. - serviceConsumerDomain
  2172. type: object
  2173. azuredns:
  2174. description: ACMEIssuerDNS01ProviderAzureDNS is a structure
  2175. containing the configuration for Azure DNS
  2176. properties:
  2177. clientID:
  2178. type: string
  2179. clientSecretSecretRef:
  2180. properties:
  2181. key:
  2182. description: The key of the secret to select from.
  2183. Must be a valid secret key.
  2184. type: string
  2185. name:
  2186. description: 'Name of the referent. More info:
  2187. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2188. TODO: Add other useful fields. apiVersion, kind,
  2189. uid?'
  2190. type: string
  2191. required:
  2192. - name
  2193. type: object
  2194. environment:
  2195. enum:
  2196. - AzurePublicCloud
  2197. - AzureChinaCloud
  2198. - AzureGermanCloud
  2199. - AzureUSGovernmentCloud
  2200. type: string
  2201. hostedZoneName:
  2202. type: string
  2203. resourceGroupName:
  2204. type: string
  2205. subscriptionID:
  2206. type: string
  2207. tenantID:
  2208. type: string
  2209. required:
  2210. - clientID
  2211. - clientSecretSecretRef
  2212. - resourceGroupName
  2213. - subscriptionID
  2214. - tenantID
  2215. type: object
  2216. clouddns:
  2217. description: ACMEIssuerDNS01ProviderCloudDNS is a structure
  2218. containing the DNS configuration for Google Cloud DNS
  2219. properties:
  2220. project:
  2221. type: string
  2222. serviceAccountSecretRef:
  2223. properties:
  2224. key:
  2225. description: The key of the secret to select from.
  2226. Must be a valid secret key.
  2227. type: string
  2228. name:
  2229. description: 'Name of the referent. More info:
  2230. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2231. TODO: Add other useful fields. apiVersion, kind,
  2232. uid?'
  2233. type: string
  2234. required:
  2235. - name
  2236. type: object
  2237. required:
  2238. - project
  2239. - serviceAccountSecretRef
  2240. type: object
  2241. cloudflare:
  2242. description: ACMEIssuerDNS01ProviderCloudflare is a structure
  2243. containing the DNS configuration for Cloudflare
  2244. properties:
  2245. apiKeySecretRef:
  2246. properties:
  2247. key:
  2248. description: The key of the secret to select from.
  2249. Must be a valid secret key.
  2250. type: string
  2251. name:
  2252. description: 'Name of the referent. More info:
  2253. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2254. TODO: Add other useful fields. apiVersion, kind,
  2255. uid?'
  2256. type: string
  2257. required:
  2258. - name
  2259. type: object
  2260. email:
  2261. type: string
  2262. required:
  2263. - apiKeySecretRef
  2264. - email
  2265. type: object
  2266. cnameStrategy:
  2267. description: CNAMEStrategy configures how the DNS01 provider
  2268. should handle CNAME records when found in DNS zones.
  2269. enum:
  2270. - None
  2271. - Follow
  2272. type: string
  2273. digitalocean:
  2274. description: ACMEIssuerDNS01ProviderDigitalOcean is a
  2275. structure containing the DNS configuration for DigitalOcean
  2276. Domains
  2277. properties:
  2278. tokenSecretRef:
  2279. properties:
  2280. key:
  2281. description: The key of the secret to select from.
  2282. Must be a valid secret key.
  2283. type: string
  2284. name:
  2285. description: 'Name of the referent. More info:
  2286. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2287. TODO: Add other useful fields. apiVersion, kind,
  2288. uid?'
  2289. type: string
  2290. required:
  2291. - name
  2292. type: object
  2293. required:
  2294. - tokenSecretRef
  2295. type: object
  2296. rfc2136:
  2297. description: ACMEIssuerDNS01ProviderRFC2136 is a structure
  2298. containing the configuration for RFC2136 DNS
  2299. properties:
  2300. nameserver:
  2301. description: 'The IP address of the DNS supporting
  2302. RFC2136. Required. Note: FQDN is not a valid value,
  2303. only IP.'
  2304. type: string
  2305. tsigAlgorithm:
  2306. description: 'The TSIG Algorithm configured in the
  2307. DNS supporting RFC2136. Used only when ``tsigSecretSecretRef``
  2308. and ``tsigKeyName`` are defined. Supported values
  2309. are (case-insensitive): ``HMACMD5`` (default), ``HMACSHA1``,
  2310. ``HMACSHA256`` or ``HMACSHA512``.'
  2311. type: string
  2312. tsigKeyName:
  2313. description: The TSIG Key name configured in the DNS.
  2314. If ``tsigSecretSecretRef`` is defined, this field
  2315. is required.
  2316. type: string
  2317. tsigSecretSecretRef:
  2318. description: The name of the secret containing the
  2319. TSIG value. If ``tsigKeyName`` is defined, this
  2320. field is required.
  2321. properties:
  2322. key:
  2323. description: The key of the secret to select from.
  2324. Must be a valid secret key.
  2325. type: string
  2326. name:
  2327. description: 'Name of the referent. More info:
  2328. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2329. TODO: Add other useful fields. apiVersion, kind,
  2330. uid?'
  2331. type: string
  2332. required:
  2333. - name
  2334. type: object
  2335. required:
  2336. - nameserver
  2337. type: object
  2338. route53:
  2339. description: ACMEIssuerDNS01ProviderRoute53 is a structure
  2340. containing the Route 53 configuration for AWS
  2341. properties:
  2342. accessKeyID:
  2343. description: 'The AccessKeyID is used for authentication.
  2344. If not set we fall-back to using env vars, shared
  2345. credentials file or AWS Instance metadata see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  2346. type: string
  2347. hostedZoneID:
  2348. description: If set, the provider will manage only
  2349. this zone in Route53 and will not do an lookup using
  2350. the route53:ListHostedZonesByName api call.
  2351. type: string
  2352. region:
  2353. description: Always set the region when using AccessKeyID
  2354. and SecretAccessKey
  2355. type: string
  2356. role:
  2357. description: Role is a Role ARN which the Route53
  2358. provider will assume using either the explicit credentials
  2359. AccessKeyID/SecretAccessKey or the inferred credentials
  2360. from environment variables, shared credentials file
  2361. or AWS Instance metadata
  2362. type: string
  2363. secretAccessKeySecretRef:
  2364. description: The SecretAccessKey is used for authentication.
  2365. If not set we fall-back to using env vars, shared
  2366. credentials file or AWS Instance metadata https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  2367. properties:
  2368. key:
  2369. description: The key of the secret to select from.
  2370. Must be a valid secret key.
  2371. type: string
  2372. name:
  2373. description: 'Name of the referent. More info:
  2374. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2375. TODO: Add other useful fields. apiVersion, kind,
  2376. uid?'
  2377. type: string
  2378. required:
  2379. - name
  2380. type: object
  2381. required:
  2382. - region
  2383. type: object
  2384. webhook:
  2385. description: ACMEIssuerDNS01ProviderWebhook specifies
  2386. configuration for a webhook DNS01 provider, including
  2387. where to POST ChallengePayload resources.
  2388. properties:
  2389. config:
  2390. description: Additional configuration that should
  2391. be passed to the webhook apiserver when challenges
  2392. are processed. This can contain arbitrary JSON data.
  2393. Secret values should not be specified in this stanza.
  2394. If secret values are needed (e.g. credentials for
  2395. a DNS service), you should use a SecretKeySelector
  2396. to reference a Secret resource. For details on the
  2397. schema of this field, consult the webhook provider
  2398. implementation's documentation.
  2399. x-kubernetes-preserve-unknown-fields: true
  2400. groupName:
  2401. description: The API group name that should be used
  2402. when POSTing ChallengePayload resources to the webhook
  2403. apiserver. This should be the same as the GroupName
  2404. specified in the webhook provider implementation.
  2405. type: string
  2406. solverName:
  2407. description: The name of the solver to use, as defined
  2408. in the webhook provider implementation. This will
  2409. typically be the name of the provider, e.g. 'cloudflare'.
  2410. type: string
  2411. required:
  2412. - groupName
  2413. - solverName
  2414. type: object
  2415. type: object
  2416. http01:
  2417. description: ACMEChallengeSolverHTTP01 contains configuration
  2418. detailing how to solve HTTP01 challenges within a Kubernetes
  2419. cluster. Typically this is accomplished through creating
  2420. 'routes' of some description that configure ingress controllers
  2421. to direct traffic to 'solver pods', which are responsible
  2422. for responding to the ACME server's HTTP requests.
  2423. properties:
  2424. ingress:
  2425. description: The ingress based HTTP01 challenge solver
  2426. will solve challenges by creating or modifying Ingress
  2427. resources in order to route requests for '/.well-known/acme-challenge/XYZ'
  2428. to 'challenge solver' pods that are provisioned by cert-manager
  2429. for each Challenge to be completed.
  2430. properties:
  2431. class:
  2432. description: The ingress class to use when creating
  2433. Ingress resources to solve ACME challenges that
  2434. use this challenge solver. Only one of 'class' or
  2435. 'name' may be specified.
  2436. type: string
  2437. name:
  2438. description: The name of the ingress resource that
  2439. should have ACME challenge solving routes inserted
  2440. into it in order to solve HTTP01 challenges. This
  2441. is typically used in conjunction with ingress controllers
  2442. like ingress-gce, which maintains a 1:1 mapping
  2443. between external IPs and ingress resources.
  2444. type: string
  2445. podTemplate:
  2446. description: Optional pod template used to configure
  2447. the ACME challenge solver pods used for HTTP01 challenges
  2448. properties:
  2449. metadata:
  2450. description: ObjectMeta overrides for the pod
  2451. used to solve HTTP01 challenges. Only the 'labels'
  2452. and 'annotations' fields may be set. If labels
  2453. or annotations overlap with in-built values,
  2454. the values here will override the in-built values.
  2455. type: object
  2456. spec:
  2457. description: PodSpec defines overrides for the
  2458. HTTP01 challenge solver pod. Only the 'nodeSelector',
  2459. 'affinity' and 'tolerations' fields are supported
  2460. currently. All other fields will be ignored.
  2461. properties:
  2462. affinity:
  2463. description: If specified, the pod's scheduling
  2464. constraints
  2465. properties:
  2466. nodeAffinity:
  2467. description: Describes node affinity scheduling
  2468. rules for the pod.
  2469. properties:
  2470. preferredDuringSchedulingIgnoredDuringExecution:
  2471. description: The scheduler will prefer
  2472. to schedule pods to nodes that satisfy
  2473. the affinity expressions specified
  2474. by this field, but it may choose
  2475. a node that violates one or more
  2476. of the expressions. The node that
  2477. is most preferred is the one with
  2478. the greatest sum of weights, i.e.
  2479. for each node that meets all of
  2480. the scheduling requirements (resource
  2481. request, requiredDuringScheduling
  2482. affinity expressions, etc.), compute
  2483. a sum by iterating through the elements
  2484. of this field and adding "weight"
  2485. to the sum if the node matches the
  2486. corresponding matchExpressions;
  2487. the node(s) with the highest sum
  2488. are the most preferred.
  2489. items:
  2490. description: An empty preferred
  2491. scheduling term matches all objects
  2492. with implicit weight 0 (i.e. it's
  2493. a no-op). A null preferred scheduling
  2494. term matches no objects (i.e.
  2495. is also a no-op).
  2496. properties:
  2497. preference:
  2498. description: A node selector
  2499. term, associated with the
  2500. corresponding weight.
  2501. properties:
  2502. matchExpressions:
  2503. description: A list of node
  2504. selector requirements
  2505. by node's labels.
  2506. items:
  2507. description: A node selector
  2508. requirement is a selector
  2509. that contains values,
  2510. a key, and an operator
  2511. that relates the key
  2512. and values.
  2513. properties:
  2514. key:
  2515. description: The label
  2516. key that the selector
  2517. applies to.
  2518. type: string
  2519. operator:
  2520. description: Represents
  2521. a key's relationship
  2522. to a set of values.
  2523. Valid operators
  2524. are In, NotIn, Exists,
  2525. DoesNotExist. Gt,
  2526. and Lt.
  2527. type: string
  2528. values:
  2529. description: An array
  2530. of string values.
  2531. If the operator
  2532. is In or NotIn,
  2533. the values array
  2534. must be non-empty.
  2535. If the operator
  2536. is Exists or DoesNotExist,
  2537. the values array
  2538. must be empty. If
  2539. the operator is
  2540. Gt or Lt, the values
  2541. array must have
  2542. a single element,
  2543. which will be interpreted
  2544. as an integer. This
  2545. array is replaced
  2546. during a strategic
  2547. merge patch.
  2548. items:
  2549. type: string
  2550. type: array
  2551. required:
  2552. - key
  2553. - operator
  2554. type: object
  2555. type: array
  2556. matchFields:
  2557. description: A list of node
  2558. selector requirements
  2559. by node's fields.
  2560. items:
  2561. description: A node selector
  2562. requirement is a selector
  2563. that contains values,
  2564. a key, and an operator
  2565. that relates the key
  2566. and values.
  2567. properties:
  2568. key:
  2569. description: The label
  2570. key that the selector
  2571. applies to.
  2572. type: string
  2573. operator:
  2574. description: Represents
  2575. a key's relationship
  2576. to a set of values.
  2577. Valid operators
  2578. are In, NotIn, Exists,
  2579. DoesNotExist. Gt,
  2580. and Lt.
  2581. type: string
  2582. values:
  2583. description: An array
  2584. of string values.
  2585. If the operator
  2586. is In or NotIn,
  2587. the values array
  2588. must be non-empty.
  2589. If the operator
  2590. is Exists or DoesNotExist,
  2591. the values array
  2592. must be empty. If
  2593. the operator is
  2594. Gt or Lt, the values
  2595. array must have
  2596. a single element,
  2597. which will be interpreted
  2598. as an integer. This
  2599. array is replaced
  2600. during a strategic
  2601. merge patch.
  2602. items:
  2603. type: string
  2604. type: array
  2605. required:
  2606. - key
  2607. - operator
  2608. type: object
  2609. type: array
  2610. type: object
  2611. weight:
  2612. description: Weight associated
  2613. with matching the corresponding
  2614. nodeSelectorTerm, in the range
  2615. 1-100.
  2616. format: int32
  2617. type: integer
  2618. required:
  2619. - preference
  2620. - weight
  2621. type: object
  2622. type: array
  2623. requiredDuringSchedulingIgnoredDuringExecution:
  2624. description: If the affinity requirements
  2625. specified by this field are not
  2626. met at scheduling time, the pod
  2627. will not be scheduled onto the node.
  2628. If the affinity requirements specified
  2629. by this field cease to be met at
  2630. some point during pod execution
  2631. (e.g. due to an update), the system
  2632. may or may not try to eventually
  2633. evict the pod from its node.
  2634. properties:
  2635. nodeSelectorTerms:
  2636. description: Required. A list
  2637. of node selector terms. The
  2638. terms are ORed.
  2639. items:
  2640. description: A null or empty
  2641. node selector term matches
  2642. no objects. The requirements
  2643. of them are ANDed. The TopologySelectorTerm
  2644. type implements a subset of
  2645. the NodeSelectorTerm.
  2646. properties:
  2647. matchExpressions:
  2648. description: A list of node
  2649. selector requirements
  2650. by node's labels.
  2651. items:
  2652. description: A node selector
  2653. requirement is a selector
  2654. that contains values,
  2655. a key, and an operator
  2656. that relates the key
  2657. and values.
  2658. properties:
  2659. key:
  2660. description: The label
  2661. key that the selector
  2662. applies to.
  2663. type: string
  2664. operator:
  2665. description: Represents
  2666. a key's relationship
  2667. to a set of values.
  2668. Valid operators
  2669. are In, NotIn, Exists,
  2670. DoesNotExist. Gt,
  2671. and Lt.
  2672. type: string
  2673. values:
  2674. description: An array
  2675. of string values.
  2676. If the operator
  2677. is In or NotIn,
  2678. the values array
  2679. must be non-empty.
  2680. If the operator
  2681. is Exists or DoesNotExist,
  2682. the values array
  2683. must be empty. If
  2684. the operator is
  2685. Gt or Lt, the values
  2686. array must have
  2687. a single element,
  2688. which will be interpreted
  2689. as an integer. This
  2690. array is replaced
  2691. during a strategic
  2692. merge patch.
  2693. items:
  2694. type: string
  2695. type: array
  2696. required:
  2697. - key
  2698. - operator
  2699. type: object
  2700. type: array
  2701. matchFields:
  2702. description: A list of node
  2703. selector requirements
  2704. by node's fields.
  2705. items:
  2706. description: A node selector
  2707. requirement is a selector
  2708. that contains values,
  2709. a key, and an operator
  2710. that relates the key
  2711. and values.
  2712. properties:
  2713. key:
  2714. description: The label
  2715. key that the selector
  2716. applies to.
  2717. type: string
  2718. operator:
  2719. description: Represents
  2720. a key's relationship
  2721. to a set of values.
  2722. Valid operators
  2723. are In, NotIn, Exists,
  2724. DoesNotExist. Gt,
  2725. and Lt.
  2726. type: string
  2727. values:
  2728. description: An array
  2729. of string values.
  2730. If the operator
  2731. is In or NotIn,
  2732. the values array
  2733. must be non-empty.
  2734. If the operator
  2735. is Exists or DoesNotExist,
  2736. the values array
  2737. must be empty. If
  2738. the operator is
  2739. Gt or Lt, the values
  2740. array must have
  2741. a single element,
  2742. which will be interpreted
  2743. as an integer. This
  2744. array is replaced
  2745. during a strategic
  2746. merge patch.
  2747. items:
  2748. type: string
  2749. type: array
  2750. required:
  2751. - key
  2752. - operator
  2753. type: object
  2754. type: array
  2755. type: object
  2756. type: array
  2757. required:
  2758. - nodeSelectorTerms
  2759. type: object
  2760. type: object
  2761. podAffinity:
  2762. description: Describes pod affinity scheduling
  2763. rules (e.g. co-locate this pod in the
  2764. same node, zone, etc. as some other
  2765. pod(s)).
  2766. properties:
  2767. preferredDuringSchedulingIgnoredDuringExecution:
  2768. description: The scheduler will prefer
  2769. to schedule pods to nodes that satisfy
  2770. the affinity expressions specified
  2771. by this field, but it may choose
  2772. a node that violates one or more
  2773. of the expressions. The node that
  2774. is most preferred is the one with
  2775. the greatest sum of weights, i.e.
  2776. for each node that meets all of
  2777. the scheduling requirements (resource
  2778. request, requiredDuringScheduling
  2779. affinity expressions, etc.), compute
  2780. a sum by iterating through the elements
  2781. of this field and adding "weight"
  2782. to the sum if the node has pods
  2783. which matches the corresponding
  2784. podAffinityTerm; the node(s) with
  2785. the highest sum are the most preferred.
  2786. items:
  2787. description: The weights of all
  2788. of the matched WeightedPodAffinityTerm
  2789. fields are added per-node to find
  2790. the most preferred node(s)
  2791. properties:
  2792. podAffinityTerm:
  2793. description: Required. A pod
  2794. affinity term, associated
  2795. with the corresponding weight.
  2796. properties:
  2797. labelSelector:
  2798. description: A label query
  2799. over a set of resources,
  2800. in this case pods.
  2801. properties:
  2802. matchExpressions:
  2803. description: matchExpressions
  2804. is a list of label
  2805. selector requirements.
  2806. The requirements are
  2807. ANDed.
  2808. items:
  2809. description: A label
  2810. selector requirement
  2811. is a selector that
  2812. contains values,
  2813. a key, and an operator
  2814. that relates the
  2815. key and values.
  2816. properties:
  2817. key:
  2818. description: key
  2819. is the label
  2820. key that the
  2821. selector applies
  2822. to.
  2823. type: string
  2824. operator:
  2825. description: operator
  2826. represents a
  2827. key's relationship
  2828. to a set of
  2829. values. Valid
  2830. operators are
  2831. In, NotIn, Exists
  2832. and DoesNotExist.
  2833. type: string
  2834. values:
  2835. description: values
  2836. is an array
  2837. of string values.
  2838. If the operator
  2839. is In or NotIn,
  2840. the values array
  2841. must be non-empty.
  2842. If the operator
  2843. is Exists or
  2844. DoesNotExist,
  2845. the values array
  2846. must be empty.
  2847. This array is
  2848. replaced during
  2849. a strategic
  2850. merge patch.
  2851. items:
  2852. type: string
  2853. type: array
  2854. required:
  2855. - key
  2856. - operator
  2857. type: object
  2858. type: array
  2859. matchLabels:
  2860. additionalProperties:
  2861. type: string
  2862. description: matchLabels
  2863. is a map of {key,value}
  2864. pairs. A single {key,value}
  2865. in the matchLabels
  2866. map is equivalent
  2867. to an element of matchExpressions,
  2868. whose key field is
  2869. "key", the operator
  2870. is "In", and the values
  2871. array contains only
  2872. "value". The requirements
  2873. are ANDed.
  2874. type: object
  2875. type: object
  2876. namespaces:
  2877. description: namespaces
  2878. specifies which namespaces
  2879. the labelSelector applies
  2880. to (matches against);
  2881. null or empty list means
  2882. "this pod's namespace"
  2883. items:
  2884. type: string
  2885. type: array
  2886. topologyKey:
  2887. description: This pod should
  2888. be co-located (affinity)
  2889. or not co-located (anti-affinity)
  2890. with the pods matching
  2891. the labelSelector in the
  2892. specified namespaces,
  2893. where co-located is defined
  2894. as running on a node whose
  2895. value of the label with
  2896. key topologyKey matches
  2897. that of any node on which
  2898. any of the selected pods
  2899. is running. Empty topologyKey
  2900. is not allowed.
  2901. type: string
  2902. required:
  2903. - topologyKey
  2904. type: object
  2905. weight:
  2906. description: weight associated
  2907. with matching the corresponding
  2908. podAffinityTerm, in the range
  2909. 1-100.
  2910. format: int32
  2911. type: integer
  2912. required:
  2913. - podAffinityTerm
  2914. - weight
  2915. type: object
  2916. type: array
  2917. requiredDuringSchedulingIgnoredDuringExecution:
  2918. description: If the affinity requirements
  2919. specified by this field are not
  2920. met at scheduling time, the pod
  2921. will not be scheduled onto the node.
  2922. If the affinity requirements specified
  2923. by this field cease to be met at
  2924. some point during pod execution
  2925. (e.g. due to a pod label update),
  2926. the system may or may not try to
  2927. eventually evict the pod from its
  2928. node. When there are multiple elements,
  2929. the lists of nodes corresponding
  2930. to each podAffinityTerm are intersected,
  2931. i.e. all terms must be satisfied.
  2932. items:
  2933. description: Defines a set of pods
  2934. (namely those matching the labelSelector
  2935. relative to the given namespace(s))
  2936. that this pod should be co-located
  2937. (affinity) or not co-located (anti-affinity)
  2938. with, where co-located is defined
  2939. as running on a node whose value
  2940. of the label with key <topologyKey>
  2941. matches that of any node on which
  2942. a pod of the set of pods is running
  2943. properties:
  2944. labelSelector:
  2945. description: A label query over
  2946. a set of resources, in this
  2947. case pods.
  2948. properties:
  2949. matchExpressions:
  2950. description: matchExpressions
  2951. is a list of label selector
  2952. requirements. The requirements
  2953. are ANDed.
  2954. items:
  2955. description: A label selector
  2956. requirement is a selector
  2957. that contains values,
  2958. a key, and an operator
  2959. that relates the key
  2960. and values.
  2961. properties:
  2962. key:
  2963. description: key is
  2964. the label key that
  2965. the selector applies
  2966. to.
  2967. type: string
  2968. operator:
  2969. description: operator
  2970. represents a key's
  2971. relationship to
  2972. a set of values.
  2973. Valid operators
  2974. are In, NotIn, Exists
  2975. and DoesNotExist.
  2976. type: string
  2977. values:
  2978. description: values
  2979. is an array of string
  2980. values. If the operator
  2981. is In or NotIn,
  2982. the values array
  2983. must be non-empty.
  2984. If the operator
  2985. is Exists or DoesNotExist,
  2986. the values array
  2987. must be empty. This
  2988. array is replaced
  2989. during a strategic
  2990. merge patch.
  2991. items:
  2992. type: string
  2993. type: array
  2994. required:
  2995. - key
  2996. - operator
  2997. type: object
  2998. type: array
  2999. matchLabels:
  3000. additionalProperties:
  3001. type: string
  3002. description: matchLabels
  3003. is a map of {key,value}
  3004. pairs. A single {key,value}
  3005. in the matchLabels map
  3006. is equivalent to an element
  3007. of matchExpressions, whose
  3008. key field is "key", the
  3009. operator is "In", and
  3010. the values array contains
  3011. only "value". The requirements
  3012. are ANDed.
  3013. type: object
  3014. type: object
  3015. namespaces:
  3016. description: namespaces specifies
  3017. which namespaces the labelSelector
  3018. applies to (matches against);
  3019. null or empty list means "this
  3020. pod's namespace"
  3021. items:
  3022. type: string
  3023. type: array
  3024. topologyKey:
  3025. description: This pod should
  3026. be co-located (affinity) or
  3027. not co-located (anti-affinity)
  3028. with the pods matching the
  3029. labelSelector in the specified
  3030. namespaces, where co-located
  3031. is defined as running on a
  3032. node whose value of the label
  3033. with key topologyKey matches
  3034. that of any node on which
  3035. any of the selected pods is
  3036. running. Empty topologyKey
  3037. is not allowed.
  3038. type: string
  3039. required:
  3040. - topologyKey
  3041. type: object
  3042. type: array
  3043. type: object
  3044. podAntiAffinity:
  3045. description: Describes pod anti-affinity
  3046. scheduling rules (e.g. avoid putting
  3047. this pod in the same node, zone, etc.
  3048. as some other pod(s)).
  3049. properties:
  3050. preferredDuringSchedulingIgnoredDuringExecution:
  3051. description: The scheduler will prefer
  3052. to schedule pods to nodes that satisfy
  3053. the anti-affinity expressions specified
  3054. by this field, but it may choose
  3055. a node that violates one or more
  3056. of the expressions. The node that
  3057. is most preferred is the one with
  3058. the greatest sum of weights, i.e.
  3059. for each node that meets all of
  3060. the scheduling requirements (resource
  3061. request, requiredDuringScheduling
  3062. anti-affinity expressions, etc.),
  3063. compute a sum by iterating through
  3064. the elements of this field and adding
  3065. "weight" to the sum if the node
  3066. has pods which matches the corresponding
  3067. podAffinityTerm; the node(s) with
  3068. the highest sum are the most preferred.
  3069. items:
  3070. description: The weights of all
  3071. of the matched WeightedPodAffinityTerm
  3072. fields are added per-node to find
  3073. the most preferred node(s)
  3074. properties:
  3075. podAffinityTerm:
  3076. description: Required. A pod
  3077. affinity term, associated
  3078. with the corresponding weight.
  3079. properties:
  3080. labelSelector:
  3081. description: A label query
  3082. over a set of resources,
  3083. in this case pods.
  3084. properties:
  3085. matchExpressions:
  3086. description: matchExpressions
  3087. is a list of label
  3088. selector requirements.
  3089. The requirements are
  3090. ANDed.
  3091. items:
  3092. description: A label
  3093. selector requirement
  3094. is a selector that
  3095. contains values,
  3096. a key, and an operator
  3097. that relates the
  3098. key and values.
  3099. properties:
  3100. key:
  3101. description: key
  3102. is the label
  3103. key that the
  3104. selector applies
  3105. to.
  3106. type: string
  3107. operator:
  3108. description: operator
  3109. represents a
  3110. key's relationship
  3111. to a set of
  3112. values. Valid
  3113. operators are
  3114. In, NotIn, Exists
  3115. and DoesNotExist.
  3116. type: string
  3117. values:
  3118. description: values
  3119. is an array
  3120. of string values.
  3121. If the operator
  3122. is In or NotIn,
  3123. the values array
  3124. must be non-empty.
  3125. If the operator
  3126. is Exists or
  3127. DoesNotExist,
  3128. the values array
  3129. must be empty.
  3130. This array is
  3131. replaced during
  3132. a strategic
  3133. merge patch.
  3134. items:
  3135. type: string
  3136. type: array
  3137. required:
  3138. - key
  3139. - operator
  3140. type: object
  3141. type: array
  3142. matchLabels:
  3143. additionalProperties:
  3144. type: string
  3145. description: matchLabels
  3146. is a map of {key,value}
  3147. pairs. A single {key,value}
  3148. in the matchLabels
  3149. map is equivalent
  3150. to an element of matchExpressions,
  3151. whose key field is
  3152. "key", the operator
  3153. is "In", and the values
  3154. array contains only
  3155. "value". The requirements
  3156. are ANDed.
  3157. type: object
  3158. type: object
  3159. namespaces:
  3160. description: namespaces
  3161. specifies which namespaces
  3162. the labelSelector applies
  3163. to (matches against);
  3164. null or empty list means
  3165. "this pod's namespace"
  3166. items:
  3167. type: string
  3168. type: array
  3169. topologyKey:
  3170. description: This pod should
  3171. be co-located (affinity)
  3172. or not co-located (anti-affinity)
  3173. with the pods matching
  3174. the labelSelector in the
  3175. specified namespaces,
  3176. where co-located is defined
  3177. as running on a node whose
  3178. value of the label with
  3179. key topologyKey matches
  3180. that of any node on which
  3181. any of the selected pods
  3182. is running. Empty topologyKey
  3183. is not allowed.
  3184. type: string
  3185. required:
  3186. - topologyKey
  3187. type: object
  3188. weight:
  3189. description: weight associated
  3190. with matching the corresponding
  3191. podAffinityTerm, in the range
  3192. 1-100.
  3193. format: int32
  3194. type: integer
  3195. required:
  3196. - podAffinityTerm
  3197. - weight
  3198. type: object
  3199. type: array
  3200. requiredDuringSchedulingIgnoredDuringExecution:
  3201. description: If the anti-affinity
  3202. requirements specified by this field
  3203. are not met at scheduling time,
  3204. the pod will not be scheduled onto
  3205. the node. If the anti-affinity requirements
  3206. specified by this field cease to
  3207. be met at some point during pod
  3208. execution (e.g. due to a pod label
  3209. update), the system may or may not
  3210. try to eventually evict the pod
  3211. from its node. When there are multiple
  3212. elements, the lists of nodes corresponding
  3213. to each podAffinityTerm are intersected,
  3214. i.e. all terms must be satisfied.
  3215. items:
  3216. description: Defines a set of pods
  3217. (namely those matching the labelSelector
  3218. relative to the given namespace(s))
  3219. that this pod should be co-located
  3220. (affinity) or not co-located (anti-affinity)
  3221. with, where co-located is defined
  3222. as running on a node whose value
  3223. of the label with key <topologyKey>
  3224. matches that of any node on which
  3225. a pod of the set of pods is running
  3226. properties:
  3227. labelSelector:
  3228. description: A label query over
  3229. a set of resources, in this
  3230. case pods.
  3231. properties:
  3232. matchExpressions:
  3233. description: matchExpressions
  3234. is a list of label selector
  3235. requirements. The requirements
  3236. are ANDed.
  3237. items:
  3238. description: A label selector
  3239. requirement is a selector
  3240. that contains values,
  3241. a key, and an operator
  3242. that relates the key
  3243. and values.
  3244. properties:
  3245. key:
  3246. description: key is
  3247. the label key that
  3248. the selector applies
  3249. to.
  3250. type: string
  3251. operator:
  3252. description: operator
  3253. represents a key's
  3254. relationship to
  3255. a set of values.
  3256. Valid operators
  3257. are In, NotIn, Exists
  3258. and DoesNotExist.
  3259. type: string
  3260. values:
  3261. description: values
  3262. is an array of string
  3263. values. If the operator
  3264. is In or NotIn,
  3265. the values array
  3266. must be non-empty.
  3267. If the operator
  3268. is Exists or DoesNotExist,
  3269. the values array
  3270. must be empty. This
  3271. array is replaced
  3272. during a strategic
  3273. merge patch.
  3274. items:
  3275. type: string
  3276. type: array
  3277. required:
  3278. - key
  3279. - operator
  3280. type: object
  3281. type: array
  3282. matchLabels:
  3283. additionalProperties:
  3284. type: string
  3285. description: matchLabels
  3286. is a map of {key,value}
  3287. pairs. A single {key,value}
  3288. in the matchLabels map
  3289. is equivalent to an element
  3290. of matchExpressions, whose
  3291. key field is "key", the
  3292. operator is "In", and
  3293. the values array contains
  3294. only "value". The requirements
  3295. are ANDed.
  3296. type: object
  3297. type: object
  3298. namespaces:
  3299. description: namespaces specifies
  3300. which namespaces the labelSelector
  3301. applies to (matches against);
  3302. null or empty list means "this
  3303. pod's namespace"
  3304. items:
  3305. type: string
  3306. type: array
  3307. topologyKey:
  3308. description: This pod should
  3309. be co-located (affinity) or
  3310. not co-located (anti-affinity)
  3311. with the pods matching the
  3312. labelSelector in the specified
  3313. namespaces, where co-located
  3314. is defined as running on a
  3315. node whose value of the label
  3316. with key topologyKey matches
  3317. that of any node on which
  3318. any of the selected pods is
  3319. running. Empty topologyKey
  3320. is not allowed.
  3321. type: string
  3322. required:
  3323. - topologyKey
  3324. type: object
  3325. type: array
  3326. type: object
  3327. type: object
  3328. nodeSelector:
  3329. additionalProperties:
  3330. type: string
  3331. description: 'NodeSelector is a selector which
  3332. must be true for the pod to fit on a node.
  3333. Selector which must match a node''s labels
  3334. for the pod to be scheduled on that node.
  3335. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  3336. type: object
  3337. tolerations:
  3338. description: If specified, the pod's tolerations.
  3339. items:
  3340. description: The pod this Toleration is
  3341. attached to tolerates any taint that matches
  3342. the triple <key,value,effect> using the
  3343. matching operator <operator>.
  3344. properties:
  3345. effect:
  3346. description: Effect indicates the taint
  3347. effect to match. Empty means match
  3348. all taint effects. When specified,
  3349. allowed values are NoSchedule, PreferNoSchedule
  3350. and NoExecute.
  3351. type: string
  3352. key:
  3353. description: Key is the taint key that
  3354. the toleration applies to. Empty means
  3355. match all taint keys. If the key is
  3356. empty, operator must be Exists; this
  3357. combination means to match all values
  3358. and all keys.
  3359. type: string
  3360. operator:
  3361. description: Operator represents a key's
  3362. relationship to the value. Valid operators
  3363. are Exists and Equal. Defaults to
  3364. Equal. Exists is equivalent to wildcard
  3365. for value, so that a pod can tolerate
  3366. all taints of a particular category.
  3367. type: string
  3368. tolerationSeconds:
  3369. description: TolerationSeconds represents
  3370. the period of time the toleration
  3371. (which must be of effect NoExecute,
  3372. otherwise this field is ignored) tolerates
  3373. the taint. By default, it is not set,
  3374. which means tolerate the taint forever
  3375. (do not evict). Zero and negative
  3376. values will be treated as 0 (evict
  3377. immediately) by the system.
  3378. format: int64
  3379. type: integer
  3380. value:
  3381. description: Value is the taint value
  3382. the toleration matches to. If the
  3383. operator is Exists, the value should
  3384. be empty, otherwise just a regular
  3385. string.
  3386. type: string
  3387. type: object
  3388. type: array
  3389. type: object
  3390. type: object
  3391. serviceType:
  3392. description: Optional service type for Kubernetes
  3393. solver service
  3394. type: string
  3395. type: object
  3396. type: object
  3397. selector:
  3398. description: Selector selects a set of DNSNames on the Certificate
  3399. resource that should be solved using this challenge solver.
  3400. properties:
  3401. dnsNames:
  3402. description: List of DNSNames that this solver will be
  3403. used to solve. If specified and a match is found, a
  3404. dnsNames selector will take precedence over a dnsZones
  3405. selector. If multiple solvers match with the same dnsNames
  3406. value, the solver with the most matching labels in matchLabels
  3407. will be selected. If neither has more matches, the solver
  3408. defined earlier in the list will be selected.
  3409. items:
  3410. type: string
  3411. type: array
  3412. dnsZones:
  3413. description: List of DNSZones that this solver will be
  3414. used to solve. The most specific DNS zone match specified
  3415. here will take precedence over other DNS zone matches,
  3416. so a solver specifying sys.example.com will be selected
  3417. over one specifying example.com for the domain www.sys.example.com.
  3418. If multiple solvers match with the same dnsZones value,
  3419. the solver with the most matching labels in matchLabels
  3420. will be selected. If neither has more matches, the solver
  3421. defined earlier in the list will be selected.
  3422. items:
  3423. type: string
  3424. type: array
  3425. matchLabels:
  3426. additionalProperties:
  3427. type: string
  3428. description: A label selector that is used to refine the
  3429. set of certificate's that this challenge solver will
  3430. apply to.
  3431. type: object
  3432. type: object
  3433. type: object
  3434. type: array
  3435. required:
  3436. - privateKeySecretRef
  3437. - server
  3438. type: object
  3439. ca:
  3440. properties:
  3441. secretName:
  3442. description: SecretName is the name of the secret used to sign Certificates
  3443. issued by this Issuer.
  3444. type: string
  3445. required:
  3446. - secretName
  3447. type: object
  3448. selfSigned:
  3449. type: object
  3450. vault:
  3451. properties:
  3452. auth:
  3453. description: Vault authentication
  3454. properties:
  3455. appRole:
  3456. description: This Secret contains a AppRole and Secret
  3457. properties:
  3458. path:
  3459. description: Where the authentication path is mounted in
  3460. Vault.
  3461. type: string
  3462. roleId:
  3463. type: string
  3464. secretRef:
  3465. properties:
  3466. key:
  3467. description: The key of the secret to select from. Must
  3468. be a valid secret key.
  3469. type: string
  3470. name:
  3471. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3472. TODO: Add other useful fields. apiVersion, kind, uid?'
  3473. type: string
  3474. required:
  3475. - name
  3476. type: object
  3477. required:
  3478. - path
  3479. - roleId
  3480. - secretRef
  3481. type: object
  3482. kubernetes:
  3483. description: This contains a Role and Secret with a ServiceAccount
  3484. token to authenticate with vault.
  3485. properties:
  3486. mountPath:
  3487. description: The value here will be used as part of the
  3488. path used when authenticating with vault, for example
  3489. if you set a value of "foo", the path used will be `/v1/auth/foo/login`.
  3490. If unspecified, the default value "kubernetes" will be
  3491. used.
  3492. type: string
  3493. role:
  3494. description: A required field containing the Vault Role
  3495. to assume. A Role binds a Kubernetes ServiceAccount with
  3496. a set of Vault policies.
  3497. type: string
  3498. secretRef:
  3499. description: The required Secret field containing a Kubernetes
  3500. ServiceAccount JWT used for authenticating with Vault.
  3501. Use of 'ambient credentials' is not supported.
  3502. properties:
  3503. key:
  3504. description: The key of the secret to select from. Must
  3505. be a valid secret key.
  3506. type: string
  3507. name:
  3508. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3509. TODO: Add other useful fields. apiVersion, kind, uid?'
  3510. type: string
  3511. required:
  3512. - name
  3513. type: object
  3514. required:
  3515. - role
  3516. - secretRef
  3517. type: object
  3518. tokenSecretRef:
  3519. description: This Secret contains the Vault token key
  3520. properties:
  3521. key:
  3522. description: The key of the secret to select from. Must
  3523. be a valid secret key.
  3524. type: string
  3525. name:
  3526. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3527. TODO: Add other useful fields. apiVersion, kind, uid?'
  3528. type: string
  3529. required:
  3530. - name
  3531. type: object
  3532. type: object
  3533. caBundle:
  3534. description: Base64 encoded CA bundle to validate Vault server certificate.
  3535. Only used if the Server URL is using HTTPS protocol. This parameter
  3536. is ignored for plain HTTP protocol connection. If not set the
  3537. system root certificates are used to validate the TLS connection.
  3538. format: byte
  3539. type: string
  3540. path:
  3541. description: Vault URL path to the certificate role
  3542. type: string
  3543. server:
  3544. description: Server is the vault connection address
  3545. type: string
  3546. required:
  3547. - auth
  3548. - path
  3549. - server
  3550. type: object
  3551. venafi:
  3552. description: VenafiIssuer describes issuer configuration details for
  3553. Venafi Cloud.
  3554. properties:
  3555. cloud:
  3556. description: Cloud specifies the Venafi cloud configuration settings.
  3557. Only one of TPP or Cloud may be specified.
  3558. properties:
  3559. apiTokenSecretRef:
  3560. description: APITokenSecretRef is a secret key selector for
  3561. the Venafi Cloud API token.
  3562. properties:
  3563. key:
  3564. description: The key of the secret to select from. Must
  3565. be a valid secret key.
  3566. type: string
  3567. name:
  3568. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3569. TODO: Add other useful fields. apiVersion, kind, uid?'
  3570. type: string
  3571. required:
  3572. - name
  3573. type: object
  3574. url:
  3575. description: URL is the base URL for Venafi Cloud
  3576. type: string
  3577. required:
  3578. - apiTokenSecretRef
  3579. - url
  3580. type: object
  3581. tpp:
  3582. description: TPP specifies Trust Protection Platform configuration
  3583. settings. Only one of TPP or Cloud may be specified.
  3584. properties:
  3585. caBundle:
  3586. description: CABundle is a PEM encoded TLS certifiate to use
  3587. to verify connections to the TPP instance. If specified, system
  3588. roots will not be used and the issuing CA for the TPP instance
  3589. must be verifiable using the provided root. If not specified,
  3590. the connection will be verified using the cert-manager system
  3591. root certificates.
  3592. format: byte
  3593. type: string
  3594. credentialsRef:
  3595. description: CredentialsRef is a reference to a Secret containing
  3596. the username and password for the TPP server. The secret must
  3597. contain two keys, 'username' and 'password'.
  3598. properties:
  3599. name:
  3600. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3601. TODO: Add other useful fields. apiVersion, kind, uid?'
  3602. type: string
  3603. required:
  3604. - name
  3605. type: object
  3606. url:
  3607. description: URL is the base URL for the Venafi TPP instance
  3608. type: string
  3609. required:
  3610. - credentialsRef
  3611. - url
  3612. type: object
  3613. zone:
  3614. description: Zone is the Venafi Policy Zone to use for this issuer.
  3615. All requests made to the Venafi platform will be restricted by
  3616. the named zone policy. This field is required.
  3617. type: string
  3618. required:
  3619. - zone
  3620. type: object
  3621. type: object
  3622. status:
  3623. description: IssuerStatus contains status information about an Issuer
  3624. properties:
  3625. acme:
  3626. properties:
  3627. lastRegisteredEmail:
  3628. description: LastRegisteredEmail is the email associated with the
  3629. latest registered ACME account, in order to track changes made
  3630. to registered account associated with the Issuer
  3631. type: string
  3632. uri:
  3633. description: URI is the unique account identifier, which can also
  3634. be used to retrieve account details from the CA
  3635. type: string
  3636. type: object
  3637. conditions:
  3638. items:
  3639. description: IssuerCondition contains condition information for an
  3640. Issuer.
  3641. properties:
  3642. lastTransitionTime:
  3643. description: LastTransitionTime is the timestamp corresponding
  3644. to the last status change of this condition.
  3645. format: date-time
  3646. type: string
  3647. message:
  3648. description: Message is a human readable description of the details
  3649. of the last transition, complementing reason.
  3650. type: string
  3651. reason:
  3652. description: Reason is a brief machine readable explanation for
  3653. the condition's last transition.
  3654. type: string
  3655. status:
  3656. description: Status of the condition, one of ('True', 'False',
  3657. 'Unknown').
  3658. enum:
  3659. - "True"
  3660. - "False"
  3661. - Unknown
  3662. type: string
  3663. type:
  3664. description: Type of the condition, currently ('Ready').
  3665. type: string
  3666. required:
  3667. - status
  3668. - type
  3669. type: object
  3670. type: array
  3671. type: object
  3672. type: object
  3673. version: v1alpha2
  3674. versions:
  3675. - name: v1alpha2
  3676. served: true
  3677. storage: true
  3678. status:
  3679. acceptedNames:
  3680. kind: ""
  3681. plural: ""
  3682. conditions: []
  3683. storedVersions: []
  3684. ---
  3685. ---
  3686. apiVersion: apiextensions.k8s.io/v1beta1
  3687. kind: CustomResourceDefinition
  3688. metadata:
  3689. creationTimestamp: null
  3690. name: issuers.cert-manager.io
  3691. spec:
  3692. group: cert-manager.io
  3693. names:
  3694. kind: Issuer
  3695. listKind: IssuerList
  3696. plural: issuers
  3697. singular: issuer
  3698. scope: Namespaced
  3699. subresources:
  3700. status: {}
  3701. validation:
  3702. openAPIV3Schema:
  3703. properties:
  3704. apiVersion:
  3705. description: 'APIVersion defines the versioned schema of this representation
  3706. of an object. Servers should convert recognized schemas to the latest
  3707. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3708. type: string
  3709. kind:
  3710. description: 'Kind is a string value representing the REST resource this
  3711. object represents. Servers may infer this from the endpoint the client
  3712. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3713. type: string
  3714. metadata:
  3715. type: object
  3716. spec:
  3717. description: IssuerSpec is the specification of an Issuer. This includes
  3718. any configuration required for the issuer.
  3719. properties:
  3720. acme:
  3721. description: ACMEIssuer contains the specification for an ACME issuer
  3722. properties:
  3723. email:
  3724. description: Email is the email for this account
  3725. type: string
  3726. privateKeySecretRef:
  3727. description: PrivateKey is the name of a secret containing the private
  3728. key for this user account.
  3729. properties:
  3730. key:
  3731. description: The key of the secret to select from. Must be a
  3732. valid secret key.
  3733. type: string
  3734. name:
  3735. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3736. TODO: Add other useful fields. apiVersion, kind, uid?'
  3737. type: string
  3738. required:
  3739. - name
  3740. type: object
  3741. server:
  3742. description: Server is the ACME server URL
  3743. type: string
  3744. skipTLSVerify:
  3745. description: If true, skip verifying the ACME server TLS certificate
  3746. type: boolean
  3747. solvers:
  3748. description: Solvers is a list of challenge solvers that will be
  3749. used to solve ACME challenges for the matching domains.
  3750. items:
  3751. properties:
  3752. dns01:
  3753. properties:
  3754. acmedns:
  3755. description: ACMEIssuerDNS01ProviderAcmeDNS is a structure
  3756. containing the configuration for ACME-DNS servers
  3757. properties:
  3758. accountSecretRef:
  3759. properties:
  3760. key:
  3761. description: The key of the secret to select from.
  3762. Must be a valid secret key.
  3763. type: string
  3764. name:
  3765. description: 'Name of the referent. More info:
  3766. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3767. TODO: Add other useful fields. apiVersion, kind,
  3768. uid?'
  3769. type: string
  3770. required:
  3771. - name
  3772. type: object
  3773. host:
  3774. type: string
  3775. required:
  3776. - accountSecretRef
  3777. - host
  3778. type: object
  3779. akamai:
  3780. description: ACMEIssuerDNS01ProviderAkamai is a structure
  3781. containing the DNS configuration for Akamai DNS—Zone
  3782. Record Management API
  3783. properties:
  3784. accessTokenSecretRef:
  3785. properties:
  3786. key:
  3787. description: The key of the secret to select from.
  3788. Must be a valid secret key.
  3789. type: string
  3790. name:
  3791. description: 'Name of the referent. More info:
  3792. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3793. TODO: Add other useful fields. apiVersion, kind,
  3794. uid?'
  3795. type: string
  3796. required:
  3797. - name
  3798. type: object
  3799. clientSecretSecretRef:
  3800. properties:
  3801. key:
  3802. description: The key of the secret to select from.
  3803. Must be a valid secret key.
  3804. type: string
  3805. name:
  3806. description: 'Name of the referent. More info:
  3807. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3808. TODO: Add other useful fields. apiVersion, kind,
  3809. uid?'
  3810. type: string
  3811. required:
  3812. - name
  3813. type: object
  3814. clientTokenSecretRef:
  3815. properties:
  3816. key:
  3817. description: The key of the secret to select from.
  3818. Must be a valid secret key.
  3819. type: string
  3820. name:
  3821. description: 'Name of the referent. More info:
  3822. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3823. TODO: Add other useful fields. apiVersion, kind,
  3824. uid?'
  3825. type: string
  3826. required:
  3827. - name
  3828. type: object
  3829. serviceConsumerDomain:
  3830. type: string
  3831. required:
  3832. - accessTokenSecretRef
  3833. - clientSecretSecretRef
  3834. - clientTokenSecretRef
  3835. - serviceConsumerDomain
  3836. type: object
  3837. azuredns:
  3838. description: ACMEIssuerDNS01ProviderAzureDNS is a structure
  3839. containing the configuration for Azure DNS
  3840. properties:
  3841. clientID:
  3842. type: string
  3843. clientSecretSecretRef:
  3844. properties:
  3845. key:
  3846. description: The key of the secret to select from.
  3847. Must be a valid secret key.
  3848. type: string
  3849. name:
  3850. description: 'Name of the referent. More info:
  3851. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3852. TODO: Add other useful fields. apiVersion, kind,
  3853. uid?'
  3854. type: string
  3855. required:
  3856. - name
  3857. type: object
  3858. environment:
  3859. enum:
  3860. - AzurePublicCloud
  3861. - AzureChinaCloud
  3862. - AzureGermanCloud
  3863. - AzureUSGovernmentCloud
  3864. type: string
  3865. hostedZoneName:
  3866. type: string
  3867. resourceGroupName:
  3868. type: string
  3869. subscriptionID:
  3870. type: string
  3871. tenantID:
  3872. type: string
  3873. required:
  3874. - clientID
  3875. - clientSecretSecretRef
  3876. - resourceGroupName
  3877. - subscriptionID
  3878. - tenantID
  3879. type: object
  3880. clouddns:
  3881. description: ACMEIssuerDNS01ProviderCloudDNS is a structure
  3882. containing the DNS configuration for Google Cloud DNS
  3883. properties:
  3884. project:
  3885. type: string
  3886. serviceAccountSecretRef:
  3887. properties:
  3888. key:
  3889. description: The key of the secret to select from.
  3890. Must be a valid secret key.
  3891. type: string
  3892. name:
  3893. description: 'Name of the referent. More info:
  3894. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3895. TODO: Add other useful fields. apiVersion, kind,
  3896. uid?'
  3897. type: string
  3898. required:
  3899. - name
  3900. type: object
  3901. required:
  3902. - project
  3903. - serviceAccountSecretRef
  3904. type: object
  3905. cloudflare:
  3906. description: ACMEIssuerDNS01ProviderCloudflare is a structure
  3907. containing the DNS configuration for Cloudflare
  3908. properties:
  3909. apiKeySecretRef:
  3910. properties:
  3911. key:
  3912. description: The key of the secret to select from.
  3913. Must be a valid secret key.
  3914. type: string
  3915. name:
  3916. description: 'Name of the referent. More info:
  3917. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3918. TODO: Add other useful fields. apiVersion, kind,
  3919. uid?'
  3920. type: string
  3921. required:
  3922. - name
  3923. type: object
  3924. email:
  3925. type: string
  3926. required:
  3927. - apiKeySecretRef
  3928. - email
  3929. type: object
  3930. cnameStrategy:
  3931. description: CNAMEStrategy configures how the DNS01 provider
  3932. should handle CNAME records when found in DNS zones.
  3933. enum:
  3934. - None
  3935. - Follow
  3936. type: string
  3937. digitalocean:
  3938. description: ACMEIssuerDNS01ProviderDigitalOcean is a
  3939. structure containing the DNS configuration for DigitalOcean
  3940. Domains
  3941. properties:
  3942. tokenSecretRef:
  3943. properties:
  3944. key:
  3945. description: The key of the secret to select from.
  3946. Must be a valid secret key.
  3947. type: string
  3948. name:
  3949. description: 'Name of the referent. More info:
  3950. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3951. TODO: Add other useful fields. apiVersion, kind,
  3952. uid?'
  3953. type: string
  3954. required:
  3955. - name
  3956. type: object
  3957. required:
  3958. - tokenSecretRef
  3959. type: object
  3960. rfc2136:
  3961. description: ACMEIssuerDNS01ProviderRFC2136 is a structure
  3962. containing the configuration for RFC2136 DNS
  3963. properties:
  3964. nameserver:
  3965. description: 'The IP address of the DNS supporting
  3966. RFC2136. Required. Note: FQDN is not a valid value,
  3967. only IP.'
  3968. type: string
  3969. tsigAlgorithm:
  3970. description: 'The TSIG Algorithm configured in the
  3971. DNS supporting RFC2136. Used only when ``tsigSecretSecretRef``
  3972. and ``tsigKeyName`` are defined. Supported values
  3973. are (case-insensitive): ``HMACMD5`` (default), ``HMACSHA1``,
  3974. ``HMACSHA256`` or ``HMACSHA512``.'
  3975. type: string
  3976. tsigKeyName:
  3977. description: The TSIG Key name configured in the DNS.
  3978. If ``tsigSecretSecretRef`` is defined, this field
  3979. is required.
  3980. type: string
  3981. tsigSecretSecretRef:
  3982. description: The name of the secret containing the
  3983. TSIG value. If ``tsigKeyName`` is defined, this
  3984. field is required.
  3985. properties:
  3986. key:
  3987. description: The key of the secret to select from.
  3988. Must be a valid secret key.
  3989. type: string
  3990. name:
  3991. description: 'Name of the referent. More info:
  3992. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3993. TODO: Add other useful fields. apiVersion, kind,
  3994. uid?'
  3995. type: string
  3996. required:
  3997. - name
  3998. type: object
  3999. required:
  4000. - nameserver
  4001. type: object
  4002. route53:
  4003. description: ACMEIssuerDNS01ProviderRoute53 is a structure
  4004. containing the Route 53 configuration for AWS
  4005. properties:
  4006. accessKeyID:
  4007. description: 'The AccessKeyID is used for authentication.
  4008. If not set we fall-back to using env vars, shared
  4009. credentials file or AWS Instance metadata see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  4010. type: string
  4011. hostedZoneID:
  4012. description: If set, the provider will manage only
  4013. this zone in Route53 and will not do an lookup using
  4014. the route53:ListHostedZonesByName api call.
  4015. type: string
  4016. region:
  4017. description: Always set the region when using AccessKeyID
  4018. and SecretAccessKey
  4019. type: string
  4020. role:
  4021. description: Role is a Role ARN which the Route53
  4022. provider will assume using either the explicit credentials
  4023. AccessKeyID/SecretAccessKey or the inferred credentials
  4024. from environment variables, shared credentials file
  4025. or AWS Instance metadata
  4026. type: string
  4027. secretAccessKeySecretRef:
  4028. description: The SecretAccessKey is used for authentication.
  4029. If not set we fall-back to using env vars, shared
  4030. credentials file or AWS Instance metadata https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
  4031. properties:
  4032. key:
  4033. description: The key of the secret to select from.
  4034. Must be a valid secret key.
  4035. type: string
  4036. name:
  4037. description: 'Name of the referent. More info:
  4038. https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4039. TODO: Add other useful fields. apiVersion, kind,
  4040. uid?'
  4041. type: string
  4042. required:
  4043. - name
  4044. type: object
  4045. required:
  4046. - region
  4047. type: object
  4048. webhook:
  4049. description: ACMEIssuerDNS01ProviderWebhook specifies
  4050. configuration for a webhook DNS01 provider, including
  4051. where to POST ChallengePayload resources.
  4052. properties:
  4053. config:
  4054. description: Additional configuration that should
  4055. be passed to the webhook apiserver when challenges
  4056. are processed. This can contain arbitrary JSON data.
  4057. Secret values should not be specified in this stanza.
  4058. If secret values are needed (e.g. credentials for
  4059. a DNS service), you should use a SecretKeySelector
  4060. to reference a Secret resource. For details on the
  4061. schema of this field, consult the webhook provider
  4062. implementation's documentation.
  4063. x-kubernetes-preserve-unknown-fields: true
  4064. groupName:
  4065. description: The API group name that should be used
  4066. when POSTing ChallengePayload resources to the webhook
  4067. apiserver. This should be the same as the GroupName
  4068. specified in the webhook provider implementation.
  4069. type: string
  4070. solverName:
  4071. description: The name of the solver to use, as defined
  4072. in the webhook provider implementation. This will
  4073. typically be the name of the provider, e.g. 'cloudflare'.
  4074. type: string
  4075. required:
  4076. - groupName
  4077. - solverName
  4078. type: object
  4079. type: object
  4080. http01:
  4081. description: ACMEChallengeSolverHTTP01 contains configuration
  4082. detailing how to solve HTTP01 challenges within a Kubernetes
  4083. cluster. Typically this is accomplished through creating
  4084. 'routes' of some description that configure ingress controllers
  4085. to direct traffic to 'solver pods', which are responsible
  4086. for responding to the ACME server's HTTP requests.
  4087. properties:
  4088. ingress:
  4089. description: The ingress based HTTP01 challenge solver
  4090. will solve challenges by creating or modifying Ingress
  4091. resources in order to route requests for '/.well-known/acme-challenge/XYZ'
  4092. to 'challenge solver' pods that are provisioned by cert-manager
  4093. for each Challenge to be completed.
  4094. properties:
  4095. class:
  4096. description: The ingress class to use when creating
  4097. Ingress resources to solve ACME challenges that
  4098. use this challenge solver. Only one of 'class' or
  4099. 'name' may be specified.
  4100. type: string
  4101. name:
  4102. description: The name of the ingress resource that
  4103. should have ACME challenge solving routes inserted
  4104. into it in order to solve HTTP01 challenges. This
  4105. is typically used in conjunction with ingress controllers
  4106. like ingress-gce, which maintains a 1:1 mapping
  4107. between external IPs and ingress resources.
  4108. type: string
  4109. podTemplate:
  4110. description: Optional pod template used to configure
  4111. the ACME challenge solver pods used for HTTP01 challenges
  4112. properties:
  4113. metadata:
  4114. description: ObjectMeta overrides for the pod
  4115. used to solve HTTP01 challenges. Only the 'labels'
  4116. and 'annotations' fields may be set. If labels
  4117. or annotations overlap with in-built values,
  4118. the values here will override the in-built values.
  4119. type: object
  4120. spec:
  4121. description: PodSpec defines overrides for the
  4122. HTTP01 challenge solver pod. Only the 'nodeSelector',
  4123. 'affinity' and 'tolerations' fields are supported
  4124. currently. All other fields will be ignored.
  4125. properties:
  4126. affinity:
  4127. description: If specified, the pod's scheduling
  4128. constraints
  4129. properties:
  4130. nodeAffinity:
  4131. description: Describes node affinity scheduling
  4132. rules for the pod.
  4133. properties:
  4134. preferredDuringSchedulingIgnoredDuringExecution:
  4135. description: The scheduler will prefer
  4136. to schedule pods to nodes that satisfy
  4137. the affinity expressions specified
  4138. by this field, but it may choose
  4139. a node that violates one or more
  4140. of the expressions. The node that
  4141. is most preferred is the one with
  4142. the greatest sum of weights, i.e.
  4143. for each node that meets all of
  4144. the scheduling requirements (resource
  4145. request, requiredDuringScheduling
  4146. affinity expressions, etc.), compute
  4147. a sum by iterating through the elements
  4148. of this field and adding "weight"
  4149. to the sum if the node matches the
  4150. corresponding matchExpressions;
  4151. the node(s) with the highest sum
  4152. are the most preferred.
  4153. items:
  4154. description: An empty preferred
  4155. scheduling term matches all objects
  4156. with implicit weight 0 (i.e. it's
  4157. a no-op). A null preferred scheduling
  4158. term matches no objects (i.e.
  4159. is also a no-op).
  4160. properties:
  4161. preference:
  4162. description: A node selector
  4163. term, associated with the
  4164. corresponding weight.
  4165. properties:
  4166. matchExpressions:
  4167. description: A list of node
  4168. selector requirements
  4169. by node's labels.
  4170. items:
  4171. description: A node selector
  4172. requirement is a selector
  4173. that contains values,
  4174. a key, and an operator
  4175. that relates the key
  4176. and values.
  4177. properties:
  4178. key:
  4179. description: The label
  4180. key that the selector
  4181. applies to.
  4182. type: string
  4183. operator:
  4184. description: Represents
  4185. a key's relationship
  4186. to a set of values.
  4187. Valid operators
  4188. are In, NotIn, Exists,
  4189. DoesNotExist. Gt,
  4190. and Lt.
  4191. type: string
  4192. values:
  4193. description: An array
  4194. of string values.
  4195. If the operator
  4196. is In or NotIn,
  4197. the values array
  4198. must be non-empty.
  4199. If the operator
  4200. is Exists or DoesNotExist,
  4201. the values array
  4202. must be empty. If
  4203. the operator is
  4204. Gt or Lt, the values
  4205. array must have
  4206. a single element,
  4207. which will be interpreted
  4208. as an integer. This
  4209. array is replaced
  4210. during a strategic
  4211. merge patch.
  4212. items:
  4213. type: string
  4214. type: array
  4215. required:
  4216. - key
  4217. - operator
  4218. type: object
  4219. type: array
  4220. matchFields:
  4221. description: A list of node
  4222. selector requirements
  4223. by node's fields.
  4224. items:
  4225. description: A node selector
  4226. requirement is a selector
  4227. that contains values,
  4228. a key, and an operator
  4229. that relates the key
  4230. and values.
  4231. properties:
  4232. key:
  4233. description: The label
  4234. key that the selector
  4235. applies to.
  4236. type: string
  4237. operator:
  4238. description: Represents
  4239. a key's relationship
  4240. to a set of values.
  4241. Valid operators
  4242. are In, NotIn, Exists,
  4243. DoesNotExist. Gt,
  4244. and Lt.
  4245. type: string
  4246. values:
  4247. description: An array
  4248. of string values.
  4249. If the operator
  4250. is In or NotIn,
  4251. the values array
  4252. must be non-empty.
  4253. If the operator
  4254. is Exists or DoesNotExist,
  4255. the values array
  4256. must be empty. If
  4257. the operator is
  4258. Gt or Lt, the values
  4259. array must have
  4260. a single element,
  4261. which will be interpreted
  4262. as an integer. This
  4263. array is replaced
  4264. during a strategic
  4265. merge patch.
  4266. items:
  4267. type: string
  4268. type: array
  4269. required:
  4270. - key
  4271. - operator
  4272. type: object
  4273. type: array
  4274. type: object
  4275. weight:
  4276. description: Weight associated
  4277. with matching the corresponding
  4278. nodeSelectorTerm, in the range
  4279. 1-100.
  4280. format: int32
  4281. type: integer
  4282. required:
  4283. - preference
  4284. - weight
  4285. type: object
  4286. type: array
  4287. requiredDuringSchedulingIgnoredDuringExecution:
  4288. description: If the affinity requirements
  4289. specified by this field are not
  4290. met at scheduling time, the pod
  4291. will not be scheduled onto the node.
  4292. If the affinity requirements specified
  4293. by this field cease to be met at
  4294. some point during pod execution
  4295. (e.g. due to an update), the system
  4296. may or may not try to eventually
  4297. evict the pod from its node.
  4298. properties:
  4299. nodeSelectorTerms:
  4300. description: Required. A list
  4301. of node selector terms. The
  4302. terms are ORed.
  4303. items:
  4304. description: A null or empty
  4305. node selector term matches
  4306. no objects. The requirements
  4307. of them are ANDed. The TopologySelectorTerm
  4308. type implements a subset of
  4309. the NodeSelectorTerm.
  4310. properties:
  4311. matchExpressions:
  4312. description: A list of node
  4313. selector requirements
  4314. by node's labels.
  4315. items:
  4316. description: A node selector
  4317. requirement is a selector
  4318. that contains values,
  4319. a key, and an operator
  4320. that relates the key
  4321. and values.
  4322. properties:
  4323. key:
  4324. description: The label
  4325. key that the selector
  4326. applies to.
  4327. type: string
  4328. operator:
  4329. description: Represents
  4330. a key's relationship
  4331. to a set of values.
  4332. Valid operators
  4333. are In, NotIn, Exists,
  4334. DoesNotExist. Gt,
  4335. and Lt.
  4336. type: string
  4337. values:
  4338. description: An array
  4339. of string values.
  4340. If the operator
  4341. is In or NotIn,
  4342. the values array
  4343. must be non-empty.
  4344. If the operator
  4345. is Exists or DoesNotExist,
  4346. the values array
  4347. must be empty. If
  4348. the operator is
  4349. Gt or Lt, the values
  4350. array must have
  4351. a single element,
  4352. which will be interpreted
  4353. as an integer. This
  4354. array is replaced
  4355. during a strategic
  4356. merge patch.
  4357. items:
  4358. type: string
  4359. type: array
  4360. required:
  4361. - key
  4362. - operator
  4363. type: object
  4364. type: array
  4365. matchFields:
  4366. description: A list of node
  4367. selector requirements
  4368. by node's fields.
  4369. items:
  4370. description: A node selector
  4371. requirement is a selector
  4372. that contains values,
  4373. a key, and an operator
  4374. that relates the key
  4375. and values.
  4376. properties:
  4377. key:
  4378. description: The label
  4379. key that the selector
  4380. applies to.
  4381. type: string
  4382. operator:
  4383. description: Represents
  4384. a key's relationship
  4385. to a set of values.
  4386. Valid operators
  4387. are In, NotIn, Exists,
  4388. DoesNotExist. Gt,
  4389. and Lt.
  4390. type: string
  4391. values:
  4392. description: An array
  4393. of string values.
  4394. If the operator
  4395. is In or NotIn,
  4396. the values array
  4397. must be non-empty.
  4398. If the operator
  4399. is Exists or DoesNotExist,
  4400. the values array
  4401. must be empty. If
  4402. the operator is
  4403. Gt or Lt, the values
  4404. array must have
  4405. a single element,
  4406. which will be interpreted
  4407. as an integer. This
  4408. array is replaced
  4409. during a strategic
  4410. merge patch.
  4411. items:
  4412. type: string
  4413. type: array
  4414. required:
  4415. - key
  4416. - operator
  4417. type: object
  4418. type: array
  4419. type: object
  4420. type: array
  4421. required:
  4422. - nodeSelectorTerms
  4423. type: object
  4424. type: object
  4425. podAffinity:
  4426. description: Describes pod affinity scheduling
  4427. rules (e.g. co-locate this pod in the
  4428. same node, zone, etc. as some other
  4429. pod(s)).
  4430. properties:
  4431. preferredDuringSchedulingIgnoredDuringExecution:
  4432. description: The scheduler will prefer
  4433. to schedule pods to nodes that satisfy
  4434. the affinity expressions specified
  4435. by this field, but it may choose
  4436. a node that violates one or more
  4437. of the expressions. The node that
  4438. is most preferred is the one with
  4439. the greatest sum of weights, i.e.
  4440. for each node that meets all of
  4441. the scheduling requirements (resource
  4442. request, requiredDuringScheduling
  4443. affinity expressions, etc.), compute
  4444. a sum by iterating through the elements
  4445. of this field and adding "weight"
  4446. to the sum if the node has pods
  4447. which matches the corresponding
  4448. podAffinityTerm; the node(s) with
  4449. the highest sum are the most preferred.
  4450. items:
  4451. description: The weights of all
  4452. of the matched WeightedPodAffinityTerm
  4453. fields are added per-node to find
  4454. the most preferred node(s)
  4455. properties:
  4456. podAffinityTerm:
  4457. description: Required. A pod
  4458. affinity term, associated
  4459. with the corresponding weight.
  4460. properties:
  4461. labelSelector:
  4462. description: A label query
  4463. over a set of resources,
  4464. in this case pods.
  4465. properties:
  4466. matchExpressions:
  4467. description: matchExpressions
  4468. is a list of label
  4469. selector requirements.
  4470. The requirements are
  4471. ANDed.
  4472. items:
  4473. description: A label
  4474. selector requirement
  4475. is a selector that
  4476. contains values,
  4477. a key, and an operator
  4478. that relates the
  4479. key and values.
  4480. properties:
  4481. key:
  4482. description: key
  4483. is the label
  4484. key that the
  4485. selector applies
  4486. to.
  4487. type: string
  4488. operator:
  4489. description: operator
  4490. represents a
  4491. key's relationship
  4492. to a set of
  4493. values. Valid
  4494. operators are
  4495. In, NotIn, Exists
  4496. and DoesNotExist.
  4497. type: string
  4498. values:
  4499. description: values
  4500. is an array
  4501. of string values.
  4502. If the operator
  4503. is In or NotIn,
  4504. the values array
  4505. must be non-empty.
  4506. If the operator
  4507. is Exists or
  4508. DoesNotExist,
  4509. the values array
  4510. must be empty.
  4511. This array is
  4512. replaced during
  4513. a strategic
  4514. merge patch.
  4515. items:
  4516. type: string
  4517. type: array
  4518. required:
  4519. - key
  4520. - operator
  4521. type: object
  4522. type: array
  4523. matchLabels:
  4524. additionalProperties:
  4525. type: string
  4526. description: matchLabels
  4527. is a map of {key,value}
  4528. pairs. A single {key,value}
  4529. in the matchLabels
  4530. map is equivalent
  4531. to an element of matchExpressions,
  4532. whose key field is
  4533. "key", the operator
  4534. is "In", and the values
  4535. array contains only
  4536. "value". The requirements
  4537. are ANDed.
  4538. type: object
  4539. type: object
  4540. namespaces:
  4541. description: namespaces
  4542. specifies which namespaces
  4543. the labelSelector applies
  4544. to (matches against);
  4545. null or empty list means
  4546. "this pod's namespace"
  4547. items:
  4548. type: string
  4549. type: array
  4550. topologyKey:
  4551. description: This pod should
  4552. be co-located (affinity)
  4553. or not co-located (anti-affinity)
  4554. with the pods matching
  4555. the labelSelector in the
  4556. specified namespaces,
  4557. where co-located is defined
  4558. as running on a node whose
  4559. value of the label with
  4560. key topologyKey matches
  4561. that of any node on which
  4562. any of the selected pods
  4563. is running. Empty topologyKey
  4564. is not allowed.
  4565. type: string
  4566. required:
  4567. - topologyKey
  4568. type: object
  4569. weight:
  4570. description: weight associated
  4571. with matching the corresponding
  4572. podAffinityTerm, in the range
  4573. 1-100.
  4574. format: int32
  4575. type: integer
  4576. required:
  4577. - podAffinityTerm
  4578. - weight
  4579. type: object
  4580. type: array
  4581. requiredDuringSchedulingIgnoredDuringExecution:
  4582. description: If the affinity requirements
  4583. specified by this field are not
  4584. met at scheduling time, the pod
  4585. will not be scheduled onto the node.
  4586. If the affinity requirements specified
  4587. by this field cease to be met at
  4588. some point during pod execution
  4589. (e.g. due to a pod label update),
  4590. the system may or may not try to
  4591. eventually evict the pod from its
  4592. node. When there are multiple elements,
  4593. the lists of nodes corresponding
  4594. to each podAffinityTerm are intersected,
  4595. i.e. all terms must be satisfied.
  4596. items:
  4597. description: Defines a set of pods
  4598. (namely those matching the labelSelector
  4599. relative to the given namespace(s))
  4600. that this pod should be co-located
  4601. (affinity) or not co-located (anti-affinity)
  4602. with, where co-located is defined
  4603. as running on a node whose value
  4604. of the label with key <topologyKey>
  4605. matches that of any node on which
  4606. a pod of the set of pods is running
  4607. properties:
  4608. labelSelector:
  4609. description: A label query over
  4610. a set of resources, in this
  4611. case pods.
  4612. properties:
  4613. matchExpressions:
  4614. description: matchExpressions
  4615. is a list of label selector
  4616. requirements. The requirements
  4617. are ANDed.
  4618. items:
  4619. description: A label selector
  4620. requirement is a selector
  4621. that contains values,
  4622. a key, and an operator
  4623. that relates the key
  4624. and values.
  4625. properties:
  4626. key:
  4627. description: key is
  4628. the label key that
  4629. the selector applies
  4630. to.
  4631. type: string
  4632. operator:
  4633. description: operator
  4634. represents a key's
  4635. relationship to
  4636. a set of values.
  4637. Valid operators
  4638. are In, NotIn, Exists
  4639. and DoesNotExist.
  4640. type: string
  4641. values:
  4642. description: values
  4643. is an array of string
  4644. values. If the operator
  4645. is In or NotIn,
  4646. the values array
  4647. must be non-empty.
  4648. If the operator
  4649. is Exists or DoesNotExist,
  4650. the values array
  4651. must be empty. This
  4652. array is replaced
  4653. during a strategic
  4654. merge patch.
  4655. items:
  4656. type: string
  4657. type: array
  4658. required:
  4659. - key
  4660. - operator
  4661. type: object
  4662. type: array
  4663. matchLabels:
  4664. additionalProperties:
  4665. type: string
  4666. description: matchLabels
  4667. is a map of {key,value}
  4668. pairs. A single {key,value}
  4669. in the matchLabels map
  4670. is equivalent to an element
  4671. of matchExpressions, whose
  4672. key field is "key", the
  4673. operator is "In", and
  4674. the values array contains
  4675. only "value". The requirements
  4676. are ANDed.
  4677. type: object
  4678. type: object
  4679. namespaces:
  4680. description: namespaces specifies
  4681. which namespaces the labelSelector
  4682. applies to (matches against);
  4683. null or empty list means "this
  4684. pod's namespace"
  4685. items:
  4686. type: string
  4687. type: array
  4688. topologyKey:
  4689. description: This pod should
  4690. be co-located (affinity) or
  4691. not co-located (anti-affinity)
  4692. with the pods matching the
  4693. labelSelector in the specified
  4694. namespaces, where co-located
  4695. is defined as running on a
  4696. node whose value of the label
  4697. with key topologyKey matches
  4698. that of any node on which
  4699. any of the selected pods is
  4700. running. Empty topologyKey
  4701. is not allowed.
  4702. type: string
  4703. required:
  4704. - topologyKey
  4705. type: object
  4706. type: array
  4707. type: object
  4708. podAntiAffinity:
  4709. description: Describes pod anti-affinity
  4710. scheduling rules (e.g. avoid putting
  4711. this pod in the same node, zone, etc.
  4712. as some other pod(s)).
  4713. properties:
  4714. preferredDuringSchedulingIgnoredDuringExecution:
  4715. description: The scheduler will prefer
  4716. to schedule pods to nodes that satisfy
  4717. the anti-affinity expressions specified
  4718. by this field, but it may choose
  4719. a node that violates one or more
  4720. of the expressions. The node that
  4721. is most preferred is the one with
  4722. the greatest sum of weights, i.e.
  4723. for each node that meets all of
  4724. the scheduling requirements (resource
  4725. request, requiredDuringScheduling
  4726. anti-affinity expressions, etc.),
  4727. compute a sum by iterating through
  4728. the elements of this field and adding
  4729. "weight" to the sum if the node
  4730. has pods which matches the corresponding
  4731. podAffinityTerm; the node(s) with
  4732. the highest sum are the most preferred.
  4733. items:
  4734. description: The weights of all
  4735. of the matched WeightedPodAffinityTerm
  4736. fields are added per-node to find
  4737. the most preferred node(s)
  4738. properties:
  4739. podAffinityTerm:
  4740. description: Required. A pod
  4741. affinity term, associated
  4742. with the corresponding weight.
  4743. properties:
  4744. labelSelector:
  4745. description: A label query
  4746. over a set of resources,
  4747. in this case pods.
  4748. properties:
  4749. matchExpressions:
  4750. description: matchExpressions
  4751. is a list of label
  4752. selector requirements.
  4753. The requirements are
  4754. ANDed.
  4755. items:
  4756. description: A label
  4757. selector requirement
  4758. is a selector that
  4759. contains values,
  4760. a key, and an operator
  4761. that relates the
  4762. key and values.
  4763. properties:
  4764. key:
  4765. description: key
  4766. is the label
  4767. key that the
  4768. selector applies
  4769. to.
  4770. type: string
  4771. operator:
  4772. description: operator
  4773. represents a
  4774. key's relationship
  4775. to a set of
  4776. values. Valid
  4777. operators are
  4778. In, NotIn, Exists
  4779. and DoesNotExist.
  4780. type: string
  4781. values:
  4782. description: values
  4783. is an array
  4784. of string values.
  4785. If the operator
  4786. is In or NotIn,
  4787. the values array
  4788. must be non-empty.
  4789. If the operator
  4790. is Exists or
  4791. DoesNotExist,
  4792. the values array
  4793. must be empty.
  4794. This array is
  4795. replaced during
  4796. a strategic
  4797. merge patch.
  4798. items:
  4799. type: string
  4800. type: array
  4801. required:
  4802. - key
  4803. - operator
  4804. type: object
  4805. type: array
  4806. matchLabels:
  4807. additionalProperties:
  4808. type: string
  4809. description: matchLabels
  4810. is a map of {key,value}
  4811. pairs. A single {key,value}
  4812. in the matchLabels
  4813. map is equivalent
  4814. to an element of matchExpressions,
  4815. whose key field is
  4816. "key", the operator
  4817. is "In", and the values
  4818. array contains only
  4819. "value". The requirements
  4820. are ANDed.
  4821. type: object
  4822. type: object
  4823. namespaces:
  4824. description: namespaces
  4825. specifies which namespaces
  4826. the labelSelector applies
  4827. to (matches against);
  4828. null or empty list means
  4829. "this pod's namespace"
  4830. items:
  4831. type: string
  4832. type: array
  4833. topologyKey:
  4834. description: This pod should
  4835. be co-located (affinity)
  4836. or not co-located (anti-affinity)
  4837. with the pods matching
  4838. the labelSelector in the
  4839. specified namespaces,
  4840. where co-located is defined
  4841. as running on a node whose
  4842. value of the label with
  4843. key topologyKey matches
  4844. that of any node on which
  4845. any of the selected pods
  4846. is running. Empty topologyKey
  4847. is not allowed.
  4848. type: string
  4849. required:
  4850. - topologyKey
  4851. type: object
  4852. weight:
  4853. description: weight associated
  4854. with matching the corresponding
  4855. podAffinityTerm, in the range
  4856. 1-100.
  4857. format: int32
  4858. type: integer
  4859. required:
  4860. - podAffinityTerm
  4861. - weight
  4862. type: object
  4863. type: array
  4864. requiredDuringSchedulingIgnoredDuringExecution:
  4865. description: If the anti-affinity
  4866. requirements specified by this field
  4867. are not met at scheduling time,
  4868. the pod will not be scheduled onto
  4869. the node. If the anti-affinity requirements
  4870. specified by this field cease to
  4871. be met at some point during pod
  4872. execution (e.g. due to a pod label
  4873. update), the system may or may not
  4874. try to eventually evict the pod
  4875. from its node. When there are multiple
  4876. elements, the lists of nodes corresponding
  4877. to each podAffinityTerm are intersected,
  4878. i.e. all terms must be satisfied.
  4879. items:
  4880. description: Defines a set of pods
  4881. (namely those matching the labelSelector
  4882. relative to the given namespace(s))
  4883. that this pod should be co-located
  4884. (affinity) or not co-located (anti-affinity)
  4885. with, where co-located is defined
  4886. as running on a node whose value
  4887. of the label with key <topologyKey>
  4888. matches that of any node on which
  4889. a pod of the set of pods is running
  4890. properties:
  4891. labelSelector:
  4892. description: A label query over
  4893. a set of resources, in this
  4894. case pods.
  4895. properties:
  4896. matchExpressions:
  4897. description: matchExpressions
  4898. is a list of label selector
  4899. requirements. The requirements
  4900. are ANDed.
  4901. items:
  4902. description: A label selector
  4903. requirement is a selector
  4904. that contains values,
  4905. a key, and an operator
  4906. that relates the key
  4907. and values.
  4908. properties:
  4909. key:
  4910. description: key is
  4911. the label key that
  4912. the selector applies
  4913. to.
  4914. type: string
  4915. operator:
  4916. description: operator
  4917. represents a key's
  4918. relationship to
  4919. a set of values.
  4920. Valid operators
  4921. are In, NotIn, Exists
  4922. and DoesNotExist.
  4923. type: string
  4924. values:
  4925. description: values
  4926. is an array of string
  4927. values. If the operator
  4928. is In or NotIn,
  4929. the values array
  4930. must be non-empty.
  4931. If the operator
  4932. is Exists or DoesNotExist,
  4933. the values array
  4934. must be empty. This
  4935. array is replaced
  4936. during a strategic
  4937. merge patch.
  4938. items:
  4939. type: string
  4940. type: array
  4941. required:
  4942. - key
  4943. - operator
  4944. type: object
  4945. type: array
  4946. matchLabels:
  4947. additionalProperties:
  4948. type: string
  4949. description: matchLabels
  4950. is a map of {key,value}
  4951. pairs. A single {key,value}
  4952. in the matchLabels map
  4953. is equivalent to an element
  4954. of matchExpressions, whose
  4955. key field is "key", the
  4956. operator is "In", and
  4957. the values array contains
  4958. only "value". The requirements
  4959. are ANDed.
  4960. type: object
  4961. type: object
  4962. namespaces:
  4963. description: namespaces specifies
  4964. which namespaces the labelSelector
  4965. applies to (matches against);
  4966. null or empty list means "this
  4967. pod's namespace"
  4968. items:
  4969. type: string
  4970. type: array
  4971. topologyKey:
  4972. description: This pod should
  4973. be co-located (affinity) or
  4974. not co-located (anti-affinity)
  4975. with the pods matching the
  4976. labelSelector in the specified
  4977. namespaces, where co-located
  4978. is defined as running on a
  4979. node whose value of the label
  4980. with key topologyKey matches
  4981. that of any node on which
  4982. any of the selected pods is
  4983. running. Empty topologyKey
  4984. is not allowed.
  4985. type: string
  4986. required:
  4987. - topologyKey
  4988. type: object
  4989. type: array
  4990. type: object
  4991. type: object
  4992. nodeSelector:
  4993. additionalProperties:
  4994. type: string
  4995. description: 'NodeSelector is a selector which
  4996. must be true for the pod to fit on a node.
  4997. Selector which must match a node''s labels
  4998. for the pod to be scheduled on that node.
  4999. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  5000. type: object
  5001. tolerations:
  5002. description: If specified, the pod's tolerations.
  5003. items:
  5004. description: The pod this Toleration is
  5005. attached to tolerates any taint that matches
  5006. the triple <key,value,effect> using the
  5007. matching operator <operator>.
  5008. properties:
  5009. effect:
  5010. description: Effect indicates the taint
  5011. effect to match. Empty means match
  5012. all taint effects. When specified,
  5013. allowed values are NoSchedule, PreferNoSchedule
  5014. and NoExecute.
  5015. type: string
  5016. key:
  5017. description: Key is the taint key that
  5018. the toleration applies to. Empty means
  5019. match all taint keys. If the key is
  5020. empty, operator must be Exists; this
  5021. combination means to match all values
  5022. and all keys.
  5023. type: string
  5024. operator:
  5025. description: Operator represents a key's
  5026. relationship to the value. Valid operators
  5027. are Exists and Equal. Defaults to
  5028. Equal. Exists is equivalent to wildcard
  5029. for value, so that a pod can tolerate
  5030. all taints of a particular category.
  5031. type: string
  5032. tolerationSeconds:
  5033. description: TolerationSeconds represents
  5034. the period of time the toleration
  5035. (which must be of effect NoExecute,
  5036. otherwise this field is ignored) tolerates
  5037. the taint. By default, it is not set,
  5038. which means tolerate the taint forever
  5039. (do not evict). Zero and negative
  5040. values will be treated as 0 (evict
  5041. immediately) by the system.
  5042. format: int64
  5043. type: integer
  5044. value:
  5045. description: Value is the taint value
  5046. the toleration matches to. If the
  5047. operator is Exists, the value should
  5048. be empty, otherwise just a regular
  5049. string.
  5050. type: string
  5051. type: object
  5052. type: array
  5053. type: object
  5054. type: object
  5055. serviceType:
  5056. description: Optional service type for Kubernetes
  5057. solver service
  5058. type: string
  5059. type: object
  5060. type: object
  5061. selector:
  5062. description: Selector selects a set of DNSNames on the Certificate
  5063. resource that should be solved using this challenge solver.
  5064. properties:
  5065. dnsNames:
  5066. description: List of DNSNames that this solver will be
  5067. used to solve. If specified and a match is found, a
  5068. dnsNames selector will take precedence over a dnsZones
  5069. selector. If multiple solvers match with the same dnsNames
  5070. value, the solver with the most matching labels in matchLabels
  5071. will be selected. If neither has more matches, the solver
  5072. defined earlier in the list will be selected.
  5073. items:
  5074. type: string
  5075. type: array
  5076. dnsZones:
  5077. description: List of DNSZones that this solver will be
  5078. used to solve. The most specific DNS zone match specified
  5079. here will take precedence over other DNS zone matches,
  5080. so a solver specifying sys.example.com will be selected
  5081. over one specifying example.com for the domain www.sys.example.com.
  5082. If multiple solvers match with the same dnsZones value,
  5083. the solver with the most matching labels in matchLabels
  5084. will be selected. If neither has more matches, the solver
  5085. defined earlier in the list will be selected.
  5086. items:
  5087. type: string
  5088. type: array
  5089. matchLabels:
  5090. additionalProperties:
  5091. type: string
  5092. description: A label selector that is used to refine the
  5093. set of certificate's that this challenge solver will
  5094. apply to.
  5095. type: object
  5096. type: object
  5097. type: object
  5098. type: array
  5099. required:
  5100. - privateKeySecretRef
  5101. - server
  5102. type: object
  5103. ca:
  5104. properties:
  5105. secretName:
  5106. description: SecretName is the name of the secret used to sign Certificates
  5107. issued by this Issuer.
  5108. type: string
  5109. required:
  5110. - secretName
  5111. type: object
  5112. selfSigned:
  5113. type: object
  5114. vault:
  5115. properties:
  5116. auth:
  5117. description: Vault authentication
  5118. properties:
  5119. appRole:
  5120. description: This Secret contains a AppRole and Secret
  5121. properties:
  5122. path:
  5123. description: Where the authentication path is mounted in
  5124. Vault.
  5125. type: string
  5126. roleId:
  5127. type: string
  5128. secretRef:
  5129. properties:
  5130. key:
  5131. description: The key of the secret to select from. Must
  5132. be a valid secret key.
  5133. type: string
  5134. name:
  5135. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5136. TODO: Add other useful fields. apiVersion, kind, uid?'
  5137. type: string
  5138. required:
  5139. - name
  5140. type: object
  5141. required:
  5142. - path
  5143. - roleId
  5144. - secretRef
  5145. type: object
  5146. kubernetes:
  5147. description: This contains a Role and Secret with a ServiceAccount
  5148. token to authenticate with vault.
  5149. properties:
  5150. mountPath:
  5151. description: The value here will be used as part of the
  5152. path used when authenticating with vault, for example
  5153. if you set a value of "foo", the path used will be `/v1/auth/foo/login`.
  5154. If unspecified, the default value "kubernetes" will be
  5155. used.
  5156. type: string
  5157. role:
  5158. description: A required field containing the Vault Role
  5159. to assume. A Role binds a Kubernetes ServiceAccount with
  5160. a set of Vault policies.
  5161. type: string
  5162. secretRef:
  5163. description: The required Secret field containing a Kubernetes
  5164. ServiceAccount JWT used for authenticating with Vault.
  5165. Use of 'ambient credentials' is not supported.
  5166. properties:
  5167. key:
  5168. description: The key of the secret to select from. Must
  5169. be a valid secret key.
  5170. type: string
  5171. name:
  5172. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5173. TODO: Add other useful fields. apiVersion, kind, uid?'
  5174. type: string
  5175. required:
  5176. - name
  5177. type: object
  5178. required:
  5179. - role
  5180. - secretRef
  5181. type: object
  5182. tokenSecretRef:
  5183. description: This Secret contains the Vault token key
  5184. properties:
  5185. key:
  5186. description: The key of the secret to select from. Must
  5187. be a valid secret key.
  5188. type: string
  5189. name:
  5190. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5191. TODO: Add other useful fields. apiVersion, kind, uid?'
  5192. type: string
  5193. required:
  5194. - name
  5195. type: object
  5196. type: object
  5197. caBundle:
  5198. description: Base64 encoded CA bundle to validate Vault server certificate.
  5199. Only used if the Server URL is using HTTPS protocol. This parameter
  5200. is ignored for plain HTTP protocol connection. If not set the
  5201. system root certificates are used to validate the TLS connection.
  5202. format: byte
  5203. type: string
  5204. path:
  5205. description: Vault URL path to the certificate role
  5206. type: string
  5207. server:
  5208. description: Server is the vault connection address
  5209. type: string
  5210. required:
  5211. - auth
  5212. - path
  5213. - server
  5214. type: object
  5215. venafi:
  5216. description: VenafiIssuer describes issuer configuration details for
  5217. Venafi Cloud.
  5218. properties:
  5219. cloud:
  5220. description: Cloud specifies the Venafi cloud configuration settings.
  5221. Only one of TPP or Cloud may be specified.
  5222. properties:
  5223. apiTokenSecretRef:
  5224. description: APITokenSecretRef is a secret key selector for
  5225. the Venafi Cloud API token.
  5226. properties:
  5227. key:
  5228. description: The key of the secret to select from. Must
  5229. be a valid secret key.
  5230. type: string
  5231. name:
  5232. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5233. TODO: Add other useful fields. apiVersion, kind, uid?'
  5234. type: string
  5235. required:
  5236. - name
  5237. type: object
  5238. url:
  5239. description: URL is the base URL for Venafi Cloud
  5240. type: string
  5241. required:
  5242. - apiTokenSecretRef
  5243. - url
  5244. type: object
  5245. tpp:
  5246. description: TPP specifies Trust Protection Platform configuration
  5247. settings. Only one of TPP or Cloud may be specified.
  5248. properties:
  5249. caBundle:
  5250. description: CABundle is a PEM encoded TLS certifiate to use
  5251. to verify connections to the TPP instance. If specified, system
  5252. roots will not be used and the issuing CA for the TPP instance
  5253. must be verifiable using the provided root. If not specified,
  5254. the connection will be verified using the cert-manager system
  5255. root certificates.
  5256. format: byte
  5257. type: string
  5258. credentialsRef:
  5259. description: CredentialsRef is a reference to a Secret containing
  5260. the username and password for the TPP server. The secret must
  5261. contain two keys, 'username' and 'password'.
  5262. properties:
  5263. name:
  5264. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5265. TODO: Add other useful fields. apiVersion, kind, uid?'
  5266. type: string
  5267. required:
  5268. - name
  5269. type: object
  5270. url:
  5271. description: URL is the base URL for the Venafi TPP instance
  5272. type: string
  5273. required:
  5274. - credentialsRef
  5275. - url
  5276. type: object
  5277. zone:
  5278. description: Zone is the Venafi Policy Zone to use for this issuer.
  5279. All requests made to the Venafi platform will be restricted by
  5280. the named zone policy. This field is required.
  5281. type: string
  5282. required:
  5283. - zone
  5284. type: object
  5285. type: object
  5286. status:
  5287. description: IssuerStatus contains status information about an Issuer
  5288. properties:
  5289. acme:
  5290. properties:
  5291. lastRegisteredEmail:
  5292. description: LastRegisteredEmail is the email associated with the
  5293. latest registered ACME account, in order to track changes made
  5294. to registered account associated with the Issuer
  5295. type: string
  5296. uri:
  5297. description: URI is the unique account identifier, which can also
  5298. be used to retrieve account details from the CA
  5299. type: string
  5300. type: object
  5301. conditions:
  5302. items:
  5303. description: IssuerCondition contains condition information for an
  5304. Issuer.
  5305. properties:
  5306. lastTransitionTime:
  5307. description: LastTransitionTime is the timestamp corresponding
  5308. to the last status change of this condition.
  5309. format: date-time
  5310. type: string
  5311. message:
  5312. description: Message is a human readable description of the details
  5313. of the last transition, complementing reason.
  5314. type: string
  5315. reason:
  5316. description: Reason is a brief machine readable explanation for
  5317. the condition's last transition.
  5318. type: string
  5319. status:
  5320. description: Status of the condition, one of ('True', 'False',
  5321. 'Unknown').
  5322. enum:
  5323. - "True"
  5324. - "False"
  5325. - Unknown
  5326. type: string
  5327. type:
  5328. description: Type of the condition, currently ('Ready').
  5329. type: string
  5330. required:
  5331. - status
  5332. - type
  5333. type: object
  5334. type: array
  5335. type: object
  5336. type: object
  5337. version: v1alpha2
  5338. versions:
  5339. - name: v1alpha2
  5340. served: true
  5341. storage: true
  5342. status:
  5343. acceptedNames:
  5344. kind: ""
  5345. plural: ""
  5346. conditions: []
  5347. storedVersions: []
  5348. ---
  5349. apiVersion: v1
  5350. kind: Namespace
  5351. metadata:
  5352. name: cert-manager
  5353. ---
  5354. ---
  5355. # Source: cert-manager/charts/cainjector/templates/serviceaccount.yaml
  5356. apiVersion: v1
  5357. kind: ServiceAccount
  5358. metadata:
  5359. name: cert-manager-cainjector
  5360. namespace: "cert-manager"
  5361. labels:
  5362. app: cainjector
  5363. app.kubernetes.io/name: cainjector
  5364. app.kubernetes.io/instance: cert-manager
  5365. app.kubernetes.io/managed-by: Tiller
  5366. helm.sh/chart: cainjector-v0.11.0
  5367. ---
  5368. # Source: cert-manager/templates/serviceaccount.yaml
  5369. apiVersion: v1
  5370. kind: ServiceAccount
  5371. metadata:
  5372. name: cert-manager
  5373. namespace: "cert-manager"
  5374. annotations:
  5375. labels:
  5376. app: cert-manager
  5377. app.kubernetes.io/name: cert-manager
  5378. app.kubernetes.io/instance: cert-manager
  5379. app.kubernetes.io/managed-by: Tiller
  5380. helm.sh/chart: cert-manager-v0.11.0
  5381. ---
  5382. # Source: cert-manager/templates/webhook-serviceaccount.yaml
  5383. apiVersion: v1
  5384. kind: ServiceAccount
  5385. metadata:
  5386. name: cert-manager-webhook
  5387. namespace: "cert-manager"
  5388. labels:
  5389. app: webhook
  5390. app.kubernetes.io/name: webhook
  5391. app.kubernetes.io/instance: cert-manager
  5392. app.kubernetes.io/managed-by: Tiller
  5393. helm.sh/chart: cert-manager-v0.11.0
  5394. ---
  5395. # Source: cert-manager/charts/cainjector/templates/rbac.yaml
  5396. apiVersion: rbac.authorization.k8s.io/v1beta1
  5397. kind: ClusterRole
  5398. metadata:
  5399. name: cert-manager-cainjector
  5400. labels:
  5401. app: cainjector
  5402. app.kubernetes.io/name: cainjector
  5403. app.kubernetes.io/instance: cert-manager
  5404. app.kubernetes.io/managed-by: Tiller
  5405. helm.sh/chart: cainjector-v0.11.0
  5406. rules:
  5407. - apiGroups: ["cert-manager.io"]
  5408. resources: ["certificates"]
  5409. verbs: ["get", "list", "watch"]
  5410. - apiGroups: [""]
  5411. resources: ["secrets"]
  5412. verbs: ["get", "list", "watch"]
  5413. - apiGroups: [""]
  5414. resources: ["events"]
  5415. verbs: ["get", "create", "update", "patch"]
  5416. - apiGroups: ["admissionregistration.k8s.io"]
  5417. resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
  5418. verbs: ["get", "list", "watch", "update"]
  5419. - apiGroups: ["apiregistration.k8s.io"]
  5420. resources: ["apiservices"]
  5421. verbs: ["get", "list", "watch", "update"]
  5422. - apiGroups: ["apiextensions.k8s.io"]
  5423. resources: ["customresourcedefinitions"]
  5424. verbs: ["get", "list", "watch", "update"]
  5425. ---
  5426. apiVersion: rbac.authorization.k8s.io/v1beta1
  5427. kind: ClusterRoleBinding
  5428. metadata:
  5429. name: cert-manager-cainjector
  5430. labels:
  5431. app: cainjector
  5432. app.kubernetes.io/name: cainjector
  5433. app.kubernetes.io/instance: cert-manager
  5434. app.kubernetes.io/managed-by: Tiller
  5435. helm.sh/chart: cainjector-v0.11.0
  5436. roleRef:
  5437. apiGroup: rbac.authorization.k8s.io
  5438. kind: ClusterRole
  5439. name: cert-manager-cainjector
  5440. subjects:
  5441. - name: cert-manager-cainjector
  5442. namespace: "cert-manager"
  5443. kind: ServiceAccount
  5444. ---
  5445. # leader election rules
  5446. apiVersion: rbac.authorization.k8s.io/v1beta1
  5447. kind: Role
  5448. metadata:
  5449. name: cert-manager-cainjector:leaderelection
  5450. namespace: kube-system
  5451. labels:
  5452. app: cainjector
  5453. app.kubernetes.io/name: cainjector
  5454. app.kubernetes.io/instance: cert-manager
  5455. app.kubernetes.io/managed-by: Tiller
  5456. helm.sh/chart: cainjector-v0.11.0
  5457. rules:
  5458. # Used for leader election by the controller
  5459. # TODO: refine the permission to *just* the leader election configmap
  5460. - apiGroups: [""]
  5461. resources: ["configmaps"]
  5462. verbs: ["get", "create", "update", "patch"]
  5463. ---
  5464. # grant cert-manager permission to manage the leaderelection configmap in the
  5465. # leader election namespace
  5466. apiVersion: rbac.authorization.k8s.io/v1beta1
  5467. kind: RoleBinding
  5468. metadata:
  5469. name: cert-manager-cainjector:leaderelection
  5470. namespace: kube-system
  5471. labels:
  5472. app: cainjector
  5473. app.kubernetes.io/name: cainjector
  5474. app.kubernetes.io/instance: cert-manager
  5475. app.kubernetes.io/managed-by: Tiller
  5476. helm.sh/chart: cainjector-v0.11.0
  5477. roleRef:
  5478. apiGroup: rbac.authorization.k8s.io
  5479. kind: Role
  5480. name: cert-manager-cainjector:leaderelection
  5481. subjects:
  5482. - apiGroup: ""
  5483. kind: ServiceAccount
  5484. name: cert-manager-cainjector
  5485. namespace: cert-manager
  5486. ---
  5487. # Source: cert-manager/templates/webhook-rbac.yaml
  5488. ### Webhook ###
  5489. ---
  5490. # apiserver gets the auth-delegator role to delegate auth decisions to
  5491. # the core apiserver
  5492. apiVersion: rbac.authorization.k8s.io/v1beta1
  5493. kind: ClusterRoleBinding
  5494. metadata:
  5495. name: cert-manager-webhook:auth-delegator
  5496. labels:
  5497. app: webhook
  5498. app.kubernetes.io/name: webhook
  5499. app.kubernetes.io/instance: cert-manager
  5500. app.kubernetes.io/managed-by: Tiller
  5501. helm.sh/chart: cert-manager-v0.11.0
  5502. roleRef:
  5503. apiGroup: rbac.authorization.k8s.io
  5504. kind: ClusterRole
  5505. name: system:auth-delegator
  5506. subjects:
  5507. - apiGroup: ""
  5508. kind: ServiceAccount
  5509. name: cert-manager-webhook
  5510. namespace: cert-manager
  5511. ---
  5512. # apiserver gets the ability to read authentication. This allows it to
  5513. # read the specific configmap that has the requestheader-* entries to
  5514. # api agg
  5515. apiVersion: rbac.authorization.k8s.io/v1beta1
  5516. kind: RoleBinding
  5517. metadata:
  5518. name: cert-manager-webhook:webhook-authentication-reader
  5519. namespace: kube-system
  5520. labels:
  5521. app: webhook
  5522. app.kubernetes.io/name: webhook
  5523. app.kubernetes.io/instance: cert-manager
  5524. app.kubernetes.io/managed-by: Tiller
  5525. helm.sh/chart: cert-manager-v0.11.0
  5526. roleRef:
  5527. apiGroup: rbac.authorization.k8s.io
  5528. kind: Role
  5529. name: extension-apiserver-authentication-reader
  5530. subjects:
  5531. - apiGroup: ""
  5532. kind: ServiceAccount
  5533. name: cert-manager-webhook
  5534. namespace: cert-manager
  5535. ---
  5536. apiVersion: rbac.authorization.k8s.io/v1
  5537. kind: ClusterRole
  5538. metadata:
  5539. name: cert-manager-webhook:webhook-requester
  5540. labels:
  5541. app: webhook
  5542. app.kubernetes.io/name: webhook
  5543. app.kubernetes.io/instance: cert-manager
  5544. app.kubernetes.io/managed-by: Tiller
  5545. helm.sh/chart: cert-manager-v0.11.0
  5546. rules:
  5547. - apiGroups:
  5548. - admission.cert-manager.io
  5549. resources:
  5550. - certificates
  5551. - certificaterequests
  5552. - issuers
  5553. - clusterissuers
  5554. verbs:
  5555. - create
  5556. ---
  5557. # Source: cert-manager/templates/rbac.yaml
  5558. apiVersion: rbac.authorization.k8s.io/v1beta1
  5559. kind: Role
  5560. metadata:
  5561. name: cert-manager:leaderelection
  5562. namespace: kube-system
  5563. labels:
  5564. app: cert-manager
  5565. app.kubernetes.io/name: cert-manager
  5566. app.kubernetes.io/instance: cert-manager
  5567. app.kubernetes.io/managed-by: Tiller
  5568. helm.sh/chart: cert-manager-v0.11.0
  5569. rules:
  5570. # Used for leader election by the controller
  5571. # TODO: refine the permission to *just* the leader election configmap
  5572. - apiGroups: [""]
  5573. resources: ["configmaps"]
  5574. verbs: ["get", "create", "update", "patch"]
  5575. ---
  5576. # grant cert-manager permission to manage the leaderelection configmap in the
  5577. # leader election namespace
  5578. apiVersion: rbac.authorization.k8s.io/v1beta1
  5579. kind: RoleBinding
  5580. metadata:
  5581. name: cert-manager:leaderelection
  5582. namespace: kube-system
  5583. labels:
  5584. app: cert-manager
  5585. app.kubernetes.io/name: cert-manager
  5586. app.kubernetes.io/instance: cert-manager
  5587. app.kubernetes.io/managed-by: Tiller
  5588. helm.sh/chart: cert-manager-v0.11.0
  5589. roleRef:
  5590. apiGroup: rbac.authorization.k8s.io
  5591. kind: Role
  5592. name: cert-manager:leaderelection
  5593. subjects:
  5594. - apiGroup: ""
  5595. kind: ServiceAccount
  5596. name: cert-manager
  5597. namespace: cert-manager
  5598. ---
  5599. # Issuer controller role
  5600. apiVersion: rbac.authorization.k8s.io/v1beta1
  5601. kind: ClusterRole
  5602. metadata:
  5603. name: cert-manager-controller-issuers
  5604. labels:
  5605. app: cert-manager
  5606. app.kubernetes.io/name: cert-manager
  5607. app.kubernetes.io/instance: cert-manager
  5608. app.kubernetes.io/managed-by: Tiller
  5609. helm.sh/chart: cert-manager-v0.11.0
  5610. rules:
  5611. - apiGroups: ["cert-manager.io"]
  5612. resources: ["issuers", "issuers/status"]
  5613. verbs: ["update"]
  5614. - apiGroups: ["cert-manager.io"]
  5615. resources: ["issuers"]
  5616. verbs: ["get", "list", "watch"]
  5617. - apiGroups: [""]
  5618. resources: ["secrets"]
  5619. verbs: ["get", "list", "watch", "create", "update", "delete"]
  5620. - apiGroups: [""]
  5621. resources: ["events"]
  5622. verbs: ["create", "patch"]
  5623. ---
  5624. # ClusterIssuer controller role
  5625. apiVersion: rbac.authorization.k8s.io/v1beta1
  5626. kind: ClusterRole
  5627. metadata:
  5628. name: cert-manager-controller-clusterissuers
  5629. labels:
  5630. app: cert-manager
  5631. app.kubernetes.io/name: cert-manager
  5632. app.kubernetes.io/instance: cert-manager
  5633. app.kubernetes.io/managed-by: Tiller
  5634. helm.sh/chart: cert-manager-v0.11.0
  5635. rules:
  5636. - apiGroups: ["cert-manager.io"]
  5637. resources: ["clusterissuers", "clusterissuers/status"]
  5638. verbs: ["update"]
  5639. - apiGroups: ["cert-manager.io"]
  5640. resources: ["clusterissuers"]
  5641. verbs: ["get", "list", "watch"]
  5642. - apiGroups: [""]
  5643. resources: ["secrets"]
  5644. verbs: ["get", "list", "watch", "create", "update", "delete"]
  5645. - apiGroups: [""]
  5646. resources: ["events"]
  5647. verbs: ["create", "patch"]
  5648. ---
  5649. # Certificates controller role
  5650. apiVersion: rbac.authorization.k8s.io/v1beta1
  5651. kind: ClusterRole
  5652. metadata:
  5653. name: cert-manager-controller-certificates
  5654. labels:
  5655. app: cert-manager
  5656. app.kubernetes.io/name: cert-manager
  5657. app.kubernetes.io/instance: cert-manager
  5658. app.kubernetes.io/managed-by: Tiller
  5659. helm.sh/chart: cert-manager-v0.11.0
  5660. rules:
  5661. - apiGroups: ["cert-manager.io"]
  5662. resources: ["certificates", "certificates/status", "certificaterequests", "certificaterequests/status"]
  5663. verbs: ["update"]
  5664. - apiGroups: ["cert-manager.io"]
  5665. resources: ["certificates", "certificaterequests", "clusterissuers", "issuers"]
  5666. verbs: ["get", "list", "watch"]
  5667. # We require these rules to support users with the OwnerReferencesPermissionEnforcement
  5668. # admission controller enabled:
  5669. # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
  5670. - apiGroups: ["cert-manager.io"]
  5671. resources: ["certificates/finalizers"]
  5672. verbs: ["update"]
  5673. - apiGroups: ["acme.cert-manager.io"]
  5674. resources: ["orders"]
  5675. verbs: ["create", "delete", "get", "list", "watch"]
  5676. - apiGroups: [""]
  5677. resources: ["secrets"]
  5678. verbs: ["get", "list", "watch", "create", "update", "delete"]
  5679. - apiGroups: [""]
  5680. resources: ["events"]
  5681. verbs: ["create", "patch"]
  5682. ---
  5683. # Orders controller role
  5684. apiVersion: rbac.authorization.k8s.io/v1beta1
  5685. kind: ClusterRole
  5686. metadata:
  5687. name: cert-manager-controller-orders
  5688. labels:
  5689. app: cert-manager
  5690. app.kubernetes.io/name: cert-manager
  5691. app.kubernetes.io/instance: cert-manager
  5692. app.kubernetes.io/managed-by: Tiller
  5693. helm.sh/chart: cert-manager-v0.11.0
  5694. rules:
  5695. - apiGroups: ["acme.cert-manager.io"]
  5696. resources: ["orders", "orders/status"]
  5697. verbs: ["update"]
  5698. - apiGroups: ["acme.cert-manager.io"]
  5699. resources: ["orders", "challenges"]
  5700. verbs: ["get", "list", "watch"]
  5701. - apiGroups: ["cert-manager.io"]
  5702. resources: ["clusterissuers", "issuers"]
  5703. verbs: ["get", "list", "watch"]
  5704. - apiGroups: ["acme.cert-manager.io"]
  5705. resources: ["challenges"]
  5706. verbs: ["create", "delete"]
  5707. # We require these rules to support users with the OwnerReferencesPermissionEnforcement
  5708. # admission controller enabled:
  5709. # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
  5710. - apiGroups: ["acme.cert-manager.io"]
  5711. resources: ["orders/finalizers"]
  5712. verbs: ["update"]
  5713. - apiGroups: [""]
  5714. resources: ["secrets"]
  5715. verbs: ["get", "list", "watch"]
  5716. - apiGroups: [""]
  5717. resources: ["events"]
  5718. verbs: ["create", "patch"]
  5719. ---
  5720. # Challenges controller role
  5721. apiVersion: rbac.authorization.k8s.io/v1beta1
  5722. kind: ClusterRole
  5723. metadata:
  5724. name: cert-manager-controller-challenges
  5725. labels:
  5726. app: cert-manager
  5727. app.kubernetes.io/name: cert-manager
  5728. app.kubernetes.io/instance: cert-manager
  5729. app.kubernetes.io/managed-by: Tiller
  5730. helm.sh/chart: cert-manager-v0.11.0
  5731. rules:
  5732. # Use to update challenge resource status
  5733. - apiGroups: ["acme.cert-manager.io"]
  5734. resources: ["challenges", "challenges/status"]
  5735. verbs: ["update"]
  5736. # Used to watch challenge resources
  5737. - apiGroups: ["acme.cert-manager.io"]
  5738. resources: ["challenges"]
  5739. verbs: ["get", "list", "watch"]
  5740. # Used to watch challenges, issuer and clusterissuer resources
  5741. - apiGroups: ["cert-manager.io"]
  5742. resources: ["issuers", "clusterissuers"]
  5743. verbs: ["get", "list", "watch"]
  5744. # Need to be able to retrieve ACME account private key to complete challenges
  5745. - apiGroups: [""]
  5746. resources: ["secrets"]
  5747. verbs: ["get", "list", "watch"]
  5748. # Used to create events
  5749. - apiGroups: [""]
  5750. resources: ["events"]
  5751. verbs: ["create", "patch"]
  5752. # HTTP01 rules
  5753. - apiGroups: [""]
  5754. resources: ["pods", "services"]
  5755. verbs: ["get", "list", "watch", "create", "delete"]
  5756. - apiGroups: ["extensions"]
  5757. resources: ["ingresses"]
  5758. verbs: ["get", "list", "watch", "create", "delete", "update"]
  5759. # We require these rules to support users with the OwnerReferencesPermissionEnforcement
  5760. # admission controller enabled:
  5761. # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
  5762. - apiGroups: ["acme.cert-manager.io"]
  5763. resources: ["challenges/finalizers"]
  5764. verbs: ["update"]
  5765. # DNS01 rules (duplicated above)
  5766. - apiGroups: [""]
  5767. resources: ["secrets"]
  5768. verbs: ["get", "list", "watch"]
  5769. ---
  5770. # ingress-shim controller role
  5771. apiVersion: rbac.authorization.k8s.io/v1beta1
  5772. kind: ClusterRole
  5773. metadata:
  5774. name: cert-manager-controller-ingress-shim
  5775. labels:
  5776. app: cert-manager
  5777. app.kubernetes.io/name: cert-manager
  5778. app.kubernetes.io/instance: cert-manager
  5779. app.kubernetes.io/managed-by: Tiller
  5780. helm.sh/chart: cert-manager-v0.11.0
  5781. rules:
  5782. - apiGroups: ["cert-manager.io"]
  5783. resources: ["certificates", "certificaterequests"]
  5784. verbs: ["create", "update", "delete"]
  5785. - apiGroups: ["cert-manager.io"]
  5786. resources: ["certificates", "certificaterequests", "issuers", "clusterissuers"]
  5787. verbs: ["get", "list", "watch"]
  5788. - apiGroups: ["extensions"]
  5789. resources: ["ingresses"]
  5790. verbs: ["get", "list", "watch"]
  5791. # We require these rules to support users with the OwnerReferencesPermissionEnforcement
  5792. # admission controller enabled:
  5793. # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
  5794. - apiGroups: ["extensions"]
  5795. resources: ["ingresses/finalizers"]
  5796. verbs: ["update"]
  5797. - apiGroups: [""]
  5798. resources: ["events"]
  5799. verbs: ["create", "patch"]
  5800. ---
  5801. apiVersion: rbac.authorization.k8s.io/v1beta1
  5802. kind: ClusterRoleBinding
  5803. metadata:
  5804. name: cert-manager-leaderelection
  5805. labels:
  5806. app: cert-manager
  5807. app.kubernetes.io/name: cert-manager
  5808. app.kubernetes.io/instance: cert-manager
  5809. app.kubernetes.io/managed-by: Tiller
  5810. helm.sh/chart: cert-manager-v0.11.0
  5811. roleRef:
  5812. apiGroup: rbac.authorization.k8s.io
  5813. kind: ClusterRole
  5814. name: cert-manager-leaderelection
  5815. subjects:
  5816. - name: cert-manager
  5817. namespace: "cert-manager"
  5818. kind: ServiceAccount
  5819. ---
  5820. apiVersion: rbac.authorization.k8s.io/v1beta1
  5821. kind: ClusterRoleBinding
  5822. metadata:
  5823. name: cert-manager-controller-issuers
  5824. labels:
  5825. app: cert-manager
  5826. app.kubernetes.io/name: cert-manager
  5827. app.kubernetes.io/instance: cert-manager
  5828. app.kubernetes.io/managed-by: Tiller
  5829. helm.sh/chart: cert-manager-v0.11.0
  5830. roleRef:
  5831. apiGroup: rbac.authorization.k8s.io
  5832. kind: ClusterRole
  5833. name: cert-manager-controller-issuers
  5834. subjects:
  5835. - name: cert-manager
  5836. namespace: "cert-manager"
  5837. kind: ServiceAccount
  5838. ---
  5839. apiVersion: rbac.authorization.k8s.io/v1beta1
  5840. kind: ClusterRoleBinding
  5841. metadata:
  5842. name: cert-manager-controller-clusterissuers
  5843. labels:
  5844. app: cert-manager
  5845. app.kubernetes.io/name: cert-manager
  5846. app.kubernetes.io/instance: cert-manager
  5847. app.kubernetes.io/managed-by: Tiller
  5848. helm.sh/chart: cert-manager-v0.11.0
  5849. roleRef:
  5850. apiGroup: rbac.authorization.k8s.io
  5851. kind: ClusterRole
  5852. name: cert-manager-controller-clusterissuers
  5853. subjects:
  5854. - name: cert-manager
  5855. namespace: "cert-manager"
  5856. kind: ServiceAccount
  5857. ---
  5858. apiVersion: rbac.authorization.k8s.io/v1beta1
  5859. kind: ClusterRoleBinding
  5860. metadata:
  5861. name: cert-manager-controller-certificates
  5862. labels:
  5863. app: cert-manager
  5864. app.kubernetes.io/name: cert-manager
  5865. app.kubernetes.io/instance: cert-manager
  5866. app.kubernetes.io/managed-by: Tiller
  5867. helm.sh/chart: cert-manager-v0.11.0
  5868. roleRef:
  5869. apiGroup: rbac.authorization.k8s.io
  5870. kind: ClusterRole
  5871. name: cert-manager-controller-certificates
  5872. subjects:
  5873. - name: cert-manager
  5874. namespace: "cert-manager"
  5875. kind: ServiceAccount
  5876. ---
  5877. apiVersion: rbac.authorization.k8s.io/v1beta1
  5878. kind: ClusterRoleBinding
  5879. metadata:
  5880. name: cert-manager-controller-orders
  5881. labels:
  5882. app: cert-manager
  5883. app.kubernetes.io/name: cert-manager
  5884. app.kubernetes.io/instance: cert-manager
  5885. app.kubernetes.io/managed-by: Tiller
  5886. helm.sh/chart: cert-manager-v0.11.0
  5887. roleRef:
  5888. apiGroup: rbac.authorization.k8s.io
  5889. kind: ClusterRole
  5890. name: cert-manager-controller-orders
  5891. subjects:
  5892. - name: cert-manager
  5893. namespace: "cert-manager"
  5894. kind: ServiceAccount
  5895. ---
  5896. apiVersion: rbac.authorization.k8s.io/v1beta1
  5897. kind: ClusterRoleBinding
  5898. metadata:
  5899. name: cert-manager-controller-challenges
  5900. labels:
  5901. app: cert-manager
  5902. app.kubernetes.io/name: cert-manager
  5903. app.kubernetes.io/instance: cert-manager
  5904. app.kubernetes.io/managed-by: Tiller
  5905. helm.sh/chart: cert-manager-v0.11.0
  5906. roleRef:
  5907. apiGroup: rbac.authorization.k8s.io
  5908. kind: ClusterRole
  5909. name: cert-manager-controller-challenges
  5910. subjects:
  5911. - name: cert-manager
  5912. namespace: "cert-manager"
  5913. kind: ServiceAccount
  5914. ---
  5915. apiVersion: rbac.authorization.k8s.io/v1beta1
  5916. kind: ClusterRoleBinding
  5917. metadata:
  5918. name: cert-manager-controller-ingress-shim
  5919. labels:
  5920. app: cert-manager
  5921. app.kubernetes.io/name: cert-manager
  5922. app.kubernetes.io/instance: cert-manager
  5923. app.kubernetes.io/managed-by: Tiller
  5924. helm.sh/chart: cert-manager-v0.11.0
  5925. roleRef:
  5926. apiGroup: rbac.authorization.k8s.io
  5927. kind: ClusterRole
  5928. name: cert-manager-controller-ingress-shim
  5929. subjects:
  5930. - name: cert-manager
  5931. namespace: "cert-manager"
  5932. kind: ServiceAccount
  5933. ---
  5934. apiVersion: rbac.authorization.k8s.io/v1
  5935. kind: ClusterRole
  5936. metadata:
  5937. name: cert-manager-view
  5938. labels:
  5939. app: cert-manager
  5940. app.kubernetes.io/name: cert-manager
  5941. app.kubernetes.io/instance: cert-manager
  5942. app.kubernetes.io/managed-by: Tiller
  5943. helm.sh/chart: cert-manager-v0.11.0
  5944. rbac.authorization.k8s.io/aggregate-to-view: "true"
  5945. rbac.authorization.k8s.io/aggregate-to-edit: "true"
  5946. rbac.authorization.k8s.io/aggregate-to-admin: "true"
  5947. rules:
  5948. - apiGroups: ["cert-manager.io"]
  5949. resources: ["certificates", "certificaterequests", "issuers"]
  5950. verbs: ["get", "list", "watch"]
  5951. ---
  5952. apiVersion: rbac.authorization.k8s.io/v1
  5953. kind: ClusterRole
  5954. metadata:
  5955. name: cert-manager-edit
  5956. labels:
  5957. app: cert-manager
  5958. app.kubernetes.io/name: cert-manager
  5959. app.kubernetes.io/instance: cert-manager
  5960. app.kubernetes.io/managed-by: Tiller
  5961. helm.sh/chart: cert-manager-v0.11.0
  5962. rbac.authorization.k8s.io/aggregate-to-edit: "true"
  5963. rbac.authorization.k8s.io/aggregate-to-admin: "true"
  5964. rules:
  5965. - apiGroups: ["cert-manager.io"]
  5966. resources: ["certificates", "certificaterequests", "issuers"]
  5967. verbs: ["create", "delete", "deletecollection", "patch", "update"]
  5968. ---
  5969. # Source: cert-manager/templates/service.yaml
  5970. apiVersion: v1
  5971. kind: Service
  5972. metadata:
  5973. name: cert-manager
  5974. namespace: "cert-manager"
  5975. labels:
  5976. app: cert-manager
  5977. app.kubernetes.io/name: cert-manager
  5978. app.kubernetes.io/instance: cert-manager
  5979. app.kubernetes.io/managed-by: Tiller
  5980. helm.sh/chart: cert-manager-v0.11.0
  5981. spec:
  5982. type: ClusterIP
  5983. ports:
  5984. - protocol: TCP
  5985. port: 9402
  5986. targetPort: 9402
  5987. selector:
  5988. app.kubernetes.io/name: cert-manager
  5989. app.kubernetes.io/instance: cert-manager
  5990. ---
  5991. # Source: cert-manager/templates/webhook-service.yaml
  5992. apiVersion: v1
  5993. kind: Service
  5994. metadata:
  5995. name: cert-manager-webhook
  5996. namespace: "cert-manager"
  5997. labels:
  5998. app: webhook
  5999. app.kubernetes.io/name: webhook
  6000. app.kubernetes.io/instance: cert-manager
  6001. app.kubernetes.io/managed-by: Tiller
  6002. helm.sh/chart: cert-manager-v0.11.0
  6003. spec:
  6004. type: ClusterIP
  6005. ports:
  6006. - name: https
  6007. port: 443
  6008. targetPort: 6443
  6009. selector:
  6010. app: webhook
  6011. app.kubernetes.io/name: webhook
  6012. app.kubernetes.io/instance: cert-manager
  6013. app.kubernetes.io/managed-by: Tiller
  6014. ---
  6015. # Source: cert-manager/charts/cainjector/templates/deployment.yaml
  6016. apiVersion: apps/v1
  6017. kind: Deployment
  6018. metadata:
  6019. name: cert-manager-cainjector
  6020. namespace: "cert-manager"
  6021. labels:
  6022. app: cainjector
  6023. app.kubernetes.io/name: cainjector
  6024. app.kubernetes.io/instance: cert-manager
  6025. app.kubernetes.io/managed-by: Tiller
  6026. helm.sh/chart: cainjector-v0.11.0
  6027. spec:
  6028. replicas: 1
  6029. selector:
  6030. matchLabels:
  6031. app: cainjector
  6032. app.kubernetes.io/name: cainjector
  6033. app.kubernetes.io/instance: cert-manager
  6034. app.kubernetes.io/managed-by: Tiller
  6035. template:
  6036. metadata:
  6037. labels:
  6038. app: cainjector
  6039. app.kubernetes.io/name: cainjector
  6040. app.kubernetes.io/instance: cert-manager
  6041. app.kubernetes.io/managed-by: Tiller
  6042. helm.sh/chart: cainjector-v0.11.0
  6043. annotations:
  6044. spec:
  6045. serviceAccountName: cert-manager-cainjector
  6046. containers:
  6047. - name: cainjector
  6048. image: "quay.io/jetstack/cert-manager-cainjector:v0.11.0"
  6049. imagePullPolicy: IfNotPresent
  6050. args:
  6051. - --v=2
  6052. - --leader-election-namespace=kube-system
  6053. env:
  6054. - name: POD_NAMESPACE
  6055. valueFrom:
  6056. fieldRef:
  6057. fieldPath: metadata.namespace
  6058. resources:
  6059. {}
  6060. ---
  6061. # Source: cert-manager/templates/deployment.yaml
  6062. apiVersion: apps/v1
  6063. kind: Deployment
  6064. metadata:
  6065. name: cert-manager
  6066. namespace: "cert-manager"
  6067. labels:
  6068. app: cert-manager
  6069. app.kubernetes.io/name: cert-manager
  6070. app.kubernetes.io/instance: cert-manager
  6071. app.kubernetes.io/managed-by: Tiller
  6072. helm.sh/chart: cert-manager-v0.11.0
  6073. spec:
  6074. replicas: 1
  6075. selector:
  6076. matchLabels:
  6077. app: cert-manager
  6078. app.kubernetes.io/name: cert-manager
  6079. app.kubernetes.io/instance: cert-manager
  6080. app.kubernetes.io/managed-by: Tiller
  6081. template:
  6082. metadata:
  6083. labels:
  6084. app: cert-manager
  6085. app.kubernetes.io/name: cert-manager
  6086. app.kubernetes.io/instance: cert-manager
  6087. app.kubernetes.io/managed-by: Tiller
  6088. helm.sh/chart: cert-manager-v0.11.0
  6089. annotations:
  6090. prometheus.io/path: "/metrics"
  6091. prometheus.io/scrape: 'true'
  6092. prometheus.io/port: '9402'
  6093. spec:
  6094. serviceAccountName: cert-manager
  6095. containers:
  6096. - name: cert-manager
  6097. image: "quay.io/jetstack/cert-manager-controller:v0.11.0"
  6098. imagePullPolicy: IfNotPresent
  6099. args:
  6100. - --v=2
  6101. - --cluster-resource-namespace=$(POD_NAMESPACE)
  6102. - --leader-election-namespace=kube-system
  6103. - --webhook-namespace=$(POD_NAMESPACE)
  6104. - --webhook-ca-secret=cert-manager-webhook-ca
  6105. - --webhook-serving-secret=cert-manager-webhook-tls
  6106. - --webhook-dns-names=cert-manager-webhook,cert-manager-webhook.cert-manager,cert-manager-webhook.cert-manager.svc
  6107. ports:
  6108. - containerPort: 9402
  6109. env:
  6110. - name: POD_NAMESPACE
  6111. valueFrom:
  6112. fieldRef:
  6113. fieldPath: metadata.namespace
  6114. resources:
  6115. requests:
  6116. cpu: 10m
  6117. memory: 32Mi
  6118. ---
  6119. # Source: cert-manager/templates/webhook-deployment.yaml
  6120. apiVersion: apps/v1
  6121. kind: Deployment
  6122. metadata:
  6123. name: cert-manager-webhook
  6124. namespace: "cert-manager"
  6125. labels:
  6126. app: webhook
  6127. app.kubernetes.io/name: webhook
  6128. app.kubernetes.io/instance: cert-manager
  6129. app.kubernetes.io/managed-by: Tiller
  6130. helm.sh/chart: cert-manager-v0.11.0
  6131. spec:
  6132. replicas: 1
  6133. selector:
  6134. matchLabels:
  6135. app: webhook
  6136. app.kubernetes.io/name: webhook
  6137. app.kubernetes.io/instance: cert-manager
  6138. app.kubernetes.io/managed-by: Tiller
  6139. template:
  6140. metadata:
  6141. labels:
  6142. app: webhook
  6143. app.kubernetes.io/name: webhook
  6144. app.kubernetes.io/instance: cert-manager
  6145. app.kubernetes.io/managed-by: Tiller
  6146. helm.sh/chart: cert-manager-v0.11.0
  6147. annotations:
  6148. spec:
  6149. serviceAccountName: cert-manager-webhook
  6150. containers:
  6151. - name: cert-manager
  6152. image: "quay.io/jetstack/cert-manager-webhook:v0.11.0"
  6153. imagePullPolicy: IfNotPresent
  6154. args:
  6155. - --v=2
  6156. - --secure-port=6443
  6157. - --tls-cert-file=/certs/tls.crt
  6158. - --tls-private-key-file=/certs/tls.key
  6159. env:
  6160. - name: POD_NAMESPACE
  6161. valueFrom:
  6162. fieldRef:
  6163. fieldPath: metadata.namespace
  6164. resources:
  6165. {}
  6166. volumeMounts:
  6167. - name: certs
  6168. mountPath: /certs
  6169. volumes:
  6170. - name: certs
  6171. secret:
  6172. secretName: cert-manager-webhook-tls
  6173. ---
  6174. # Source: cert-manager/templates/webhook-apiservice.yaml
  6175. apiVersion: apiregistration.k8s.io/v1beta1
  6176. kind: APIService
  6177. metadata:
  6178. name: v1beta1.webhook.cert-manager.io
  6179. labels:
  6180. app: webhook
  6181. app.kubernetes.io/name: webhook
  6182. app.kubernetes.io/instance: cert-manager
  6183. app.kubernetes.io/managed-by: Tiller
  6184. helm.sh/chart: cert-manager-v0.11.0
  6185. annotations:
  6186. cert-manager.io/inject-ca-from-secret: "cert-manager/cert-manager-webhook-tls"
  6187. spec:
  6188. group: webhook.cert-manager.io
  6189. groupPriorityMinimum: 1000
  6190. versionPriority: 15
  6191. service:
  6192. name: cert-manager-webhook
  6193. namespace: "cert-manager"
  6194. version: v1beta1
  6195. ---
  6196. # Source: cert-manager/templates/webhook-mutating-webhook.yaml
  6197. apiVersion: admissionregistration.k8s.io/v1beta1
  6198. kind: MutatingWebhookConfiguration
  6199. metadata:
  6200. name: cert-manager-webhook
  6201. labels:
  6202. app: webhook
  6203. app.kubernetes.io/name: webhook
  6204. app.kubernetes.io/instance: cert-manager
  6205. app.kubernetes.io/managed-by: Tiller
  6206. helm.sh/chart: cert-manager-v0.11.0
  6207. annotations:
  6208. cert-manager.io/inject-apiserver-ca: "true"
  6209. webhooks:
  6210. - name: webhook.cert-manager.io
  6211. rules:
  6212. - apiGroups:
  6213. - "cert-manager.io"
  6214. apiVersions:
  6215. - v1alpha2
  6216. operations:
  6217. - CREATE
  6218. - UPDATE
  6219. resources:
  6220. - certificates
  6221. - issuers
  6222. - clusterissuers
  6223. - orders
  6224. - challenges
  6225. - certificaterequests
  6226. failurePolicy: Fail
  6227. clientConfig:
  6228. service:
  6229. name: kubernetes
  6230. namespace: default
  6231. path: /apis/webhook.cert-manager.io/v1beta1/mutations
  6232. ---
  6233. # Source: cert-manager/charts/cainjector/templates/psp-clusterrole.yaml
  6234. ---
  6235. # Source: cert-manager/charts/cainjector/templates/psp-clusterrolebinding.yaml
  6236. ---
  6237. # Source: cert-manager/charts/cainjector/templates/psp.yaml
  6238. ---
  6239. # Source: cert-manager/templates/psp-clusterrole.yaml
  6240. ---
  6241. # Source: cert-manager/templates/psp-clusterrolebinding.yaml
  6242. ---
  6243. # Source: cert-manager/templates/psp.yaml
  6244. ---
  6245. # Source: cert-manager/templates/servicemonitor.yaml
  6246. ---
  6247. # Source: cert-manager/templates/webhook-validating-webhook.yaml
  6248. apiVersion: admissionregistration.k8s.io/v1beta1
  6249. kind: ValidatingWebhookConfiguration
  6250. metadata:
  6251. name: cert-manager-webhook
  6252. labels:
  6253. app: webhook
  6254. app.kubernetes.io/name: webhook
  6255. app.kubernetes.io/instance: cert-manager
  6256. app.kubernetes.io/managed-by: Tiller
  6257. helm.sh/chart: cert-manager-v0.11.0
  6258. annotations:
  6259. cert-manager.io/inject-apiserver-ca: "true"
  6260. webhooks:
  6261. - name: webhook.cert-manager.io
  6262. namespaceSelector:
  6263. matchExpressions:
  6264. - key: "cert-manager.io/disable-validation"
  6265. operator: "NotIn"
  6266. values:
  6267. - "true"
  6268. - key: "name"
  6269. operator: "NotIn"
  6270. values:
  6271. - cert-manager
  6272. rules:
  6273. - apiGroups:
  6274. - "cert-manager.io"
  6275. apiVersions:
  6276. - v1alpha2
  6277. operations:
  6278. - CREATE
  6279. - UPDATE
  6280. resources:
  6281. - certificates
  6282. - issuers
  6283. - clusterissuers
  6284. - certificaterequests
  6285. failurePolicy: Fail
  6286. sideEffects: None
  6287. clientConfig:
  6288. service:
  6289. name: kubernetes
  6290. namespace: default
  6291. path: /apis/webhook.cert-manager.io/v1beta1/validations