-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clean up ssl package and fix dynamic cert mode #3886
Merged
k8s-ci-robot
merged 6 commits into
kubernetes:master
from
ElvinEfendi:fix-dynamic-cert-mode
Mar 11, 2019
Merged
Clean up ssl package and fix dynamic cert mode #3886
k8s-ci-robot
merged 6 commits into
kubernetes:master
from
ElvinEfendi:fix-dynamic-cert-mode
Mar 11, 2019
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
k8s-ci-robot
added
do-not-merge/work-in-progress
Indicates that a PR should not merge because it is a work in progress.
cncf-cla: yes
Indicates the PR's author has signed the CNCF CLA.
approved
Indicates a PR has been approved by an approver from all required OWNERS files.
size/M
Denotes a PR that changes 30-99 lines, ignoring generated files.
labels
Mar 11, 2019
k8s-ci-robot
added
size/L
Denotes a PR that changes 100-499 lines, ignoring generated files.
and removed
size/M
Denotes a PR that changes 30-99 lines, ignoring generated files.
labels
Mar 11, 2019
k8s-ci-robot
removed
the
do-not-merge/work-in-progress
Indicates that a PR should not merge because it is a work in progress.
label
Mar 11, 2019
ElvinEfendi
changed the title
Fix dynamic cert mode
Clean up ssl package and fix dynamic cert mode
Mar 11, 2019
/lgtm |
k8s-ci-robot
added
the
lgtm
"Looks good to me", indicates that a PR is ready to be merged.
label
Mar 11, 2019
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: aledbf, ElvinEfendi 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
approved
Indicates a PR has been approved by an approver from all required OWNERS files.
cncf-cla: yes
Indicates the PR's author has signed the CNCF CLA.
lgtm
"Looks good to me", indicates that a PR is ready to be merged.
size/L
Denotes a PR that changes 100-499 lines, ignoring generated files.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
The PR first cleans up ssl package by
splitting
AddOrUpdateCertAndKey
into three functions where first we createSSLCert
object after validating cert and key (CreateSSLCert
) and second function where we storeSSLCert
on disk (StoreSSLCertOnDisk
), and third function where we append CA certificate and updateSSLCert
object's relevant fields (ConfigureCACertWithCertAndKey
). This let's us get rid ofCreateSSLCert
's old implementation that was only for Dynamic SSL mode.similarly split
AddCertAuth
intoCreateCACert
andConfigureCACert
. This was not necessary but is good to keep things consistent and be able to further DRY the ssl package by potentially mergingCreateCACert
withCreateSSLCert
and by mergingConfigureCACert
withConfigureCACertWithCertAndKey
.With these refactoring it becomes more obvious that when secret includes tls, cert as well as ca.crt we don't store the bundled certificate in dynamic SSL mode. We should make sure it's stored on disk in dynamic SSL mode so that TLS client authentication works as expected in this mode.
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:
5667ea5 is the comment that actually fixes the bug, everything else is refactoring.