Skip to content

Conversation

@ZhiminXiang
Copy link

Fixes #issue-number
#1949

Proposed Changes

  • Add instruction about using the feature of HTTP01 challenge and per-namespace Certificate
  • Update the doc to use cert-manager 0.12.0 and the corresponding configs

@googlebot googlebot added the cla: yes Indicates the PR's author has signed the CLA. label Jan 4, 2020
@knative-prow-robot knative-prow-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jan 4, 2020
@ZhiminXiang
Copy link
Author

/cc @mattmoor

@ZhiminXiang
Copy link
Author

/hold

This PR is ready for review, but should be held until the related PR (knative/serving#6408) in serving is checked in.

@knative-prow-robot knative-prow-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jan 4, 2020
@ZhiminXiang
Copy link
Author

/hold cancel
The related code is checked into knative serving repository. So this PR is ready for review.

@knative-prow-robot knative-prow-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jan 13, 2020
Copy link
Contributor

@abrennan89 abrennan89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some initial comments added, this could probably do with some changes to the structure to make it easier to follow, but that's just my 2 cents.
Otherwise the information looks good.


## Automatic TLS provision mode

In Knative, we support the following modes of Auto TLS:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Knative supports the following Auto TLS modes:"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done


In Knative, we support the following modes of Auto TLS:

1. Using DNS01 challenge
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this DNS01 rather than just DNS?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://letsencrypt.org/docs/challenge-types/
Actually we should use DNS-01 challenge and HTTP-01 challenge. I updated the doc to use them.

1. Using DNS01 challenge

In this mode, your cluster needs to be able to talk to your DNS server to verify the ownership of your domain.
Specifically, when using DNS challenge, we support:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace "Specifically....per namespace" with something like "Provision Certificate per namespace is supported when using DNS challenge mode."

"In this mode, a single Certificate will be provisioned per namespace and is reused across the Knative Services within the same namespace."
Remove 'if possible' and instead explain any caveats where this might not be possible.

Remove "If you want to have a fast certificate provision process, this way is recommended." and instead have a similar comment at the beginning of the explanation, e.g.
"Provision Certificate per namespace is supported when using DNS challenge mode. This is the recommended mode for faster certificate provision."

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

- If you want to have a fast certificate provision process, this way is
recommended.

- **Provision Certificate per Knative Service:**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Restructure similar to comments above

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

[`ClusterIssuer` example](https://docs.cert-manager.io/en/latest/tasks/issuers/setup-acme.html#creating-a-basic-acme-issuer)
- Also see the
[`DNS-01` example](https://docs.cert-manager.io/en/latest/tasks/acme/configuring-dns01/index.html)
Use the cert-manager reference to determine how to configure your
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should these be numbered steps instead?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1. Let's try to be consistent with numbering all steps.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part is an expansion of section #### ClusterIssuer for DNS-01 challenge. There are no other steps after it.

1. Add your `ClusterIssuer` configuration to your Knative cluster by running
the following commands, where `<filename>` is the name of the file that
you created:
1. ClusterIssuer for HTTP01 challenge
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, this seems confusing structured this way - make this a heading instead with numbered steps on how to create the ClusterIssuer?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed this to use heading as this part is in parallel with ClusterIssuer for DNS-01 challenge

1. ClusterIssuer for HTTP01 challenge

1. Add the configuration file to Knative:
Run the following command to apply the ClusterIssuer for HTT01 challenge:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be numbered step also, same for all of these steps?

kubectl get configmap config-network --namespace knative-serving --output yaml
```
Congratulations! Knative is now configured to obtain and renew TLS certificates.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove "Congratulations!..." - this doesn't really add anything. Instead consider adding the steps to confirm this works as a 'verification' section or similar.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a section as "verification"

```
Congratulations! Knative is now configured to obtain and renew TLS certificates.
When your TLS certificate is active on your cluster, your Knative services will
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move this to earlier in the doc? Part of explanation of why someone would want to use it?

@ZhiminXiang
Copy link
Author

/cc @rmoe

@knative-prow-robot
Copy link
Contributor

@ZhiminXiang: GitHub didn't allow me to request PR reviews from the following users: rmoe.

Note that only knative members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

/cc @rmoe

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Copy link
Contributor

@samodell samodell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apologies @ZhiminXiang ; it looks like I made a few comments but never sent them to you.


1. Determine if `networking-certmanager` is already installed by running the 
following command:
### Step 1: Create cert-manager ClusterIssuer
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's avoid putting "Step #" in headings. Instead, just leave the descriptions -- "Create cert-manager ClusterIssuer," for this one, but this should be applied throughout the page.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

[`ClusterIssuer` example](https://docs.cert-manager.io/en/latest/tasks/issuers/setup-acme.html#creating-a-basic-acme-issuer)
- Also see the
[`DNS-01` example](https://docs.cert-manager.io/en/latest/tasks/acme/configuring-dns01/index.html)
Use the cert-manager reference to determine how to configure your
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1. Let's try to be consistent with numbering all steps.

@samodell
Copy link
Contributor

/lgtm
/approve

Thanks for this!!

@knative-prow-robot knative-prow-robot added the lgtm Indicates that a PR is ready to be merged. label Jan 22, 2020
@knative-prow-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: samodell, ZhiminXiang

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@knative-prow-robot knative-prow-robot merged commit 27382ee into knative:master Jan 22, 2020
samodell pushed a commit to samodell/docs that referenced this pull request Jan 23, 2020
* initial version of auto tls instruction

* Update auto-tls doc to mention namespace cert feature and http01 challenge feature

* address comments

* fix format

* address comments
knative-prow-robot pushed a commit that referenced this pull request Jan 23, 2020
* Kourier Installation guide for Knative Serving (#2006)

* Adds a new guide describing how to install knative with kourier

* Links the knative with kourier installation guide in the main README file

* Use kourier-system instead of knative-serving when getting kourier IP

* Install Kourier using the included yaml in third_party

* Update the Auto TLS instruction (#2083)

* initial version of auto tls instruction

* Update auto-tls doc to mention namespace cert feature and http01 challenge feature

* address comments

* fix format

* address comments

* Format cmd for easy reading&copy (#2120)

* Updating to LATEST for Kafka Channel/Source (#2121)

* Updating to LATEST for Kafka Channel/Source

* Switching the values to 1 replica, but 3 partitions

Co-authored-by: Joaquim Moreno Prusi <jmprusi@keepalive.io>
Co-authored-by: Zhimin Xiang <zhiminx@google.com>
Co-authored-by: 赤月 <974226358@qq.com>
Co-authored-by: Matthias Wessendorf <mwessend@redhat.com>
@abrennan89 abrennan89 mentioned this pull request Jun 11, 2020
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla: yes Indicates the PR's author has signed the CLA. lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants