Skip to main content

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

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

goosebit-0.1.1.tar.gz (32.3 kB view details)

Uploaded Source

Built Distribution

goosebit-0.1.1-py3-none-any.whl (44.8 kB view details)

Uploaded Python 3

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

Hashes for goosebit-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1ce4b730a441a412b15900cfc39009669f707d2977b648c28847456f41d81110
MD5 389cbbc3ab7a384f1216f9405d33aa68
BLAKE2b-256 df3c195fe34ca2e3064cdd4a4e57aebd4b1fa6d32d2db30268a2e9b6b5908be1

See more details on using hashes here.

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

Hashes for goosebit-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e777f3e5e9136117e3e3ae6036b0f484b8e13366fa5347c7e89085ee42c8e57a
MD5 db9b32f18f0d27d7db5f66f5e3af770b
BLAKE2b-256 55c27549f378a3a4451bb88d8cbea39667b93c1bdafc4608ab87b181e78dd504

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page