Skip to content

Conversation

@gmfrasca
Copy link
Member

@gmfrasca gmfrasca commented Oct 4, 2025

Description of your changes:
Add an env var to API Server that applies/patches all compiled Pipelines with a given configuration.

  • Allows a KFP admin to apply a custom specpatch to all incoming pipelines
  • Useful for installment-wide configuration, such as workflow ttl
  • Take in a JSON string provided via the environment variable COMPILED_PIPELINE_SPEC_PATCH

Testing instructions:

  • Test 1:
    • Deploy KFP
    • Verify pipelines still run
    • Verify COMPILED_PIPELINE_SPEC_PATCH env var on the ml-pipeline Deployment exists and is set to empty JSON ('{}')
  • Test 2:
    • Deploy KFP.
    • Update COMPILED_PIPELINE_SPEC_PATCH env var to '{"podGC":{"strategy":"OnPodCompletion"}}' on ml-pipeline Deployment.
    • Wait for ml-pipeline pod to redeploy
    • Start new pipeline run
    • Verify pipeline runs, but Pods created are deleted/Garbage Collected as soon as they successfully complete
      • (This is because we have patched in the podGC OnPodCompletion spec)
  • Test 3:
    • Deploy KFP
    • Update COMPILED_PIPELINE_SPEC_PATCH env var to some-invalid-json on ml-pipeline Deployment.
    • Attempt to start a new pipeline run
    • Verify Error message is displayed, indicating the Invalid JSON for workflow spec patch

Checklist:

@gmfrasca gmfrasca force-pushed the pipeline-spec-patch-config branch from f54e86c to b30e55e Compare October 16, 2025 19:12
@gmfrasca gmfrasca changed the title WIP: feat(backend): Patch pipeline spec from APIServer EnvVar feat(backend): Patch pipeline spec from APIServer EnvVar Oct 16, 2025
@mprahl
Copy link
Collaborator

mprahl commented Oct 20, 2025

/cc @VaniHaripriya

@VaniHaripriya
Copy link
Contributor

/lgtm

Verified the changes and they’re working as expected. Thank you for the PR @gmfrasca.

- Allows a KFP admin to apply a custom specpatch to all incoming
  pipelines
- Useful for installment-wide configuration, such as workflow ttl
- Take in a JSON string provided via the environment variable
  `COMPILED_PIPELINE_SPEC_PATCH`

Signed-off-by: Giulio Frasca <[email protected]>
Signed-off-by: Giulio Frasca <[email protected]>
@gmfrasca gmfrasca force-pushed the pipeline-spec-patch-config branch from b30e55e to 58ae37b Compare October 21, 2025 17:11
@google-oss-prow google-oss-prow bot removed the lgtm label Oct 21, 2025
@HumairAK
Copy link
Collaborator

/lgtm
/approve

@google-oss-prow
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: HumairAK

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow bot merged commit 5c0c47e into kubeflow:master Oct 21, 2025
172 of 175 checks passed
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.

4 participants