diff --git a/charts/premium/clusterissuer/docs/cluster-certificates.md b/charts/premium/clusterissuer/docs/cluster-certificates.md index 2ebcd9627a7..f02e0a51dca 100644 --- a/charts/premium/clusterissuer/docs/cluster-certificates.md +++ b/charts/premium/clusterissuer/docs/cluster-certificates.md @@ -25,15 +25,25 @@ In order for an ACME issuer to issue a wildcard certificate, you need to have a ::: -![clusterissuer-clusterwidecert](./img/clusterissuer-clusterwidecert.png) +```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 ::: -![clusterissuer7](./img/clusterissuer7.png) +```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 +``` diff --git a/charts/premium/clusterissuer/docs/how-to.md b/charts/premium/clusterissuer/docs/how-to.md index 9c83c0eff40..590a319478e 100644 --- a/charts/premium/clusterissuer/docs/how-to.md +++ b/charts/premium/clusterissuer/docs/how-to.md @@ -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. - -![clusterissuer scale nameservers](./img/scale-network-nameserver.png) - -## Install clusterissuer App - -:::note - -It is by design that the app does not run, there are no events, no logs and no shell. - -::: - -![clusterissuer app card](./img/clusterissuer2.png) - ## 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. - -![clusterissuer edit dialog](./img/clusterissuer-appconfig.png) +```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` - -![configure ingress using clusterissuer ](./img/clusterissuer-ingressconfig.png) - -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: - -![clusterissuer4](./img/clusterissuer4.png) -![clusterissuer5](./img/clusterissuer5.png) +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`.