docs(clusterissuer): update clusterissuer guides (#29796)
**Description** Updates clusterissuer guides with yaml examples ⚒️ Fixes # <!--(issue)--> **⚙️ Type of change** - [ ] ⚙️ Feature/App addition - [ ] 🪛 Bugfix - [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] 🔃 Refactor of current code **🧪 How Has This Been Tested?** **📃 Notes:** **✔️ Checklist:** - [ ] ⚖️ My code follows the style guidelines of this project - [ ] 👀 I have performed a self-review of my own code - [ ] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ ] 📄 I have made corresponding changes to the documentation - [ ] ⚠️ My changes generate no new warnings - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [ ] ⬆️ I increased versions for any altered app according to semantic versioning - [ ] I made sure the title starts with `feat(chart-name):`, `fix(chart-name):` or `chore(chart-name):` **➕ App addition** If this PR is an app addition please make sure you have done the following. - [ ] 🖼️ I have added an icon in the Chart's root directory called `icon.png` --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._
This commit is contained in:
@@ -25,15 +25,25 @@ In order for an ACME issuer to issue a wildcard certificate, you need to have a
|
||||
|
||||
:::
|
||||
|
||||

|
||||
```yaml
|
||||
// values.yaml
|
||||
clusterCertificates:
|
||||
replicationNamespaces: '.*'
|
||||
certificates:
|
||||
- name: domain-0-wildcard
|
||||
enabled: true
|
||||
# name of previously configured single domain certificate
|
||||
certificateIssuer: domain-0-le-prod
|
||||
hosts:
|
||||
- example.com
|
||||
- '*.example.com
|
||||
```
|
||||
|
||||
After creating the cluster certificate, verify it is working by checking the `Application Events` created in the `clusterissuer` app (see [how to verify a single app certificate is working](how-to#verifying-clusterissuer-is-working) for more information).
|
||||
After creating the cluster certificate, verify it is working by checking the `kubectl events` for the `clusterissuer` chart (see [how to verify a single app certificate is working](how-to#verifying-clusterissuer-is-working) for more information).
|
||||
|
||||
## Using a cluster certificate
|
||||
|
||||
After you have verified the certificate was created successfully, edit the settings of the app you wish to use it for and go to the _Ingress_ section.
|
||||
|
||||
If you have previously used a single domain certificate from clusterissuer, remove the specified issuer name. Then, click on _Show Advanced Settings_ and add a _TLS_ entry. Enter the name of your cluster certificate, and the certificate host(s) which it will be used for. These are usually the same as your app host(s), unless you wish to use more than one certificate. Save the chart.
|
||||
After you have verified the certificate was created successfully, edit the `values.yaml` of the chart you wish to use it for.
|
||||
|
||||
:::note
|
||||
|
||||
@@ -41,4 +51,18 @@ In order for your cluster certificate to show up as valid, the certificate hosts
|
||||
|
||||
:::
|
||||
|
||||

|
||||
```yaml
|
||||
// values.yaml
|
||||
ingress:
|
||||
main:
|
||||
enabled: true
|
||||
integrations:
|
||||
traefik:
|
||||
enabled: true
|
||||
tls:
|
||||
- hosts:
|
||||
- app.example.com
|
||||
clusterIssuer: domain-0-wildcard
|
||||
hosts:
|
||||
- host: app.example.com
|
||||
```
|
||||
|
||||
@@ -6,8 +6,7 @@ This guide will walk you through setting up `clusterissuer`, certificate managem
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Ensure you have the `premium` and `system` trains enabled for `TrueCharts` as discussed [here](/.
|
||||
- [Traefik](/charts/premium/traefik/) is installed from premium train
|
||||
- [Traefik](/charts/premium/traefik/) is installed from premium train.
|
||||
- [Cert-Mananger](/charts/system/cert-manager/) and [Prometheus-Operator](/charts/system/prometheus-operator/)
|
||||
|
||||
:::caution[DNS]
|
||||
@@ -18,22 +17,6 @@ As part of the DNS verification process cert-manager will connect to authoritati
|
||||
|
||||
:::
|
||||
|
||||
## Set Scale Nameservers
|
||||
|
||||
It is important to configure Scale with reliable nameserver to avoid issues handling DNS-01 challenges. Under Network -> Global Configuration-> Nameservers, we recommend setting 1.1.1.1/1.0.0.1 or 8.8.8.8/8.8.4.4.
|
||||
|
||||

|
||||
|
||||
## Install clusterissuer App
|
||||
|
||||
:::note
|
||||
|
||||
It is by design that the app does not run, there are no events, no logs and no shell.
|
||||
|
||||
:::
|
||||
|
||||

|
||||
|
||||
## Configure ACME Issuer
|
||||
|
||||
You can setup multiple domains and/or DNS providers with a single `clusterissuer` app.
|
||||
@@ -51,14 +34,18 @@ The recommended `API Token` permissions are below:
|
||||
|
||||
#### Cloudflare ACME Issuer Settings
|
||||
|
||||
- **Name**: Name of the issuer entry; such as "cert" or "cloudflareprod". This name will be used later in the app ingress configuration
|
||||
- **Type of DNS Provider**: `Cloudflare`
|
||||
- **Server**: `Letsencrypt-Production`
|
||||
- **Email**: The email address you register with Let's Encrypt for renewal/expiration notices
|
||||
- **Cloudflare API key**: Leave blank since API token will be used
|
||||
- **Cloudflare API Token**: Populate with token created from above.
|
||||
|
||||

|
||||
```yaml
|
||||
// values.yaml
|
||||
clusterIssuer:
|
||||
ACME:
|
||||
- name: domain-0-le-prod
|
||||
# Used for both logging in to the DNS provider AND ACME registration
|
||||
email: "${DOMAIN_0_EMAIL}"
|
||||
server: 'https://acme-staging-v02.api.letsencrypt.org/directory'
|
||||
type: "cloudflare"
|
||||
# Obtained using instructions above
|
||||
cfapitoken: sometoken
|
||||
```
|
||||
|
||||
More detail can be found on the upstream [Cert-Manager](https://cert-manager.io/) documentation for [Cloudflare](https://cert-manager.io/docs/configuration/acme/dns01/cloudflare/).
|
||||
|
||||
@@ -76,19 +63,28 @@ To be completed
|
||||
|
||||
## Configure Ingress using clusterissuer
|
||||
|
||||
Here's an example on how to add ingress to an app with clusterissuer for a single domain only.
|
||||
Here's an example on how to add ingress to a chart with clusterissuer for a single domain only.
|
||||
|
||||
Add the name of the `ACME Issuer` into `certificateIssuer`
|
||||
|
||||

|
||||
|
||||
If you want to support multiple domains on a single app, use the Add button next to `Hosts`.
|
||||
```yaml
|
||||
// values.yaml
|
||||
ingress:
|
||||
main:
|
||||
enabled: true
|
||||
integrations:
|
||||
traefik:
|
||||
enabled: true
|
||||
middlewares:
|
||||
- name: auth
|
||||
namespace: traefik
|
||||
certManager:
|
||||
enabled: true
|
||||
certificateIssuer: domain-0-le-prod
|
||||
hosts:
|
||||
- host: librespeed.example.com
|
||||
```
|
||||
|
||||
## Verifying clusterissuer is working
|
||||
|
||||
Once installed using the Ingress settings above, you can see the `Application Events` for the app in question to pull the certificate and issue the challenge directly. See the example below:
|
||||
|
||||

|
||||

|
||||
Once installed using the Ingress settings above, you can see the `kubectl events` for the chart in question to pull the certificate and issue the challenge directly. See the example below:
|
||||
|
||||
Renewals are handled automatically by `clusterissuer`.
|
||||
|
||||
Reference in New Issue
Block a user