Go to file
Euan Kemp 78b1b8d69d issuer/acme/dns: refactor provider construction
Previously, each provider's package-level 'New' function was being
called.

That made mocking it out for a different function that records data or
returns different output quite difficult.

This PR introduces an additional layer of abstraction in the form of
effectively a vtable struct for the dns providers. It's defaulted to the
same package-level constructors as before, but unit tests in the dns
package can easily override it.

A new test for the previously-introduced route53 trimming behavior is
also added.
2018-03-14 01:25:15 -07:00
.github
cmd Merge pull request #327 from ocadotechnology/wip-293 2018-02-21 18:22:27 +00:00
contrib/charts Merge branch 'master' into patch-1 2018-03-09 22:44:56 -05:00
docs Merge pull request #376 from jetstack/munnerz-patch-1 2018-03-12 10:28:16 +00:00
hack Verify helm chart version is bumped when a chart is changed 2018-03-02 10:01:53 +00:00
pkg issuer/acme/dns: refactor provider construction 2018-03-14 01:25:15 -07:00
test Update cluster resource namespace during e2e tests 2018-02-23 11:18:58 +00:00
vendor Add azure-sdk-for-go dependency 2018-01-16 11:00:39 +01:00
.gitignore Update .gitignore 2018-01-18 22:24:19 +00:00
.gitlab-ci.yml Fix .gitlab-ci.yml build 2018-03-08 13:29:21 +00:00
.travis.yml
CODE_OF_CONDUCT.md
Gopkg.lock Add azure-sdk-for-go dependency 2018-01-16 11:00:39 +01:00
Gopkg.toml Add azure-sdk-for-go dependency 2018-01-16 11:00:39 +01:00
labels.yaml
LICENSE
Makefile Verify helm chart version is bumped when a chart is changed 2018-03-02 10:01:53 +00:00
OWNERS Update OWNERS 2018-02-08 15:21:36 +00:00
README.md Add links to new documentation content 2018-01-18 17:44:05 +00:00

cert-manager

cert-manager is a Kubernetes add-on to automate the management and issuance of TLS certificates from various issuing sources.

It will ensure certificates are valid and up to date periodically, and attempt to renew certificates at an appropriate time before expiry.

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

cert-manager high level overview diagram

Current status

This project is not yet ready to be a component in a critical production stack, however it is at a point where it offers comparable features to other projects in the space. If you have a non-critical piece of infrastructure, or are feeling brave, please do try cert-manager and report your experience here in the issue section.

NOTE: currently we provide no guarantees on our API stability. This means there may be breaking changes that will require changes to all Issuer/Certificate resources you have already created. We aim to provide a stable API after a 1.0 release.

Quickstart

Prebuilt images for cert-manager are made available on Dockerhub.

Pre-requisites

  • Kubernetes cluster with CustomResourceDefinition or ThirdPartyResource support

Deploying cert-manager

The easiest way to deploy cert-manager into your cluster is to use the Helm chart. For information on how to do this see the Deploying cert-manager using Helm user guide.

Creating your first Issuer and Certificate

An Issuer in cert-manager describes a source of X.509 certificates. A Certificate in cert-manager defines a desired X.509 certificate. Below is a list of user guides that can be used to get started with both resources:

Further documentation

For further documentation, please check the /docs directory in this repository.

Troubleshooting

If you encounter any issues whilst using cert-manager, and your issue is not documented, please file an issue.

Contributing

We welcome pull requests with open arms! There's a lot of work to do here, and we're especially concerned with ensuring the longevity and reliability of the project.

Please take a look at our issue tracker if you are unsure where to start with getting involved!

We also use the #kube-lego channel on kubernetes.slack.com for chat relating to the project.

Developer documentation should be available soon at docs/devel.

Changelog

The list of releases is the best place to look for information on changes between releases.