Skip to content
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

Classify upstream examples (categories, sub-categories, etc.) #1240

Open
sam2x opened this issue Oct 15, 2024 · 1 comment
Open

Classify upstream examples (categories, sub-categories, etc.) #1240

sam2x opened this issue Oct 15, 2024 · 1 comment

Comments

@sam2x
Copy link

sam2x commented Oct 15, 2024

Is your feature request related to a problem? Please describe.

Breakdown and classify current upstream examples. It is hard to navigate to hera documentation and mostly the examples section.

Describe the solution you'd like

A directory tree per category. Here is a draft proposal:

  1. K8s/Ressource related
  2. Workflow Lifecycle
  3. Workflow management
  4. Branching & Logical flow
  5. Parallelism / Loops
  6. Arguments Artifacts
  7. Arguments Parameters
  8. Config-related

A quick first pass gives me something like this:

K8s/Ressource related

  • K8S Patch Json Workflow
  • K8S Resource Log Selector
  • K8S Set Owner Reference
  • Node Selector
  • Pod Spec Patch Wf Tmpl
  • Init Container
  • Sidecar
  • Sidecar Dind
  • Sidecar Nginx
  • Volumes Emptydir
  • Volumes Existing
  • Volumes Pvc

Workflow template-related

  • Cluster Workflow Template Cluster Wftmpl Dag
  • Cluster Workflow Template Mixed Cluster Namespaced Wftmpl Steps
  • Cluster Workflow Template Workflow Template Ref
  • Cluster Workflow Template Workflow Template Ref With Entrypoint Arg Passing
  • Ci Workflowtemplate
  • Workflow Event Binding Event Consumer Workflowtemplate
  • Workflow Of Workflows
  • Workflow Template Dag
  • Workflow Template Hello World
  • Workflow Template Retry With Steps
  • Workflow Template Steps
  • Workflow Template Workflow Archive Logs
  • Workflow Template Workflow Template Ref
  • Workflow Template Workflow Template Ref With Entrypoint Arg Passing
  • Template On Exit

Workflow Lifecycle

  • Life Cycle Hooks Tmpl Level
  • Life Cycle Hooks Wf Level
  • Container Set Template Graph Workflow
  • Container Set Template Outputs Result Workflow
  • Container Set Template Workspace Workflow
  • Template On Exit

Workflow management

  • Archive Location
  • Cron Workflow
  • Synchronization Mutex Tmpl Level Legacy
  • Synchronization Tmpl Level Legacy
  • Synchronization Wf Level Legacy
  • Custom Metrics
  • Dag Custom Metrics

Branching & Logical flow

  • Dag Conditional Parameters
  • Coinflip
  • Coinflip Recursive
  • Conditional Artifacts
  • Forever
  • Continue On Fail
  • Retry Backoff
  • Retry Container
  • Retry Script
  • Suspend Template
  • Suspend Template Outputs
  • Exit Handler Step Level
  • Exit Handler With Artifacts
  • Steps
  • Steps Inline Workflow

Parallelism / Loops

  • Parallelism-related:
  • Parallelism Limit
  • Parallelism Nested
  • Parallelism Nested Dag
  • Parallelism Template Limit
  • Loops
  • Loops Arbitrary Sequential Steps
  • Loops Maps
  • Loops Param Result

Arguments Artifacts

  • Arguments Artifacts
  • Artifact Disable Archive
  • Artifact Gc Workflow
  • Artifact Passing
  • Artifact Passing Subpath
  • Artifact Path Placeholders
  • Artifact Repository Ref
  • Artifactory Artifact
  • Hdfs Artifact
  • Input Artifact Azure
  • Input Artifact Gcs
  • Input Artifact Git
  • Input Artifact Http
  • Input Artifact Oss
  • Input Artifact Raw
  • Input Artifact S3
  • Key Only Artifact
  • Output Artifact Azure
  • Output Artifact Gcs
  • Output Artifact S3
  • Output Parameter
  • Webhdfs Input Output Artifacts

Arguments Parameters

  • Arguments Parameters
  • Arguments Parameters From Configmap

Config

  • Global Parameters
  • Global Parameters From Configmap Referenced As Local Variable

Some are missing, others needs to be reviewed and classified correctly but here few thought on this:

  • An example could be linked to differents categories (e.g: "Dag Conditional Parameters" tied to both "DAG" and "Parameters")
  • If the tree structure is not relevant, sub categories could be defined

Best regards,
Sam

@elliotgunton
Copy link
Collaborator

Hey @sam2x, thanks for the detailed suggestion, that's really helpful to see how you would classify the examples 🙏 I broadly agree with the categories and layout - I think just minus the "example linked to different categories" as examples should have a clear aim to demonstrate a single feature, maybe two.

We haven't put much effort into organising the upstream examples as they don't make the best use of Hera, so I'll also relay this suggestion to the upstream Argo Workflows repo, which would make it easier for us to copy down. We copy the https://github.com/argoproj/argo-workflows/tree/main/examples folder when generating the upstream examples, so for the Hera docs site, we'd need to add a mapping of the examples.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants