mirror of
git://f0xx.org/ac/ac-ms-ota
synced 2026-07-29 02:38:47 +03:00
initial
This commit is contained in:
5
README.md
Normal file
5
README.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# ac-ms-ota
|
||||||
|
|
||||||
|
OTA channels and manifests.
|
||||||
|
|
||||||
|
Remote: `git://f0xx.org/ac/ac-ms-ota`
|
||||||
20
ota/mqtt-topics.md
Normal file
20
ota/mqtt-topics.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# MQTT OTA topics (retained payloads)
|
||||||
|
|
||||||
|
Publish retained payloads for these topics:
|
||||||
|
|
||||||
|
- `v0/ota/channel/stable.json` -> content of `examples/ota/v0/ota/channel/stable.json`
|
||||||
|
- `v0/ota/channel/current.json` -> content of `examples/ota/v0/ota/channel/current.json`
|
||||||
|
- `v0/ota/channel/next.json` -> content of `examples/ota/v0/ota/channel/next.json`
|
||||||
|
- `v0/ota/00/00.01/00.01.00/android_cast_00.01.00.00_manifest.json`
|
||||||
|
- `v0/ota/00/00.01/00.01.00/android_cast_00.01.00.00_sign.json`
|
||||||
|
- `v0/ota/00/00.01/00.01.00/android_cast_00.01.00.00.otapkg`
|
||||||
|
- `v0/ota/00/00.01/00.01.01/android_cast_00.01.01.01_manifest.json`
|
||||||
|
- `v0/ota/00/00.01/00.01.01/android_cast_00.01.01.01_sign.json`
|
||||||
|
- `v0/ota/00/00.01/00.01.01/android_cast_00.01.01.01.otapkg`
|
||||||
|
|
||||||
|
HTTP mirrors may also host `*.otabundle.zip` (manifest + sign + `package.apk` in one STORED zip).
|
||||||
|
The app uses **per-artifact MQTT topics only** — it does not download bundles over MQTT.
|
||||||
|
|
||||||
|
Example source URL in app settings:
|
||||||
|
|
||||||
|
- `mqtt://foxx.org:1883/v0/ota/channel/stable.json`
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
PLACEHOLDER PACKAGE
|
||||||
|
Replace this with the real release artifact bytes.
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"schema": "v0",
|
||||||
|
"major": 0,
|
||||||
|
"minor": 1,
|
||||||
|
"build": 0,
|
||||||
|
"versionName": "0.1.0",
|
||||||
|
"apkUrl": "https://foxx.org/v0/ota/00/00.01/00.01.00/android_cast_00.01.00.00.otapkg",
|
||||||
|
"signUrl": "https://foxx.org/v0/ota/00/00.01/00.01.00/android_cast_00.01.00.00_sign.json",
|
||||||
|
"sizeBytes": 10485760,
|
||||||
|
"bundleUrl": "https://foxx.org/v0/ota/00/00.01/00.01.00/android_cast_00.01.00.00.otabundle.zip",
|
||||||
|
"bundleSha256": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||||
|
"bundleSizeBytes": 10500000,
|
||||||
|
"mandatory": false,
|
||||||
|
"releaseNotes": "Current production baseline."
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"schema": "v0",
|
||||||
|
"sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
PLACEHOLDER PACKAGE
|
||||||
|
Replace this with the next OTA candidate artifact bytes.
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"schema": "v0",
|
||||||
|
"major": 0,
|
||||||
|
"minor": 1,
|
||||||
|
"build": 1,
|
||||||
|
"versionName": "0.1.1",
|
||||||
|
"apkUrl": "https://foxx.org/v0/ota/00/00.01/00.01.01/android_cast_00.01.01.01.otapkg",
|
||||||
|
"signUrl": "https://foxx.org/v0/ota/00/00.01/00.01.01/android_cast_00.01.01.01_sign.json",
|
||||||
|
"sizeBytes": 11534336,
|
||||||
|
"bundleUrl": "https://foxx.org/v0/ota/00/00.01/00.01.01/android_cast_00.01.01.01.otabundle.zip",
|
||||||
|
"bundleSha256": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||||
|
"bundleSizeBytes": 11600000,
|
||||||
|
"mandatory": false,
|
||||||
|
"releaseNotes": "Next OTA candidate with service-based updater."
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"schema": "v0",
|
||||||
|
"sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
|
||||||
|
}
|
||||||
4
ota/v0/ota/channel/current.json
Normal file
4
ota/v0/ota/channel/current.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"schema": "v0",
|
||||||
|
"manifestUrl": "https://foxx.org/v0/ota/00/00.01/00.01.00/android_cast_00.01.00.00_manifest.json"
|
||||||
|
}
|
||||||
4
ota/v0/ota/channel/next.json
Normal file
4
ota/v0/ota/channel/next.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"schema": "v0",
|
||||||
|
"manifestUrl": "https://foxx.org/v0/ota/00/00.01/00.01.01/android_cast_00.01.01.01_manifest.json"
|
||||||
|
}
|
||||||
4
ota/v0/ota/channel/stable.json
Normal file
4
ota/v0/ota/channel/stable.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"schema": "v0",
|
||||||
|
"manifestUrl": "https://foxx.org/v0/ota/00/00.01/00.01.01/android_cast_00.01.01.01_manifest.json"
|
||||||
|
}
|
||||||
4
ota/v0/ota/channel/staging.json
Normal file
4
ota/v0/ota/channel/staging.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"schema": "v0",
|
||||||
|
"manifestUrl": "https://apps.f0xx.org/v0/ota/00/00.01/00.01.00/android_cast_00.01.00.00_manifest.json"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user