question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[feature] Add hooks to transform compiled template/workflow manifests

See original GitHub issue

Feature Area

/area sdk

What feature would you like to see?

Argo workflows has features that aren’t exposed in KFP, such as synchronization, template defaults, and retry expressions. If I want to use an argo feature that isn’t exposed in KFP, I can file a PR against this repo and wait for a new release, or fork or patch the sdk, or subclass the compiler and override private methods. None of these seem like good options!

Instead, it would be useful if KFP included template- and workflow-level hooks allowing users to arbitrarily transform the compiled manifests. I don’t have a strong opinion about where these hooks should go, but I think @jli and/or @maxhully suggested adding options to Compiler.compile or to PipelineContext.

What is the use case or pain point?

Use argo workflows options that aren’t yet supported in KFP.

Is there a workaround currently?

Let me know if there’s a better workaround, but all I’ve thought of so far is patching the sdk or overriding private methods.


Love this idea? Give it a 👍. We prioritize fulfilling features with the most 👍.

Issue Analytics

  • State:open
  • Created 2 years ago
  • Reactions:3
  • Comments:5 (1 by maintainers)

github_iconTop GitHub Comments

1reaction
stale[bot]commented, Apr 17, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

0reactions
chensuncommented, Dec 16, 2021

Reducing the generated workflow size seems to be orthogonal to the hook. That being said, we’re moving towards v2, where compiler no longer produce Argo yaml but some intermediate representation defined by this proto: https://github.com/kubeflow/pipelines/blob/master/api/v2alpha1/pipeline_spec.proto So I’m not sure if you would still need to a hook to modify the compilation result. By the time KFP v2 is ready, the conversion from this IR to Argo workflow yaml would happen in the backend.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Field Reference - The workflow engine for Kubernetes
OnExit is a template reference which is invoked at the end of the workflow, irrespective of the success, failure, or error of the...
Read more >
System hooks - GitLab Docs
System hooks (not to be confused with server hooks or file hooks) perform HTTP POST requests and are triggered on the following events:....
Read more >
Pipeline Steps - Amazon SageMaker - AWS Documentation
The following example shows how to create a Lambda step definition that invokes an existing Lambda function. from sagemaker.workflow.lambda_step import ...
Read more >
Supported hooks - pre-commit
check-shebang-scripts-are-executable - ensures that (non-binary) files with a shebang are executable. pretty-format-json - sets a standard for formatting json ...
Read more >
Git Hooks | Atlassian Git Tutorial
For example, if you want to email your boss every time you commit a snapshot (probably not the best idea for most workflows),...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found