github cert-manager/istio-csr v0.10.0

latest releases: v0.12.0, v0.12.0-alpha.1, v0.12.0-alpha.0...
2 months ago

istio-csr integrates cert-manager into Istio, allowing you to issue workload certificates using the power of cert-manager.

v0.10.0 provides some cool new features - initial support for easier runtime configuration, support for the s390x architecture and dependency updates!

Initial Runtime Configuration Support

istio-csr requires cert-manager to be installed to be able to issue certificates; using cert-manager to issue istio certificates is the whole reason to use istio-csr!

More subtly, istio-csr actually requires a cert-manager issuer to be created before istio-csr is installed. This issuer is used to issue the istiod certificate, the istio serving certificate and workload certificates.

This dependency means that it's not possible to install istio-csr and cert-manager at the same time, which can be a problem for some users and some installation methods. Runtime configuration aims to solve that problem, by allowing the issuer to be defined at runtime through a ConfigMap resource in the same namespace as the istio-csr pods.

Plus, since the issuer is defined at pod startup time (via the Helm chart) it's not possible to swap out an issuer on the fly while istio-csr pods are running. Runtime configuration changes this:

$ kubectl create configmap -n cert-manager istio-issuer \
  --from-literal=issuer-name=my-issuer-name \
  --from-literal=issuer-kind=ClusterIssuer \
  --from-literal=issuer-group=cert-manager.io

$ cat values.yaml
app:
  runtimeIssuanceConfigMap: istio-issuer
  certmanager:
    issuer:
      name: ""
      kind: ""
      group: ""
  tls:
    rootCAFile: "/var/run/secrets/istio-csr/ca.pem"
    istiodCertificateEnable: false
volumeMounts:
- name: root-ca
  mountPath: /var/run/secrets/istio-csr
volumes:
- name: root-ca
  secret:
    secretName: istio-root-ca

$ helm upgrade cert-manager-istio-csr jetstack/cert-manager-istio-csr \
  --install \
  --namespace cert-manager \
  --wait \
  --values values.yaml

This initial support does require that the istiod certificate is disabled, which means there's a need to provision that certificate ahead of installing istio-csr.

Alternatively,istiodCertificateEnable can be left as true and app.certmanager.issuer can be provided. This will still require cert-manager to be installed and configured before istio-csr, but this will enable being able to change certificates on the fly.

A future release of istio-csr should help with provisioning the istiod certificate dynamically, allowing for true runtime configuration.

s390x Support

Thanks to @rishikakedia istio-csr now supports the s390x architecture! While the cert-manager's project to test on s390x is limited, we hope this support is useful and we'd be happy to action any bugs you find!

What's Changed

Features

Testing / Documentation

New Contributors

Full Changelog: v0.9.0...v0.10.0

Don't miss a new istio-csr release

NewReleases is sending notifications on new releases.