Skip to content
Merged
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
41 changes: 19 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,33 @@
# BlueOS-Extensions-Repository

> **Warning**
> This is still very experimental and subject to changes!

This is a repository for metadata of BlueOS Extensions.

- [Documentation](https://blueos.cloud/docs/latest/development/extensions/)
- [Available Extensions](https://docs.bluerobotics.com/BlueOS-Extensions-Repository)
- [Community Extensions, Tools, and Examples](https://github.com/BlueOS-Community/)

---

For publishing a new extension, open a pull request to this repository with the following structure:

## Data in this repository

/repos/yourcompany/yourextension/metadata.json
```json
{
"name": "The Name of Your Extension",
"website": "https://your.extension.website.com/",
"docker": "your-dockerhub-user/your-extension-docker",
"description": "A brief description of your extension. This will be shown in the store card."
}
```

/repos/yourcompany/company_logo.png
Your company logo

/repos/yourcompany/yourextension/extension_logo.png
Your extension logo
1. Extension registration metadata: `/repos/yourcompany/yourextension/metadata.json`
```json
{
"name": "The Name of Your Extension",
"website": "https://your.extension.website.com/",
"docker": "your-dockerhub-user/your-extension-docker",
"description": "A brief description of your extension. This will be shown in the store card."
}
```
1. Your Extension logo: `/repos/yourcompany/yourextension/extension_logo.png`
1. Your company logo: `/repos/yourcompany/company_logo.png`
- You only need to add this the first time you add an Extension

## Data in dockerhub
## Data in DockerHub

Additionally, we have versioned data. This data should be in each of your dockerhub tags, and use the following format:
Additionally, we have versioned data. This data should be in each of your DockerHub tags, and use the following format:

```Dockerfile
LABEL version="1.0.0"
Expand Down Expand Up @@ -81,7 +78,7 @@ LABEL tags='[\
- `type` is a primary categorisation of the extension, and should be one of:
- "device-integration"
- "example"
- "theme"
- "tool"
- "other"
- `tags` is a collection of relevant tags for filtering, which should be lowercase alpha-numeric with dashes
- limit of 10 per extension
Expand All @@ -91,7 +88,7 @@ Some additional information and examples are available in the

## How this repo works

Every time this repo changes, a Github Action runs and goes through all the .json files in here. For each of them, it reaches out to dockerhub and fetches all the available tags, extracting the metadata in LABELS and crafting a complete `manifest.json`, which is stored in this repo's `gh-pages` branch.
Every time this repo changes, a Github Action runs and goes through all the `.json` files in here. For each of them, it reaches out to DockerHub and fetches all the available tags, extracting the metadata in LABELS and crafting a complete `manifest.json`, which is stored in this repo's `gh-pages` branch.

There is also a [website](https://docs.bluerobotics.com/BlueOS-Extensions-Repository) that gets generated, to show which extensions are currently available in the store.

Expand Down
Loading