feat(docs): add detail to clusterissuer how-to (#9863)

**Description**
add detail to clusterissuer how-to (nameservers, api tokens, clearer
screenshots)

⚒️ 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?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ 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

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🪞 I have opened a PR on
[truecharts/containers](https://github.com/truecharts/containers) adding
the container to TrueCharts mirror repo.
- [ ] 🖼️ 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._

---------

Signed-off-by: StevenMcElligott <89483932+StevenMcElligott@users.noreply.github.com>
Co-authored-by: StevenMcElligott <89483932+StevenMcElligott@users.noreply.github.com>
This commit is contained in:
ksimm1
2023-06-24 13:31:20 +02:00
committed by GitHub
co-authored by StevenMcElligott
parent 84cee0fefa
commit e7c156dceb
6 changed files with 50 additions and 19 deletions
+50 -19
View File
@@ -4,26 +4,17 @@ This guide will walk you through setting up `clusterissuer`, certificate managem
## Prerequisites
Ensure you have the `enterprise` train enabled for `TrueCharts` as discussed [here](https://truecharts.org/manual/SCALE/guides/getting-started/#adding-truecharts).
- Ensure you have the `enterprise` train enabled for `TrueCharts` as discussed [here](https://truecharts.org/manual/SCALE/guides/getting-started/#adding-truecharts).
- Traefik is installed from enterprise train
Ensure you have traefik installed, required for Ingress.
## Set Scale Nameservers
Search for clusterissuer in the `Apps` menu | `Available Applications` tab and click **Install**.
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, 9.9.9.9 or 8.8.8.8.
## Cloudflare DNS-Provider
![clusterissuer scale nameservers](img/scale-network-nameserver.png)
You can setup multiple domains with a single `clusterissuer` app, all you have to do is either add the global API key (**not recommended**) or `Add` multiple `ACME Issuer` entries for each domain and create an API token for each at [Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens). The recommended settings for creating `API Tokens` for use with `clusterissuer` can be found on the upstream [Cert-Manager](https://cert-manager.io/) documentation for [Cloudflare](https://cert-manager.io/docs/configuration/acme/dns01/cloudflare/).
- Give the certificate a name (eg domain or "maincert", etc).
- Select the correct provider, for example `Cloudflare`.
- Set **Server** to **Letsencrypt-Production**.
- Set Email to the account email.
- Optionally set Cloudflare API key (**not recommended**)
- Set the Cloudflare API Token to the one created earlier.
![clusterissuer edit dialog](img/clusterissuer1.png)
## clusterissuer App
## Install clusterissuer App
:::note
@@ -33,7 +24,47 @@ It is by design that the app does not run, there are no events, no logs and no s
![clusterissuer app card](img/clusterissuer2.png)
## How to Add Ingress to Apps with clusterissuer
## Configure ACME Issuer
You can setup multiple domains and/or DNS providers with a single `clusterissuer` app.
### Cloudflare DNS Provider
#### Create a Cloudflare API token
Login to Cloudflare dashboard and go to the [Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens) page. Select Edit Zone DNS template.
![clusterissuer app card](img/cf-apitokens-template.png)
The recommended `API Token` permissions are below:
![clusterissuer app card](img/cf-apitokens-perms.png)
#### 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.
![clusterissuer edit dialog](img/clusterissuer-appconfig.png)
More detail can be found on the upstream [Cert-Manager](https://cert-manager.io/) documentaition for [Cloudflare](https://cert-manager.io/docs/configuration/acme/dns01/cloudflare/).
### Route 53 DNS Provider
To be completed
### Akamai DNS Provider
To be completed
### Digital Ocean DNS Provider
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.
@@ -45,9 +76,9 @@ Do **NOT** use this combined with the `TLS-Settings`.
:::
![how to add ingress using clusterissuer ](img/clusterissuer3.png)
![configure ingress using clusterissuer ](img/clusterissuer-ingressconfig.png)
If you want to support multiple domains, use the `TLS-Settings` option to create each one, basically an extra step each time.
If you want to support multiple domains on a single app, under `Show Advanced Settings` checkbox, use the `TLS-Settings` option to create each one with the Add button.
## Verifying clusterissuer is working
@@ -56,4 +87,4 @@ Once installed using the Ingress settings above, you can see the `Application Ev
![clusterissuer4](img/clusterissuer4.png)
![clusterissuer5](img/clusterissuer5.png)
All is automated by `clusterissuer`
Renewals are handled automatically by `clusterissuer`.
Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB