neon-phal-plugin-device-updater


Nameneon-phal-plugin-device-updater JSON
Version 0.3.0 PyPI version JSON
download
home_pagehttps://github.com/NeonGeckoCom/neon-phal-plugin-device-updater
SummaryCore Module Update Interface
upload_time2024-07-16 21:39:50
maintainerNone
docs_urlNone
authorNeongecko
requires_pythonNone
licenseBSD-3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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_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'})
```

### Get Build Info
Get metadata for currently installed build:
```python
Message("neon.device_updater.get_build_info")
```

### Get Download Status
Query the plugin if an update is currently downloading:
```python
Message("neon.device_updater.get_download_status")
```

            

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/cb/89/1353e7f61bde09043aca9cf8ba1d7584dc2d31ca225461d01321b5abdba8/neon-phal-plugin-device-updater-0.3.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_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\n### Get Build Info\nGet metadata for currently installed build:\n```python\nMessage(\"neon.device_updater.get_build_info\")\n```\n\n### Get Download Status\nQuery the plugin if an update is currently downloading:\n```python\nMessage(\"neon.device_updater.get_download_status\")\n```\n",
    "bugtrack_url": null,
    "license": "BSD-3",
    "summary": "Core Module Update Interface",
    "version": "0.3.0",
    "project_urls": {
        "Homepage": "https://github.com/NeonGeckoCom/neon-phal-plugin-device-updater"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d6901c59ed902de5ab73c11612fce704248f9eb8be1492dc7e3c7e54bae7e77e",
                "md5": "558fb954cf3bd7e08411f2142a0e3276",
                "sha256": "3225376e39f6fbd4e1f0d08c56633fcdd9d5d076dfa450b7b770e6e9252f56c2"
            },
            "downloads": -1,
            "filename": "neon_phal_plugin_device_updater-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "558fb954cf3bd7e08411f2142a0e3276",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 9852,
            "upload_time": "2024-07-16T21:39:49",
            "upload_time_iso_8601": "2024-07-16T21:39:49.488545Z",
            "url": "https://files.pythonhosted.org/packages/d6/90/1c59ed902de5ab73c11612fce704248f9eb8be1492dc7e3c7e54bae7e77e/neon_phal_plugin_device_updater-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cb891353e7f61bde09043aca9cf8ba1d7584dc2d31ca225461d01321b5abdba8",
                "md5": "7e314a73120707503646021aa5f65b10",
                "sha256": "7468fe62cb743b3bef6dba166b8b03efe7a5d541f175c259a560ccdb540ab044"
            },
            "downloads": -1,
            "filename": "neon-phal-plugin-device-updater-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "7e314a73120707503646021aa5f65b10",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 10114,
            "upload_time": "2024-07-16T21:39:50",
            "upload_time_iso_8601": "2024-07-16T21:39:50.998962Z",
            "url": "https://files.pythonhosted.org/packages/cb/89/1353e7f61bde09043aca9cf8ba1d7584dc2d31ca225461d01321b5abdba8/neon-phal-plugin-device-updater-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-16 21:39:50",
    "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"
}
        
Elapsed time: 0.33575s