Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ jobs:
steps:
- uses: actions/checkout@v6

- name: Clone included repositories
run: grep INCLUDED_REPO mkdocs.yml | awk '{print "git clone "$3}' | sh

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
Expand All @@ -26,8 +23,8 @@ jobs:
- name: Install site dependencies
run: uv sync

- name: Install included repositories as packages
run: grep 'include ./' mkdocs.yml | sed 's/.*include //;s|/[^/]*"$||' | awk '{print "uv pip install --no-deps "$1}' | sh
- name: Set up subprojects
run: ./setup_subprojects.sh

- name: Build and deploy
run: uv run --no-sync mkdocs gh-deploy --force
20 changes: 20 additions & 0 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: pre-commit

on:
pull_request:

jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
version: "0.11.6"

- name: Install dependencies
run: uv sync

- uses: pre-commit/action@v3.0.1
19 changes: 19 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-yaml
args: [--unsafe]
- id: trailing-whitespace
args: [--markdown-linebreak-ext=md]
- id: end-of-file-fixer
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
hooks:
- id: prettier
types: [yaml]
args: [--single-quote=false]
- repo: https://github.com/adrienverge/yamllint
rev: v1.37.1
hooks:
- id: yamllint
16 changes: 16 additions & 0 deletions .yamllint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
extends: default

rules:
line-length:
max: 150
truthy:
check-keys: false
comments:
min-spaces-from-content: 1
document-start: disable
indentation:
spaces: 2
indent-sequences: true
quoted-strings:
quote-type: double
required: false
30 changes: 19 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,36 @@
# WorkflowOrchestrator.org website
This is the website of the workflow orchestrator programme.

The webpage is built using mkdocs
This is the website of the Workflow Orchestrator Programme.

The webpage is built using mkdocs.

### Developing
You need uv to run this, take a look at [this](https://docs.astral.sh/uv/getting-started/installation/) to install it. Once you have it , to edit do the following :

You need uv to run this, take a look at [this](https://docs.astral.sh/uv/getting-started/installation/) to install it.

The project uses pre-commit to enforce YAML and Markdown codestyle, install that with:

```bash
uv run mkdocs serve
uv run pre-commit install
```

> [!NOTE]
> This Mkdocs setup implements multirepo, and expectes other repositories to be present. The expected repos are listed in the mkdocs.yml config file. Comment out these parts if you dont need them. Otherwise you can clone everything you need with: ``` grep INCLUDED_REPO mkdocs.yml | awk '{print "git clone "$3}' | sh ```
This Mkdocs setup implements monorepo, and expects other repositories to be present.
The expected repos are listed in the mkdocs.yml config file.
Comment out these parts if you dont need them.
Otherwise, you can clone and install everything you need with:

You can add menu items in the `mkdocs.yml` file. Content is added by changing the files in the `docs/` directory.
```bash
./setup_subprojects.sh
```

Now you can edit the documentation.

If it does not work, you might need to set the following in your ENV:
To render the documentation locally, run:

```bash
export DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib
uv run mkdocs serve
```

For more advanced options in MKdocs check the documentation of the theme [here](https://squidfunk.github.io/mkdocs-material/getting-started/)

### Publishing

Publishing is automated with a GitHub action that runs whenever there is a commit on the main branch.
2 changes: 1 addition & 1 deletion docs/CNAME
Original file line number Diff line number Diff line change
@@ -1 +1 @@
workfloworchestrator.org
workfloworchestrator.org
9 changes: 4 additions & 5 deletions docs/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,10 @@ orchestrating order, administration and provisioning processes.

## Governance and project documentation

The Workflow Orchestrator programme has been established under [The
Commons Conservancy](https://commonsconservancy.org/programmes/)
foundation and runs its own [governance](https://dracc.commonsconservancy.org/0040/).
The Workflow Orchestrator programme has been established under [The
Commons Conservancy](https://commonsconservancy.org/programmes/)
foundation and runs its own [governance](https://dracc.commonsconservancy.org/0040/).

Several projects with code, examples and documentation have been defined
and are available [here](https://workfloworchestrator.org/).
and are available [here](https://workfloworchestrator.org/).
You can also visit our [github page](https://github.com/workfloworchestrator/).

2 changes: 1 addition & 1 deletion docs/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@
img[alt='pypi-downloads'], img[alt='npm-downloads'] {
height: 19px;
padding-top: 5px;
}
}
18 changes: 9 additions & 9 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,27 @@ Find workflow & product modeling, reference documentation and workshop informati
## Core tooling
The Core tooling developed by the programme:

- [Orchestrator-Core](https://github.com/workfloworchestrator/orchestrator-core): This Python program leverages the power of FastAPI to create an orchestration engine. Downloads:
- [Orchestrator-Core](https://github.com/workfloworchestrator/orchestrator-core): This Python program leverages the power of FastAPI to create an orchestration engine. Downloads:
[![pypi-downloads](https://static.pepy.tech/badge/orchestrator-core)](https://pepy.tech/project/orchestrator-core).
- [Orchestrator-UI](https://github.com/workfloworchestrator/orchestrator-ui-library): Component library for our NextJS
app on top of the Orchestrator-core. Downloads:
- [Orchestrator-UI](https://github.com/workfloworchestrator/orchestrator-ui-library): Component library for our NextJS
app on top of the Orchestrator-core. Downloads:
[![npm-downloads](https://img.shields.io/npm/dt/%40orchestrator-ui%2Forchestrator-ui-components)](https://github.com/workfloworchestrator/orchestrator-ui-library).
- [Orchestrator Example UI](https://github.com/workfloworchestrator/example-orchestrator-ui/): Example UI with a NextJS
implementation of our component library.
- [Orchestrator Example UI](https://github.com/workfloworchestrator/example-orchestrator-ui/): Example UI with a NextJS
implementation of our component library.

## Other Software
Other relevant software maintained by the Workflow Orchestrator programme:

- [LSO](https://workfloworchestrator.org/lso): This application provides an API layer on top of Ansible playbooks.
- [Example Orchestrator](https://github.com/workfloworchestrator/example-orchestrator): This repository houses a
- [Example Orchestrator](https://github.com/workfloworchestrator/example-orchestrator): This repository houses a
Docker-compose running a full stack of the Orchestrator, UI and Netbox. It includes examples our best (coding) practices
and an example integration with Netbox.
- [PyNSO-Restconf](https://workfloworchestrator.org/pynso-restconf): A thin client for interfacing with Cisco NSO using
- [PyNSO-Restconf](https://workfloworchestrator.org/pynso-restconf): A thin client for interfacing with Cisco NSO using
RESTCONF.
- [Pydantic-Forms](https://github.com/workfloworchestrator/pydantic-forms): A library that includes standardised Python
- [Pydantic-Forms](https://github.com/workfloworchestrator/pydantic-forms): A library that includes standardised Python
Form classes that can be used when generating form components from JSON-schema.
- [SuPA](https://workfloworchestrator.org/SuPA): An NSI Ultimate provider agent with a gRPC API.
- [PolyNSI](https://github.com/workfloworchestrator/polynsi): A bidirectional SOAP to gRPC translating proxy server for the NSI protocol.

### Join the community
You can find this community on Discord. Feel free to join [us](https://discord.gg/fQkQn5ajFR) ![Discord](https://img.shields.io/discord/1295834294270558280?style=flat&logo=discord&label=discord&link=https%3A%2F%2Fdiscord.gg%2fQkQn5ajFR)
You can find this community on Discord. Feel free to join [us](https://discord.gg/fQkQn5ajFR) ![Discord](https://img.shields.io/discord/1295834294270558280?style=flat&logo=discord&label=discord&link=https%3A%2F%2Fdiscord.gg%2fQkQn5ajFR)
8 changes: 3 additions & 5 deletions docs/leadership.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

The Workflow Orchestrator programme has been established under [The
Commons Conservancy](https://commonsconservancy.org/programmes/)
foundation and runs its own [governance](https://dracc.commonsconservancy.org/0040/).
The Workflow Orchestrator programme has been established under [The
Commons Conservancy](https://commonsconservancy.org/programmes/)
foundation and runs its own [governance](https://dracc.commonsconservancy.org/0040/).

###Current positions:
####Board Members
Expand All @@ -15,5 +15,3 @@ foundation and runs its own [governance](https://dracc.commonsconservancy.org/00
####Core Developers
- Peter Boers - SURF (Technical Lead)
- Scott Richmond - ESnet


2 changes: 1 addition & 1 deletion docs/media.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Media

<placeholder>
<placeholder>
6 changes: 3 additions & 3 deletions docs/meetings.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ There are three regular meetings scheduled each year:

## Infoshares

Infoshares happen in between the meetings with the aim of keeping the larger community engaged and up to date with what happens in the workflow orchestrator programme.
Infoshares happen in between the meetings with the aim of keeping the larger community engaged and up to date with what happens in the workflow orchestrator programme.

### Upcoming infoshares

No upcoming infoshares at the moment.
No upcoming infoshares at the moment.

### Previous infoshares

- [Infoshare: Workflow Orchestrator (WFO) update - 4 February 2026](https://events.geant.org/event/1993/)
- [Infoshare: Workflow Orchestrator (WFO) update - 4 February 2026](https://events.geant.org/event/1993/)
6 changes: 3 additions & 3 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ nav:
- Media: media.md
- Projects:
- Orchestrator Core: "!include ./orchestrator-core/mkdocs.yml"
# INCLUDED_REPO: https://github.com/workfloworchestrator/orchestrator-core.git
# INCLUDED_REPO: https://github.com/workfloworchestrator/orchestrator-core.git
- Orchestrator UI Library: "!include ./orchestrator-ui-library/mkdocs/mkdocs.yml"
# INCLUDED_REPO: https://github.com/workfloworchestrator/orchestrator-ui-library.git
# INCLUDED_REPO: https://github.com/workfloworchestrator/orchestrator-ui-library.git
- Lightweight Service Orchestrator: "!include ./lso/mkdocs.yml"
# INCLUDED_REPO: https://github.com/workfloworchestrator/lso.git
# INCLUDED_REPO: https://github.com/workfloworchestrator/lso.git

theme:
name: material
Expand Down
3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,7 @@ dependencies = [
"mkdocs-awesome-pages-plugin",
# lso itself for python docstrings
"orchestrator-lso",
# linting
"pre-commit",
"yamllint",
]
23 changes: 23 additions & 0 deletions setup_subprojects.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
MKDOCS_YML="$SCRIPT_DIR/mkdocs.yml"

# Clone included repositories (skip if already present)
grep INCLUDED_REPO "$MKDOCS_YML" | awk '{print $3}' | while read -r repo_url; do
dir=$(basename "$repo_url" .git)
if [ -d "$SCRIPT_DIR/$dir" ]; then
echo "Skipping $dir (already exists)"
else
git clone "$repo_url" "$SCRIPT_DIR/$dir"
fi
done

# Install included repositories as packages (no-deps to avoid conflicts)
grep 'include ./' "$MKDOCS_YML" \
| sed 's/.*include //;s|/[^/]*"$||' \
| while read -r path; do
echo "Installing $path"
uv pip install --no-deps "$SCRIPT_DIR/$path"
done
Loading
Loading