pulp / pulp/pulpcore

Provide general feature and workflow matrix for plugins

Open
#5,593 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Documentation Task
Dominant language
Python
Stars
598
Forks
168
Avg merge
1d 4h
Merged PRs (30d)
86

Description

While fixing some links in pulp-oci-images, I've came across a reference to "Workflows and Use Cases", which was a set of pages on pulpcore legacy docs. On docs migration, while moving some of these pages, we didnt preserve the notion of a workflow in pulpcore docs.

If I was reading the pulp-oci-images and got to this point (the link is in a section called "Try out a workflow"), I would expect to go to a page with small descriptions of some workflows and links to concrete plugin-implementation for them. And possibly a matrix table, similar to the matrix request for dependencies (https://github.com/pulp/pulpcore/issues/5573), but maybe a little harder to automate.

Problem

No definitive reference for available features and workflows across plugins.

Initial Approach

What I see as possible first steps are:

  • formalize better what "feature" and "workflow" mean
  • have a compreehensive grouped list of features and workflows.
  • edit: gather existing material/discussion on this topic

As a starting point, I tried to organize the titles mentioned in the "Workflow and Use Cases" page linked above.

# definition
workflow: high-level usecases which relies on a set of features
feature: objective capability provided by Pulp
    - builtin: doesn't requires per-plugin-support. 
    - extensions: requires per-plugin-support.

# initial triage
workflows:
    - upload-publish
    - promotion 
features:
    - built-in:
        - user:
            - complex-filtering
            - exposing-content
            - labels
            - repo-versioning
        - admin:
            - repairing-pulp
            - reclaim-disk-space
            - plugin-removal
            - scheduling-tasks
            - troubleshooting
    - extension (requires plugin support):
        - domains-multi-tenancy
        - sign-metadata
        - import-export
        - alternate-content-sources
        - on-demand-downloading

Further steps

Having a compreehensive list of that, we can:

  • Create a simple Features and Workflows page manually
  • Create some system to semi-automate this matrix:
    E.g: each plugin repository can contain a feature-set manifesto which is used by pulp-docs to generate the matrix.
    This manifesto can include things like tech-preview status, version info (included, modified and deprecated), etc.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing docs/workflows/index.rst and the existing material or discussion referenced in the issue, including issue #5573. Clarify the definitions and scope of features and workflows, then outline the supported plugin information. Done means a definitive feature and workflow reference, with a matrix approach documented if automation remains in scope.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.