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_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_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 |
log_level |
[string] | DEBUG INFO WARNING ERROR CRITICAL |
INFO |
0.2.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": []
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": []
plugins:
- pipeline-visualizer:
plantuml_theme: hacker
nav_section_tasks: "🛠️ Tasks"
nav_section_pipelines: "🚀 Pipelines"
- Example in
example/
- Visualization for step templates in tasks
- Corrected typo in
plantuml_graphs
attribute name (wasplantum_graphs
) - Corrected typo in
nav_tasks_grouping_offset
attribute name (wasnav_task_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
- remove version of tasks until there is a nicer way to present it
- Fixed issue with backslashes () in usage examples.
- Corrected example in the README.
- Hide workspaces for tasks when none are used
- Show version of pipeline/task when available
- Remove extra
---
after tasks - Added sample on how to use a task in a pipeline.
- Made PlantUML graphs optional using the boolean plantuml_graphs, defaulting to True.
- Process only pipelines or tasks.
- Display all tasks in the finally block.
- Added configuration for graph direction (plantuml_graph_direction), allowing TB or LR.
- Added configuration for PlantUML theme (
plantuml_theme
) as a string (e.g.,hacker
,spacelab
). - display references to configMaps
- Removed unused code.
- Changed how default and empty values are presented.
- Fixed issue with multidoc yaml.