Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
4aeb76e
Add documentation for adding a widget icon
rutger-seascape Apr 29, 2026
a731666
Update the documentation for adding widgets based on the cockpit_extr…
rutger-seascape May 5, 2026
388e34c
Add documentation on how to add Cockpit Actions to your cockpit_extra…
rutger-seascape May 5, 2026
9fa3329
Add documentation on how to add Joystick Mapping Suggestions and grou…
rutger-seascape May 5, 2026
4624200
Add a full example of using the new cockpit_extras API
rutger-seascape May 5, 2026
9f52696
Move documentation for the cockpit_extras endpoint to it's own section
rutger-seascape May 7, 2026
c9b2292
Add metadata (front matter)
rutger-seascape May 7, 2026
f6348ca
Describe the joystick mapping process more clearly
rutger-seascape May 7, 2026
43d53b0
Add images
rutger-seascape May 7, 2026
0607f9b
Add section
rutger-seascape May 7, 2026
fce46dd
Add overview page
rutger-seascape May 7, 2026
3dee8c1
Change weight
rutger-seascape May 7, 2026
bea9cf1
Change header levels
rutger-seascape May 7, 2026
e905e05
Link to different section
rutger-seascape May 7, 2026
5f53712
Update the documentation to be more verbose
rutger-seascape May 7, 2026
83c8371
Make the description more concise
rutger-seascape May 11, 2026
1a3a04e
Put documentation on the register_service endpoint in the developer s…
rutger-seascape May 11, 2026
65c4e3e
Link to the development documentation section and remove information …
rutger-seascape May 11, 2026
1c95e72
Remove unused image
rutger-seascape May 11, 2026
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
11 changes: 11 additions & 0 deletions content/development/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
+++
title = "Development"
description = "Development documentation for the Cockpit Control Station Software."
template = "docs/section.html"
sort_by = "weight"
weight = 2
draft = false
insert_anchor_links = "left"

redirect_to = "development/overview"
+++
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
423 changes: 423 additions & 0 deletions content/development/external-integrations/index.md

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 21 additions & 0 deletions content/development/overview/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
+++
title = "Overview"
description = "Cockpit development overview."
date = 2026-05-07T16:29:59+02:00
template = "docs/page.html"
sort_by = "weight"
weight = 0
draft = false

[extra]
lead = 'The development documentation describes how to expand Cockpit with your own features.'
toc = true
top = false
+++

## Contributing
Cockpit is an open source project that welcomes contributions. Check out the the GitHub repository [here](https://github.com/bluerobotics/cockpit). You can contribute to Cockpit in different ways:
- 🐛 Bug Reports: Help us improve by reporting issues
- 💡 Feature Requests: Suggest new capabilities
- 🔧 Code Contributions: Submit pull requests
- 📝 Documentation: Improve our [docs](https://blueos.cloud/cockpit/docs) and examples
Binary file removed content/usage/advanced/external-widget-example.png
Binary file not shown.
40 changes: 1 addition & 39 deletions content/usage/advanced/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -624,45 +624,7 @@ Configuration determines the URL to fetch the page from, as well as the overall

###### Automatic External IFrames

As of BlueOS 1.4, HTTP Servers that provide a `register_service` endpoint (e.g.
[BlueOS Extensions](https://blueos.cloud/docs/latest/development/extensions/#web-interface-http-server))
can provide one or more URLs for Cockpit to automatically detect and present as External IFrame widgets:

{{ easy_image(src="external-widget-example", width=200) }}

The `register_service` endpoint should include a `"cockpit"` key in its `"extras"` dictionary, pointing to
an endpoint listing the available widgets:

`/register_service`
```json
{
...
"extras":{
"cockpit":"/cockpit_extras.json"
}
}
```

The Cockpit-focused endpoint should including a name, version, iframe URL, and an optional URL for
configuration of each widget:

`cockpit_extras.json`
```json
{
"target_system":"Cockpit",
"target_cockpit_api_version":"1.0.0",
"widgets":[
{
"name":"ExternalWidgetName",
"config_iframe_url":null,
"iframe_url":"/path/to/widget/page",
"version":"1.3.8"
}
]
}
```

If no configuration URL is provided, the standard [IFrame Widget](#iframe) configuration options apply.
External services can [automatically share](@/development/external-integrations/index.md) web interface URLs for Cockpit to turn into IFrame widgets, along with other features.

##### Image Viewer

Expand Down
Loading