https://github.com/ddev/addon-registry
A registry for DDEV add-ons where users can discover, explore, and leave comments on available add-ons.
https://github.com/ddev/addon-registry
Last synced: 3 months ago
JSON representation
A registry for DDEV add-ons where users can discover, explore, and leave comments on available add-ons.
- Host: GitHub
- URL: https://github.com/ddev/addon-registry
- Owner: ddev
- License: apache-2.0
- Created: 2025-01-10T18:45:14.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-08T00:09:56.000Z (over 1 year ago)
- Last Synced: 2025-03-08T01:19:54.496Z (over 1 year ago)
- Language: HTML
- Size: 338 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://ddev.github.io/addon-registry/)
# DDEV Add-on Registry
A registry of DDEV add-ons where users can discover, explore, and leave comments on available add-ons.
See [DDEV Add-on Registry Introduction](https://ddev.com/blog/ddev-addon-registry-introduction/).
While `ddev add-on list` is a fantastic tool, it only scratches the surface when it comes to discovering and exploring add-ons.
The need for a dedicated registry became clear as we sought to streamline access to add-ons, reduce API limitations, and lessen the maintenance burden.
For inspiration, [@stasadev](https://github.com/stasadev) looked to the simplicity and functionality of projects like [GTFOBins](https://gtfobins.github.io/), which is built with Jekyll.
## Used Tools
Here are the key tools used to build the DDEV Add-on Registry:
- [GitHub Pages and Jekyll](https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll): Jekyll powers the static site, while GitHub Pages hosts it.
- [List.js](https://listjs.com/): For sorting and searching add-on entries.
- Add-on comments: [giscus integration](https://github.com/ddev/giscus-comments).
- Golang: Used to aggregate add-on data into Markdown files, which are transformed into Liquid templates for Jekyll.
## How to Set Up the Registry Locally
Getting started with the DDEV Add-on Registry locally is straightforward. Here's how:
1. Clone the repository:
2. Run `ddev start` to spin up the environment
3. Then, launch it by running `ddev launch :4000`
4. To blacklist an add-on, add it to the `blacklist` array in `go/main.go` at the top of the file. The changes will take effect after `git push`
5. To update add-ons manually (not required, as it's automated using GitHub Actions):
```bash
export DDEV_ADDON_REGISTRY_TOKEN=your-classic-github-token-no-privileges
cd go
go mod vendor
go run main.go
```
You'll now be able to explore the add-ons within the registry right on your local machine.
## Key Components and Structure
Here's a breakdown of where important content and configuration files live:
- **`.bundle`**: Contains config for local bundler.
- **`.ddev`**: The DDEV configuration directory.
- **`.github`**: The GitHub workflows that handle the deployment process.
- **`_addons`**: Custom Jekyll collection that holds all the add-ons fetched from the community.
- **`_data`**: User-defined Jekyll data types.
- **`_includes`**: HTML partials used across the site.
- **`_layouts`**: The layout templates for Jekyll pages.
- **`_pages`**: Jekyll pages overrides.
- **`assets`**: Contains styles and static assets.
- **`go`**: The Golang app that collects add-on data and populates `_addons`.
- **`Gemfile`**: The Ruby equivalent of `composer.json`, managing dependencies.
- **`_config.yml`**: The main configuration file for the Jekyll site.
- **`addons.json`**: A JSON representation of all the DDEV add-ons.
- **`index.html`**: The homepage of the registry.