Skip to content

Latest commit

 

History

History

cert-manager

cert-manager

cert-manager is an automation tool to manage and issue TLS certificates from various issuing resources in a Kubernetes native way. It ensures that certificates are valid and attempts to renew them before expiry.

This package deploys cert-manager to be used with Let's Encrypt as the Certificate Authority.

Requirements

  • Kubernetes 1.23 -> 1.28
  • Kustomize >= v3.5.3

Image repository and tag

Configuration

cert-manager is deployed with the following configuration:

  • The default issuer kind is ClusterIssuer
  • The default issuer is letsencrypt

Deployment

To deploy the cert-manager package:

  1. Add the package to your bases inside the Furyfile.yml:
resources:
  - name: ingress/dual-nginx
    version: "v3.0.1"
  - name: ingress/cert-manager
    version: "v3.0.1"
  1. Execute furyctl legacy vendor -H to download the packages

  2. Inspect the download packages under ./vendor/katalog/ingress/cert-manager.

  3. Define a kustomization.yaml that includes the ./vendor/katalog/ingress/cert-manager directory as resource.

resources:
- ./vendor/katalog/ingress/cert-manager

For the dual-nginx you will need to patch the ClusterIssuer resource with the right ingress class:

---
patchesJson6902:
    - target:
          group: cert-manager.io
          version: v1
          kind: ClusterIssuer
          name: letsencrypt-staging
      path: patches/dual-nginx.yml
    - target:
          group: cert-manager.io
          version: v1
          kind: ClusterIssuer
          name: letsencrypt-prod
      path: patches/dual-nginx.yml

and in the patches/dual-nginx.yml:

---
- op: "replace"
  path: "/spec/acme/solvers/0/http01/ingress/class"
  value: "external"
  1. Finally, execute the following command to deploy the package:
kustomize build . | kubectl apply -f -

License

For license details please see LICENSE.