Skip to content

Conversation

@rahul810050
Copy link

What this PR does / why we need it

This PR introduces support for configuring which CA-related environment variables the v2 launcher sets when a user provides a custom CA bundle path.

Currently, launcher_v2 unconditionally sets:

  • REQUESTS_CA_BUNDLE
  • AWS_CA_BUNDLE
  • SSL_CERT_FILE

whenever CaCertPath is provided.
This behavior is too strict for some environments that want finer control—e.g., cloud-specific setups, distroless containers, or Python environments that expect only a subset of these variables.

This feature allows users to configure exactly which environment variables should be set.

Which issue(s) this PR fixes

Fixes #12329

Description of changes

  1. Added new field to LauncherV2Options:
CACertEnvVars []string

Users may now specify which CA-related environment variables should be set.

  1. Added full plumbing of the new option through the launcher stack

Including:

  • NewLauncherV2
  • LauncherV2.Execute
  • executeV2
  • execute
  1. Updated default behavior

If CACertEnvVars is nil or empty, the launcher preserves legacy behavior and sets the original 3 environment variables:

REQUESTS_CA_BUNDLE
AWS_CA_BUNDLE
SSL_CERT_FILE

This ensures full backward compatibility.

  1. Updated unit tests

All calls to executeV2 now include the new argument, and tests verify that launcher execution behavior continues to work as expected.

No changes were made to end-to-end or integration tests.

Testing done

  • Added/updated unit tests in launcher_v2_test.go
  • Verified all backend unit tests pass:
cd backend
go test ./...
  • Verified the component module tests pass:
ok   github.com/kubeflow/pipelines/backend/src/v2/component

End-to-end and API integration tests expectedly fail locally due to requiring a real Kubernetes cluster; this is normal and identical to upstream contributor experience.

Backward compatibility

Fully backward compatible.

  • If users do not specify CACertEnvVars, the launcher behaves exactly as before.
  • No existing workflows break.
  • No user APIs changed.

Documentation

A short follow-up PR will update the docs in docs/backend/tls explaining how to configure CA env vars via LauncherV2Options.

This change introduces a new 'CACertEnvVars' option to LauncherV2Options,
allowing users to customize which environment variables should be set when a
custom CA bundle is provided.

Fixes kubeflow#12329

Signed-off-by: rahul810050 <[email protected]>
@google-oss-prow
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign rimolive for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found 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

@google-oss-prow
Copy link

Hi @rahul810050. Thanks for your PR.

I'm waiting for a kubeflow member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

resolved the merge conflict 

Signed-off-by: Rahul Naskar <[email protected]>
@google-oss-prow google-oss-prow bot added size/L and removed size/M labels Nov 22, 2025
resolved merge conflict

Signed-off-by: Rahul Naskar <[email protected]>
resolve merge conflicts 

Signed-off-by: Rahul Naskar <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[feature] Configure custom CA cert environment variables

1 participant