The website for the CSI-Addons project. It is hosted at csi-addons.github.io.
The website content is dynamically generated from the upstream repositories:
- csi-addons/spec: Feature descriptions and RPC operations are extracted from proto files and README.md files.
- csi-addons/kubernetes-csi-addons: CRD types and the latest release version are discovered automatically.
The site is assembled by the scripts/generate-site.sh script, which populates
the templates/index.html.tpl template with the extracted content and writes
the final index.html.
A GitHub Actions workflow (.github/workflows/update-site.yml) runs weekly to
regenerate the site and open a pull request if content has changed.
- Bash
- Python 3
- GNU grep (on macOS:
brew install grep) - Git
# Clone repos and generate index.html
make generate
# Preview in browser
make serveYou can also point to local checkouts of the source repos:
make generate SPEC_DIR=../spec K8S_DIR=../kubernetes-csi-addonsRun make help for all available targets.
templates/index.html.tpl- HTML template with placeholder markersscripts/generate-site.sh- Main generation scriptscripts/extract_description.py- Extracts descriptions from spec READMEsdata/features.json- Feature metadata (titles and custom inline SVG icons)css/style.css- Stylesheetjs/main.js- Client-side JavaScript (tabs, copy buttons, navigation)index.html- Generated output (do not edit directly)
The feature icons in data/features.json are custom inline SVGs designed for
this site. They are not based on an external icon set like Font Awesome.
An open and public mailinglist is available for discussions and questions. The messages on the list are archived for reference. Viewing the archives requires joining the list with a Google account.