No project description provided
Project description
gooseBit
A simplistic, opinionated remote update server implementing hawkBit™'s DDI API.
Setup
To set up, install the dependencies in pyproject.toml
with poetry install
. Then you can run gooseBit by running main.py
.
Initial Startup
The first time you start gooseBit, you should change the default username and password inside settings.yaml
.
The default login credentials for testing are admin@goosebit.local
, admin
.
Assumptions
- SWUpdate used on device side.
Current Feature Set
Firmware repository
Uploading firmware images through frontend. All files should follow the format {model}_{revision}_{version}
, where
version
is either a semantic version or a datetime version in the format YYYYMMDD-HHmmSS
.
Automatic device registration
First time a new device connects, its configuration data is requested. hw_model
and hw_revision
are captured from
the configuration data (both fall back to default
if not provided) which allows to distinguish different device
types and their revisions.
Automatically update device to newest firmware
Once a device is registered it will get the newest available firmware from the repository based on model and revision.
Manually update device to specific firmware
Frontend allows to assign specific firmware to be rolled out.
Firmware rollout
Rollouts allow a fine-grained assignment of firmwares to devices. The reported device model and revision is combined with the manually set feed and flavor values on a device to determine a matching rollout.
The feed is meant to model either different environments (like: dev, qa, live) or update channels (like. candidate, fast, stable).
The flavor can be used for different type of builds (like: debug, prod).
Pause updates
Device can be pinned to its current firmware.
Realtime update logs
While an update is running, the update logs are captured and visualized in the frontend.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file goosebit-0.1.1.tar.gz
.
File metadata
- Download URL: goosebit-0.1.1.tar.gz
- Upload date:
- Size: 32.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.1 Linux/6.5.0-1023-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ce4b730a441a412b15900cfc39009669f707d2977b648c28847456f41d81110 |
|
MD5 | 389cbbc3ab7a384f1216f9405d33aa68 |
|
BLAKE2b-256 | df3c195fe34ca2e3064cdd4a4e57aebd4b1fa6d32d2db30268a2e9b6b5908be1 |
File details
Details for the file goosebit-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: goosebit-0.1.1-py3-none-any.whl
- Upload date:
- Size: 44.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.1 Linux/6.5.0-1023-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e777f3e5e9136117e3e3ae6036b0f484b8e13366fa5347c7e89085ee42c8e57a |
|
MD5 | db9b32f18f0d27d7db5f66f5e3af770b |
|
BLAKE2b-256 | 55c27549f378a3a4451bb88d8cbea39667b93c1bdafc4608ab87b181e78dd504 |