-
Notifications
You must be signed in to change notification settings - Fork 500
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
Support user-defined tidb server/client certificate #1714
Changes from 5 commits
3715538
e08a42a
aea638f
5920eab
30a65bd
da831be
cf8dc50
6cfaa45
20c4743
1b03947
88acf67
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -92,18 +92,9 @@ spec: | |
{{- end }} | ||
maxFailoverCount: {{ .Values.tikv.maxFailoverCount | default 3 }} | ||
tidb: | ||
enableTLSClient: {{ .Values.tidb.enableTLSClient | default false }} | ||
{{- if .Values.tidb.extraSANIPList }} | ||
extraSANIPList: | ||
{{- range .Values.tidb.extraSANIPList }} | ||
- {{ . }} | ||
{{- end }} | ||
{{- end }} | ||
{{- if .Values.tidb.extraSANDomainList }} | ||
extraSANDomainList: | ||
{{- range .Values.tidb.extraSANDomainList }} | ||
- {{ . }} | ||
{{- end }} | ||
{{- if .Values.tidb.tlsClient }} | ||
tlsClient: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. use the same struct with |
||
{{ toYaml .Values.tidb.tlsClient | indent 6 }} | ||
{{- end }} | ||
replicas: {{ .Values.tidb.replicas }} | ||
image: {{ .Values.tidb.image }} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -428,18 +428,25 @@ tidb: | |
list: ["whitelist-1"] | ||
|
||
# Whether enable TLS connection between TiDB server and MySQL client. | ||
# When enabled, TiDB will accept TLS encrypted connections from MySQL client, certificates will be generated | ||
# automatically. | ||
# Note: TLS connection is not forced on the server side, plain connections are also accepted after enableing. | ||
enableTLSClient: false | ||
# # extra SAN IP list when you set tidb.enableTLSClient to true | ||
# extraSANIPList: | ||
# - 1.1.1.1 | ||
# - 2.2.2.2 | ||
# # extra SAN Domain List when you set tidb.enableTLSClient to true | ||
# extraSANDomainList: | ||
# - example1.com | ||
# - example2.com | ||
tlsClient: | ||
# When enabled, TiDB will accept TLS encrypted connections from MySQL client | ||
enabled: false | ||
# Auto-generated certificate | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is generated in k8s, you can add a document link here. |
||
autoGenerated: | ||
# # extra SAN IP list | ||
# extraSANIPList: | ||
# - 1.1.1.1 | ||
# - 2.2.2.2 | ||
# # extra SAN Domain list | ||
# extraSANDomainList: | ||
# - example1.com | ||
# - example2.com | ||
# User-generated certificate | ||
userGenerated: | ||
# # secretName is the name of the secret which stores user-defined tidb server certificate, key and ca, create it with: | ||
# # kubectl create secret generic <secret-name> --namespace=<namespace> --from-file=cert=<tidb server certificate file path> --from-file=key=<tidb server key file path> --from-file=ca=<ca file path> | ||
# secretName: "demo-tidb-server-secret" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we can simplify this a bit, like ingress tls config:
the difference is we can specify how to issue a certificate automatically (if the secret name is not specified) at the same place.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ingress in addition, if user-defined certificate is used, they can't set There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't mean we need to add the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. make sense There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. user may use their custom Cluster TLS which used between pd, tikv and tidb peers. so there may be extra configrations? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. may other There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I mean the TLS between TiDB components (supported already): https://pingcap.com/docs/stable/how-to/secure/enable-tls-between-components/ But i am fine with only |
||
|
||
# mysqlClient is used to set password for TiDB | ||
# it must has Python MySQL client installed | ||
|
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use user-defined ca file.