The mkdocs-pipeline-visualizer plugin automates the creation of up-to-date documentation for your Tekton pipelines and tasks.
To install the mkdocs-pipeline-visualizer plugin, run the following command:
$ pip install mkdocs-pipeline-visualizer
Below is an example of how to configure mkdocs.yaml:
site_name: Tekton
docs_dir: ./tekton
nav:
- Home: index.md
plugins:
- pipeline-visualizer
markdown_extensions:
plantuml_markdown:
server: http://www.plantuml.com/plantuml
theme:
name: material
features:
- navigation.sections
By default, the plugin creates two sections at the root level: Pipelines and Tasks. The docs_dir should point to the location of pipelines and tasks manifests.
Config parameter | Type | Description | Default | Since |
---|---|---|---|---|
plantuml_graphs |
[bool] | Controls if pipeline graph should be visible | True |
0.1.5 |
plantuml_graph_direction |
[string] | TB(top to bottom) or LR(left to right) | TB |
0.1.3 |
plantuml_theme |
[string] | Any theme listed on https://plantuml.com/theme to style e.g hacker, spacelab | _none_ |
0.1.3 |
nav_generation |
[bool] | Automatically generate navigation tree | True |
0.2.0 |
nav_hide_empty_sections |
[bool] | Hide empty navigation sections | False |
0.4.0 |
nav_group_tasks_by_category |
[bool] | Group tasks in navigation by tekton.dev/categories annotation |
False |
0.3.0 |
nav_section_pipelines |
[string] | Section name used for pipelines | Pipelines |
0.2.0 |
nav_section_tasks |
[string] | Section name used for tasks | Tasks |
0.2.0 |
nav_section_stepactions |
[string] | Section name used for stepactions | StepActions |
0.4.0 |
nav_pipeline_grouping_offset |
[string] | Controls how pipeline file paths are represented in the navigation structure. The format is "start:end", where: "start" is the index of the first directory to include "end" is the index of the last directory to include (use negative numbers to count from the end) | None |
0.2.0 |
nav_task_grouping_offset |
[string] | Same as nav_pipeline_grouping_offset but for tasks |
None |
0.2.0 |
nav_stepaction_grouping_offset |
[string] | Same as nav_pipeline_grouping_offset but for stepactions |
None |
0.4.0 |
log_level |
[string] | DEBUG INFO WARNING ERROR CRITICAL |
INFO |
0.2.0 |
nav_category_mapping |
[dict] | Custom category name mappings | {} |
0.3.0 |
Let's say you have a pipeline file located at:
./pipelines/project-a/deployment/my-pipeline.yaml
Here's how different nav_pipeline_grouping_offset
values would affect the navigation structure:
-
"0:-1"
: Includes all directories except the last one (which is the file name).- Result:
Pipelines > pipelines > project-a > deployment > my-pipeline
- Result:
-
"1:-1"
: Skips the first directory and includes all others except the last one.- Result:
Pipelines > project-a > deployment > my-pipeline
- Result:
-
"1:-2"
: Skips the first directory and excludes the last two (the last directory and the file name).- Result:
Pipelines > project-a > my-pipeline
- Result:
-
None
(default): All pipelines are placed directly under thenav_section_pipelines
section.- Result:
Pipelines > my-pipeline
- Result:
You can change the location of the documentation sections by placing an empty section in any location of the navigation (nav) and setting it to the value of nav_section_pipelines
or nav_section_tasks
:
site_name: Tekton
docs_dir: ./tekton
nav:
- Home: index.md
- Tekton:
- "Tasks": []
- "Pipelines": []
- "StepActions": []
plugins:
- pipeline-visualizer
To change the names of the menu sections and apply a custom graph theme, use the following configuration:
site_name: Tekton
docs_dir: ./tekton
nav:
- Home: index.md
- Tekton:
- "π οΈ Tasks": []
- "π Pipelines": []
- "βοΈ StepActions": []
plugins:
- pipeline-visualizer:
plantuml_theme: hacker
nav_section_tasks: "π οΈ Tasks"
nav_section_pipelines: "π Pipelines"
nav_section_stepactions: "βοΈ StepActions"
You can customize how task categories appear in the navigation by providing mappings in the nav_category_mapping
configuration:
plugins:
- pipeline-visualizer:
nav_category_mapping:
"Code Quality": "Quality Tools"
"Build": "Build Tools"
"Deploy": "Deployment"
- Fix rendering of StepAction
- Corrected markdown code block rendering for scripts.
- Support for Tekton StepActions.
nav_section_stepactions
andnav_stepaction_grouping_offset
configuration options.- Updated navigation generation to include StepActions.
- Updated example configuration and documentation.
- Resolved infinite loop issue with
mkdocs serve
by preventing unnecessary file writes when content is unchanged.
- Optional support for categorization of tasks in navigation using
tekton.dev/categories
annotation.
- Example in
example/
. - Visualization for step templates in tasks.
- Corrected typo in
plantuml_graphs
attribute name (fromplantum_graphs
). - Corrected typo in
nav_task_grouping_offset
attribute name (fromnav_tasks_grouping_offset
).
- Navigation generation feature with customizable sections for pipelines and tasks.
- Support for grouping pipelines and tasks in the navigation.
- Improved logging with configurable log levels.
- Version-based sorting for resources in navigation.
- Improved visualization of tasks, parameters, and workspaces.
- Better handling of different script types in task steps.
- Various bug fixes and code structure improvements.
- Version of tasks from the documentation until a better presentation is available.
- Issue with backslashes (
\
) in usage examples. - Example in the README.
- Version of pipeline/task when available.
- Hide workspaces for tasks when none are used.
- Sample on how to use a task in a pipeline.
plantuml_graphs
option to make PlantUML graphs optional.
- Removed extra
---
after tasks. - Processing of only pipelines or tasks.
- Display of all tasks in the
finally
block.
- Configuration for graph direction (
plantuml_graph_direction
). - Configuration for PlantUML theme (
plantuml_theme
). - Display of references to
configMaps
.
- Presentation of default and empty values.
- Unused code.
- Issue with multidoc YAML.