Go to file
James Munnelly bbbe61a3fa Merge pull request #60 from jetstack-experimental/cleanup-gen-code
Cleanup generated code & API versions
2017-08-29 14:07:22 +01:00
cmd Update references to cert-manager informers 2017-08-22 12:13:13 +01:00
docs Remove non-working vault manifest 2017-08-07 22:33:51 +01:00
hack Verify default and deepcopy code. Remove internal listers. 2017-08-22 12:22:58 +01:00
pkg Verify default and deepcopy code. Remove internal listers. 2017-08-22 12:22:58 +01:00
vendor Update dependencies for route53 2017-08-09 12:18:07 +01:00
.dockerignore Ignore folders for building docker image 2017-08-12 14:55:11 +01:00
.gitignore Update .gitignore 2017-08-07 21:03:17 +01:00
.gitlab-ci.yml Enable gitlab-ci 2017-08-14 11:12:55 +01:00
.travis.yml make all in Makefile 2017-07-22 12:32:12 +01:00
Dockerfile.acmesolver Enable gitlab-ci 2017-08-14 11:12:55 +01:00
Dockerfile.controller Enable gitlab-ci 2017-08-14 11:12:55 +01:00
Gopkg.lock Update dependencies for route53 2017-08-09 12:18:07 +01:00
Gopkg.toml Update vendor/ 2017-08-05 00:36:25 +01:00
LICENSE add apache 2.0 license 2017-07-22 12:04:24 +01:00
Makefile Fix k8s.io/kubernetes version 2017-08-29 13:21:37 +01:00
README.md Update README.md 2017-08-08 12:00:58 +01:00

cert-manager

cert-manager is a Kubernetes addon to automate the management and issuance of certificates from an aribitrary issuing source.

It is loosely based upon the work of kube-lego and has borrowed some wisdom from other similar projects eg. kube-cert-manager.

Current status

This project is still heavily under development and is not ready for use yet. However, if you want to experiment, please do try running the current development build and reporting any issues you run into.

Requirements

  • Kubernetes cluster with CustomResourceDefinitions enabled (1.7+) (see #49)

Deploying

To deploy the latest development version, run:

$ kubectl create -f docs/cert-manager.yaml

Getting started

To get started, I've created two example issuers in docs/acme-issuer.yaml. These are configured to support the clouddns challenge provider for ACME, but if you do not intend to test this functionality then feel free to remove the configuration for it.

Go ahead and create the issuer(s) with:

$ kubectl create -f docs/acme-issuer.yaml

This will register your account with the ACME server, and generate you an account private key if required in the process.

There are then three example Certificate resources in docs/acme-cert.yaml. One of these uses the ACME HTTP01 challenge solver, targetting an existing ingress with ingressName. This configuration is best chosen when using an ingress controller that behaves like the GCLB controller (ie. one ingress<>IP mapping). The other example uses the ingressClass field, which is best used for ingress controllers like nginx where Ingress resources are 'merged'.

The third certificate is configured to use the clouddns DNS01 challenge provider.

You can mix and match challenge mechanisms within a single certificate for different domains. Please test this out and report any issues on the repo.