Skip to content

Commit 2d497eb

Browse files
authored
ingress-controller: add more docs for the certificate auto provisioning (#1418)
## Summary Add some more documentation around the certificate auto provisioning options. ## Related issues - [ENG-4055](https://linear.app/pomerium/issue/ENG-4055/documentation-document-new-certificate-controller) ## Checklist - [x] reference any related issues - [ ] updated docs - [ ] updated unit tests - [ ] updated UPGRADING.md - [ ] add appropriate tag (`improvement` / `bug` / etc) - [x] ready for review
1 parent 752351f commit 2d497eb

4 files changed

Lines changed: 31 additions & 5 deletions

File tree

apis/ingress/v1/pomerium_types.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,8 @@ type PomeriumSpec struct {
383383

384384
// CertificateAutoProvision sets the certificate auto provision settings.
385385
// This is a fallback for routes that are not defined via Ingress or
386-
// Gateway resources.
386+
// Gateway resources. When configured, cert-manager certificate resources
387+
// will be created for any routes which have no matching TLS certificate.
387388
//
388389
// +kubebuilder:validation:Optional
389390
CertificateAutoProvision *CertificateAutoProvision `json:"certificateAutoProvision,omitzero"`
@@ -547,9 +548,16 @@ type SSH struct {
547548

548549
// CertificateAutoProvision are the settings for automatically provisioning certificates.
549550
type CertificateAutoProvision struct {
551+
// The cert-manager ClusterIssuer that will be used for new certificates.
552+
// Certificates will be created in the same namespace as the controller
553+
// pod.
554+
//
550555
// +kubebuilder:validation:Optional
551556
// +kubebuilder:validation:MinLength=1
552557
ClusterIssuer *string `json:"clusterIssuer"`
558+
// The cert-manager Issuer that will be used for new certificates.
559+
// Certificates will be created in the same namespace as the Issuer.
560+
//
553561
// +kubebuilder:validation:Optional
554562
// +kubebuilder:validation:MinLength=1
555563
// +kubebuilder:validation:Format="namespace/name"

config/crd/bases/ingress.pomerium.io_pomerium.yaml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,20 @@ spec:
9797
description: |-
9898
CertificateAutoProvision sets the certificate auto provision settings.
9999
This is a fallback for routes that are not defined via Ingress or
100-
Gateway resources.
100+
Gateway resources. When configured, cert-manager certificate resources
101+
will be created for any routes which have no matching TLS certificate.
101102
properties:
102103
clusterIssuer:
104+
description: |-
105+
The cert-manager ClusterIssuer that will be used for new certificates.
106+
Certificates will be created in the same namespace as the controller
107+
pod.
103108
minLength: 1
104109
type: string
105110
issuer:
111+
description: |-
112+
The cert-manager Issuer that will be used for new certificates.
113+
Certificates will be created in the same namespace as the Issuer.
106114
format: namespace/name
107115
minLength: 1
108116
type: string

deployment.yaml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,12 +239,20 @@ spec:
239239
description: |-
240240
CertificateAutoProvision sets the certificate auto provision settings.
241241
This is a fallback for routes that are not defined via Ingress or
242-
Gateway resources.
242+
Gateway resources. When configured, cert-manager certificate resources
243+
will be created for any routes which have no matching TLS certificate.
243244
properties:
244245
clusterIssuer:
246+
description: |-
247+
The cert-manager ClusterIssuer that will be used for new certificates.
248+
Certificates will be created in the same namespace as the controller
249+
pod.
245250
minLength: 1
246251
type: string
247252
issuer:
253+
description: |-
254+
The cert-manager Issuer that will be used for new certificates.
255+
Certificates will be created in the same namespace as the Issuer.
248256
format: namespace/name
249257
minLength: 1
250258
type: string

reference.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ PomeriumSpec defines Pomerium-specific configuration parameters.
9898
(<a href="#certificateautoprovision">certificateAutoProvision</a>)
9999
</p>
100100
<p>
101-
CertificateAutoProvision sets the certificate auto provision settings. This is a fallback for routes that are not defined via Ingress or Gateway resources.
101+
CertificateAutoProvision sets the certificate auto provision settings. This is a fallback for routes that are not defined via Ingress or Gateway resources. When configured, cert-manager certificate resources will be created for any routes which have no matching TLS certificate.
102102
</p>
103103
</td>
104104
</tr>
@@ -389,7 +389,7 @@ Authenticate sets authenticate service parameters. If not specified, a Pomerium-
389389

390390
### `certificateAutoProvision`
391391

392-
CertificateAutoProvision sets the certificate auto provision settings. This is a fallback for routes that are not defined via Ingress or Gateway resources.
392+
CertificateAutoProvision sets the certificate auto provision settings. This is a fallback for routes that are not defined via Ingress or Gateway resources. When configured, cert-manager certificate resources will be created for any routes which have no matching TLS certificate.
393393

394394
<table>
395395
<thead>
@@ -402,6 +402,7 @@ CertificateAutoProvision sets the certificate auto provision settings. This is a
402402
<strong>string</strong>&#160;
403403
</p>
404404
<p>
405+
The cert-manager ClusterIssuer that will be used for new certificates. Certificates will be created in the same namespace as the controller pod.
405406
</p>
406407
</td>
407408
</tr>
@@ -413,6 +414,7 @@ CertificateAutoProvision sets the certificate auto provision settings. This is a
413414
(namespace/name)
414415
</p>
415416
<p>
417+
The cert-manager Issuer that will be used for new certificates. Certificates will be created in the same namespace as the Issuer.
416418
</p>
417419
Format: reference to Kubernetes resource with namespace prefix: <code>namespace/name</code> format.
418420
</td>

0 commit comments

Comments
 (0)