-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[installer, gitpod-db] Introduce database.ssl.ca #15320
Conversation
started the job as gitpod-build-gpl-12012-ssl.14 because the annotations in the pull request description changed |
@mrzarquon @mrsimonemms Could you help me test this change? I think the quickest would be if you could point me to an AWS installation and show me how to configure it with the certs from here &deploy it...? 🤔 Update: Ok, got it working thanks to @mrsimonemms and @nandajavarma 🙏 ! |
cf604cd
to
56a3c41
Compare
@geropl looks good, but it could do with a cluster validation check to ensure the secret is uploaded and valid. It'll be something like: if cfg.Config.Database.SSL != nil && cfg.Config.Database.SSL.CustomCA != nil {
secretName := cfg.Config.Database.SSL.CustomCA.Name
res = append(res, cluster.CheckSecret(secretName, cluster.CheckSecretRequiredData("<some key1>", "<some key2>")))
} The |
56a3c41
to
b7bee7a
Compare
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.
One question, but happy with the change
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.
LGTM % modulo dropping custom
from the references. All options are custom, there shouldn't be a need to duplicate that in the name.
/hold
components/gitpod-db/go/conn.go
Outdated
Password string | ||
Host string | ||
Database string | ||
CustomCACert string |
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.
CustomCACert string | |
CACert string |
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.
Just feels we don't need to push the "custom" part into this
Password: os.Getenv("DB_PASSWORD"), | ||
Host: net.JoinHostPort(os.Getenv("DB_HOST"), os.Getenv("DB_PORT")), | ||
Database: "gitpod", | ||
CustomCACert: os.Getenv("DB_CUSTOM_CA_CERT"), |
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.
Likewise here, I'd drop the custom.
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.
Yeah, good point. So far I have been torn we because I'd have to partially retest. But I think you're right. 💯
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.
Ok. Done, and re-tested: works.
b7bee7a
to
ec16c09
Compare
/unhold |
Description
This allows Gitpod to directly created SSL encrypted connections to MySQL databases.
For testing 👇 there are two environments:
deps: external
flag) with external RDS with SSL.secret
nameddatabase-ssl
and an attributeca.crt
that contains the cert (chain) to validate the RDS certificateRelated Issue(s)
Fixes #12012
How to test
start a workspace* got to notification settings in the AWS release test install and change them (WITH SSL required): works as well! ✔️*: there is an odd content-init error I get on the AWS realease test env. @nandajavarma any idea where that might come from? 🤔
Release Notes
Documentation
Werft options:
If enabled this will build
install/preview
Valid options are
all
,workspace
,webapp
,ide
,jetbrains
,vscode
,ssh