Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Fix panic when ACME server returns a genuine error
**What this PR does / why we need it**:
Fixes a panic when an error other than HTTP Conflict is returned from the ACME server during registration.
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
Fixes#236
**Release note**:
```release-note
Fix panic when ACME server returns an error other than HTTP Status Conflict during registration
```
/assign
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Fix typo in acme-http-validation.md
s/Certficate/Certificate
**What this PR does / why we need it**:
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
**Special notes for your reviewer**:
**Release note**:
```release-note
```
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Update dates in generated license headers
**What this PR does / why we need it**:
Fixes the dates for 2018 in our generated files
**Release note**:
```release-note
NONE
```
/assign
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
provider names in issuer.yml and certificate.yml must match
**What this PR does / why we need it**:
Documentation fix. For further information see #209.
**Which issue this PR fixes**
fixes#209
```release-note
NONE
```
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Update Secrets instead of replacing to preserve additional metadata
**What this PR does / why we need it**:
Previously we always overwrite the existing certificate if it already existed. Some users have requested a way to automatically create the target secrets using a helm chart, so that all artifacts can be cleaned up cleanly upon `helm delete`.
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
Fixes#192
**Release note**:
```release-note
Update existing secrets instead of replacing in order to preserve annotations/labels
```
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Fix panic in acme authorize function
**What this PR does / why we need it**:
Fixes a panic in the authorize() method of the acme issuer
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
Fixes#206
**Release note**:
```release-note
Fix a bug in the ACME authorizer that would cause cert-manager to panic when certificate.spec.acme was not specified
```
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Enable go race detector and fix race in scheduler
**What this PR does / why we need it**:
Fixes a race condition in the scheduler package and enables the race detector in tests
**Release note**:
```release-note
Fix a race condition in the package responsible for scheduling renewals
```
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Update for v0.2.2
**What this PR does / why we need it**:
Version bump for 0.2.2
**Release note**:
```release-note
NONE
```
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Fix checking for expired ACME authorizations
**What this PR does / why we need it**:
Fixes a bug that caused ACME certificates to not be renewed
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
Fixes#205
**Special notes for your reviewer**:
I've also added unit tests to verify that this patch works.
I'd like to create some e2e tests for renewal in future, but it'll involve some hacking at boulder to do so.
**Release note**:
```release-note
Fix a bug that caused ACME certificates to not be automatically renewed
```
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Ingress shim fixes
**What this PR does / why we need it**:
Fixes ingress-shim image name in helm chart
Allow specifying extraArgs to ingress-shim in helm chart
**Release note**:
```release-note
NONE
```
/assign
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
Add ingress-shim controller to create Certificates based on annotations on ingress resources
**What this PR does / why we need it**:
Adds a new controller, ingress-shim, that will automatically create Certificate resources for ingress resources with annotations on them.
By setting defaults on the ingress-shim CLI, it's possible to re-implement the `kubernetes.io/tls-acme` behavior of kube-lego.
There also needs to be some documentation written about this, as well as a user guide. This can be our migration story for users coming from kube-lego as well. It'd be interesting to know how easily it'd be to support a seamless migration from [kube-cert-manager](https://github.com/PalmStoneGames/kube-cert-manager) through this tool too.
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
Fixes#19
**Special notes for your reviewer**:
This includes unit tests for sync.go in the new controller, as well as a basic e2e test that ensures an ACME certificate is obtained correctly when an annotation is set on an ingress.
**Release note**:
```release-note
Add ingress-shim controller to automatically create Certificate resources based on annotations on ingresses. This allows for easy creation of Certificate resources when using ingress.
```
Slightly related to #97