# Device Updater Plugin
Exposes a messagebus API to check for and initiate OS-level updates. This plugin
expects an `update-initramfs` system service to be installed to apply InitramFS
updates and for the SquashFS update path to be applied upon restarting.
## Configuration
The remote URLs and local paths for InitramFS and SquashFS files used by this plugin
may be set in configuration. The messagebus API supports `branch` in data which is
used to fill string templates in configured URLs; this is generally used to select a
git branch.
```yaml
PHAL:
admin:
neon-phal-plugin-device-updater:
enabled: True
initramfs_url: "https://github.com/NeonGeckoCom/neon_debos/raw/{}/overlays/02-rpi4/boot/firmware/initramfs"
initramfs_path: /opt/neon/firmware/initramfs
initramfs_update_path: /opt/neon/initramfs
squashfs_url: "https://2222.us/app/files/neon_images/pi/mycroft_mark_2/updates/{}/"
squashfs_path: /opt/neon/update.squashfs
default_track: dev
```
## Messagebus API
The following Messagebus listeners are exposed by this plugin. The `track` data
parameter is optional and will default to the configured `default_track` if not
specified.
### Check for InitramFS Updates
Check for an available InitramFS update and emit a response with data:
`update_available` and `track`.
```python
Message("neon.check_update_initramfs", {'track': 'dev'})
```
### Update InitramFS
Install an available InitramFS update and emit a response with data:
`updated` and optionally `error`.
```python
Message("neon.update_initramfs", {'track': 'dev'})
```
### Check for SquashFS Updates
Check for an available SquashFS update and emit a response with data:
`update_available` and `track`.
```python
Message("neon.check_update_squashfs", {'track': 'dev'})
```
### Update SquashFS
Check for an available InitramFS update and emit a response with data:
`new_version` or `error`.
```python
Message("neon.update_squashfs", {'track': 'dev'})
```
Raw data
{
"_id": null,
"home_page": "https://github.com/NeonGeckoCom/neon-phal-plugin-device-updater",
"name": "neon-phal-plugin-device-updater",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Neongecko",
"author_email": "developers@neon.ai",
"download_url": "https://files.pythonhosted.org/packages/56/96/20a15b240d8d3cc8f35c942e149730c3bd0d6af38038df48c37dd9389481/neon-phal-plugin-device-updater-0.2.0.tar.gz",
"platform": null,
"description": "# Device Updater Plugin\nExposes a messagebus API to check for and initiate OS-level updates. This plugin\nexpects an `update-initramfs` system service to be installed to apply InitramFS\nupdates and for the SquashFS update path to be applied upon restarting.\n\n## Configuration\nThe remote URLs and local paths for InitramFS and SquashFS files used by this plugin\nmay be set in configuration. The messagebus API supports `branch` in data which is\nused to fill string templates in configured URLs; this is generally used to select a\ngit branch.\n\n```yaml\nPHAL:\n admin:\n neon-phal-plugin-device-updater:\n enabled: True\n initramfs_url: \"https://github.com/NeonGeckoCom/neon_debos/raw/{}/overlays/02-rpi4/boot/firmware/initramfs\"\n initramfs_path: /opt/neon/firmware/initramfs\n initramfs_update_path: /opt/neon/initramfs\n squashfs_url: \"https://2222.us/app/files/neon_images/pi/mycroft_mark_2/updates/{}/\"\n squashfs_path: /opt/neon/update.squashfs\n default_track: dev\n```\n\n## Messagebus API\nThe following Messagebus listeners are exposed by this plugin. The `track` data\nparameter is optional and will default to the configured `default_track` if not\nspecified.\n\n### Check for InitramFS Updates\nCheck for an available InitramFS update and emit a response with data: \n`update_available` and `track`.\n```python\nMessage(\"neon.check_update_initramfs\", {'track': 'dev'})\n```\n\n### Update InitramFS\nInstall an available InitramFS update and emit a response with data: \n`updated` and optionally `error`.\n```python\nMessage(\"neon.update_initramfs\", {'track': 'dev'})\n```\n\n### Check for SquashFS Updates\nCheck for an available SquashFS update and emit a response with data: \n`update_available` and `track`.\n```python\nMessage(\"neon.check_update_squashfs\", {'track': 'dev'})\n```\n\n### Update SquashFS\nCheck for an available InitramFS update and emit a response with data: \n`new_version` or `error`.\n```python\nMessage(\"neon.update_squashfs\", {'track': 'dev'})\n```\n",
"bugtrack_url": null,
"license": "BSD-3",
"summary": "Core Module Update Interface",
"version": "0.2.0",
"project_urls": {
"Homepage": "https://github.com/NeonGeckoCom/neon-phal-plugin-device-updater"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e7b5234e69ce6078c5b20ed49f05c56d49aa05524297cd924a76ff42b9cb3407",
"md5": "5959a39c359b0446e3fd4beffb642e4e",
"sha256": "885cf519dfe53338225bb13af7d9be9ea85a4ec7b039bf83f9254592eaf6650c"
},
"downloads": -1,
"filename": "neon_phal_plugin_device_updater-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5959a39c359b0446e3fd4beffb642e4e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 9611,
"upload_time": "2024-04-22T20:22:24",
"upload_time_iso_8601": "2024-04-22T20:22:24.966957Z",
"url": "https://files.pythonhosted.org/packages/e7/b5/234e69ce6078c5b20ed49f05c56d49aa05524297cd924a76ff42b9cb3407/neon_phal_plugin_device_updater-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "569620a15b240d8d3cc8f35c942e149730c3bd0d6af38038df48c37dd9389481",
"md5": "86dcab0cd5ceadf255abd06376e4d08e",
"sha256": "c4adf741c5465dfc0a9115233ec7fd40e4207980e5a496db347353e1a43996e8"
},
"downloads": -1,
"filename": "neon-phal-plugin-device-updater-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "86dcab0cd5ceadf255abd06376e4d08e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9748,
"upload_time": "2024-04-22T20:22:26",
"upload_time_iso_8601": "2024-04-22T20:22:26.377412Z",
"url": "https://files.pythonhosted.org/packages/56/96/20a15b240d8d3cc8f35c942e149730c3bd0d6af38038df48c37dd9389481/neon-phal-plugin-device-updater-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-22 20:22:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "NeonGeckoCom",
"github_project": "neon-phal-plugin-device-updater",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "neon-phal-plugin-device-updater"
}