-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
[Deployment] Add secure=false explicitly in manifests for better observability #3217
Conversation
/approve |
/assign @rmgogogo @jingzhang36 |
/lgtm |
Updated GCP managed store setting, because we run a minio proxy for connecting to the real gcs bucket, secure should be set to false in this case I believe. |
/retest |
/retest |
/lgtm |
Hi @discordianfish, I discussed with @rmgogogo who had some disagreement with this change.
So I updated the change to only change manifests. What do you think? |
@Bobgy My goal was to make pipelines not use insecure defaults. I'd strongly suggest changing the default, even if it means breaking backward compatibility (which is something you can never prevent). In fact, many people for whom this breaks might actually be at risk right now due to the insecure transport. In our case we only realize this because we had a TLS enforcement policy on our bucket. Without that, we would have sent PII unencrypted over the wire. |
Thanks! I see your goal now. |
They should but there is nothing that would ensure that.
It's better than nothing and would have prevented me from (trying to) running it without encryption, but it's still best practice to ship software with secure defaults. At the end of the day, the apiserver is provided as it's own binary/image, so by default it's insecure. That's a problem. What exactly is your concern of changing the defaults though? I know it's a breaking change but:
|
I wonder how did you learn to set up the manifest using this binary. Binary itself has never been a supported path to deploy KFP. All of our public docs refer to manifests.
The only concern is to avoid unnecessary backward-incompatible change. Personally, initially I'm okay with both, but @rmgogogo had a strong opinion against this. |
Shipping something that defaults to http for something that could include PII is IMO putting users at risk. I take any bet that there are users today using AWS buckets without encryption because of this. I'm fine to agree to disagree on this, but then somebody else should give their lgtm. |
@rmgogogo do you change your mind reading the discussion here? @discordianfish I wonder how did you learn to set up the manifest using this binary. I think we should add something in that learning path? Current commitment is we ship manifest and binary which works out of box for GCP without external services. |
I've used the official kubeflow manifests which didn't mention the 'secure' option, so yeah adding it explicitly is a step forward either way. |
Thanks for understanding |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Bobgy, rmgogogo 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 |
/lgtm |
/retest |
1 similar comment
/retest |
Looks like we have the same issue in the frontend server, which also defaults to ssl=false: https://github.com/kubeflow/pipelines/blob/26f51decb83fa70b635b5f366367c7ada56509e7/frontend/server/configs.ts#L57 In that case though, the gcp manifests don't seem to enable TLS: https://github.com/kubeflow/manifests/blob/26f51decb83fa70b635b5f366367c7ada56509e7/pipeline/pipelines-ui/overlays/gcp/deployment.yaml That's a good real life example why I don't think these services should default to non-tls. |
Not so sure about this anymore, it seems to use different config structs for gcp and aws which don't specify that, so it falls back to minio's secure defaults. |
…rvability (kubeflow#3217) * Revert "Revert "minio: Set secure=true to enable TLS by default (kubeflow#3168)" (kubeflow#3192)" This reverts commit 743746b. * Fix managed storage specific manifest * Update pipeline.yaml * Update client_manager.go
/cc @discordianfish
This reverts the revert for #3168
This change is