@mikrojs/registry 0.18.0 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -16
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/memoryStorage.d.ts.map +1 -1
- package/dist/memoryStorage.js +8 -1
- package/dist/memoryStorage.js.map +1 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +10 -1
- package/dist/node.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +490 -19
- package/dist/registry.js.map +1 -1
- package/dist/types.d.ts +35 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/util.d.ts +2 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +4 -0
- package/dist/util.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Reference OTA update registry for [Mikro.js](https://mikrojs.dev): a portable fetch handler
|
|
4
4
|
implementing the [OTA Registry Spec](https://mikrojs.dev/registry-spec). Publish builds with
|
|
5
|
-
`mikro ota
|
|
6
|
-
`mikro/ota` check-in flow, on Node, Bun, Deno, Cloudflare Workers,
|
|
7
|
-
that speaks fetch.
|
|
5
|
+
`mikro ota push`, enroll devices with `mikro ota enroll`, and serve update offers and
|
|
6
|
+
per-device config to the `mikro/ota` check-in flow, on Node, Bun, Deno, Cloudflare Workers,
|
|
7
|
+
or behind any framework that speaks fetch.
|
|
8
8
|
|
|
9
9
|
> **Scope.** This is built for a private network or a small hobby fleet: a few devices, one
|
|
10
10
|
> operator, a box you control. It is not built for scale or for serving strangers, and it
|
|
@@ -33,22 +33,25 @@ import {fileStorage, serve} from '@mikrojs/registry/node'
|
|
|
33
33
|
serve(createRegistry({storage: fileStorage('./data'), token: 'choose-a-secret'}), {port: 4873})
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
Both `storage` (a small interface over build blobs,
|
|
37
|
-
auth (`verifyAdmin`, `verifyDevice`) are
|
|
38
|
-
whatever backend you already operate. See
|
|
39
|
-
`registry/server.ts`) for a runnable walkthrough with a real
|
|
36
|
+
Both `storage` (a small interface over build blobs, build and channel records, device
|
|
37
|
+
records, config schemas, and issued tokens) and auth (`verifyAdmin`, `verifyDevice`) are
|
|
38
|
+
pluggable, so the same handler runs against whatever backend you already operate. See
|
|
39
|
+
`examples/ota` in the repo (its `registry/server.ts`) for a runnable walkthrough with a real
|
|
40
|
+
device.
|
|
40
41
|
|
|
41
|
-
Build downloads are
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
Build downloads are authenticated: the endpoint takes a device update key, and it serves a
|
|
43
|
+
build only to a device enrolled under that build's app. A checksum is not a credential, so
|
|
44
|
+
one recovered from a device's flash reads nothing on its own, and rotating a device's update
|
|
45
|
+
key cuts off the old key here as well.
|
|
45
46
|
|
|
46
47
|
## Browser login
|
|
47
48
|
|
|
48
49
|
With `token` auth, the registry also serves the spec's optional browser-login flow: a
|
|
49
50
|
client `POST`s `/api/v1/auth/sessions` (optionally with `{app}` context), sends the user to
|
|
50
|
-
the returned `loginUrl
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
the returned `loginUrl` to type the returned `userCode` there, and polls for the result. The
|
|
52
|
+
code is what ties the browser back to the client that asked, so a login someone else started
|
|
53
|
+
is not the one you approve. The approve page authenticates with the registry password (the
|
|
54
|
+
`token` option), typed once in the browser, and issues a `tok_...` scoped to publishing that
|
|
55
|
+
app plus enrolling devices. Workstations then hold scoped tokens; the password itself never
|
|
56
|
+
leaves the operator. Registries using `verifyAdmin` answer 404 there (the spec's "not
|
|
57
|
+
supported" signal) and wire their own login.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { memoryStorage } from './memoryStorage.js';
|
|
2
2
|
export { createRegistry } from './registry.js';
|
|
3
|
-
export type { BuildRecord, DeviceRecord, Registry, RegistryOptions, RegistryStorage, TokenRecord, } from './types.js';
|
|
3
|
+
export type { BuildRecord, ConfigSchemaRecord, DeviceRecord, Registry, RegistryOptions, RegistryStorage, TokenRecord, } from './types.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAA;AAC5C,YAAY,EACV,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAA;AAC5C,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryStorage.d.ts","sourceRoot":"","sources":["../src/memoryStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"memoryStorage.d.ts","sourceRoot":"","sources":["../src/memoryStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,eAAe,EAEhB,MAAM,YAAY,CAAA;AAGnB,6EAA6E;AAC7E,wBAAgB,aAAa,IAAI,eAAe,CAgE/C"}
|
package/dist/memoryStorage.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { channelKey } from './util.js';
|
|
1
|
+
import { channelKey, configSchemaKey } from './util.js';
|
|
2
2
|
/** In-memory storage: everything is lost on restart. For tests and demos. */
|
|
3
3
|
export function memoryStorage() {
|
|
4
4
|
const blobs = new Map();
|
|
@@ -6,6 +6,7 @@ export function memoryStorage() {
|
|
|
6
6
|
const channels = new Map();
|
|
7
7
|
const devices = new Map();
|
|
8
8
|
const tokens = new Map();
|
|
9
|
+
const configSchemas = new Map();
|
|
9
10
|
return {
|
|
10
11
|
async putBlob(checksum, data) {
|
|
11
12
|
blobs.set(checksum, data);
|
|
@@ -44,6 +45,12 @@ export function memoryStorage() {
|
|
|
44
45
|
async listDevices() {
|
|
45
46
|
return [...devices.values()];
|
|
46
47
|
},
|
|
48
|
+
async getConfigSchema(app, version) {
|
|
49
|
+
return configSchemas.get(configSchemaKey(app, version));
|
|
50
|
+
},
|
|
51
|
+
async putConfigSchema(record) {
|
|
52
|
+
configSchemas.set(configSchemaKey(record.app, record.version), record);
|
|
53
|
+
},
|
|
47
54
|
async getTokenByHash(hash) {
|
|
48
55
|
return tokens.get(hash);
|
|
49
56
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryStorage.js","sourceRoot":"","sources":["../src/memoryStorage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memoryStorage.js","sourceRoot":"","sources":["../src/memoryStorage.ts"],"names":[],"mappings":"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"}
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,MAAM,EAAC,MAAM,WAAW,CAAA;AAGnD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,MAAM,EAAC,MAAM,WAAW,CAAA;AAGnD,OAAO,KAAK,EAKV,QAAQ,EACR,eAAe,EAEhB,MAAM,YAAY,CAAA;AAQnB;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAoJxD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAC,GAChE,MAAM,CAiER"}
|
package/dist/node.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { mkdirSync, readFileSync, renameSync, statSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { createServer } from 'node:http';
|
|
3
3
|
import * as pathlib from 'node:path';
|
|
4
|
-
import { channelKey, CLIENT_IP_HEADER } from './util.js';
|
|
4
|
+
import { channelKey, CLIENT_IP_HEADER, configSchemaKey } from './util.js';
|
|
5
5
|
/** Publish is the only route with a large body; everything else is a small
|
|
6
6
|
* JSON document. Bodies are buffered before routing, so this is what keeps an
|
|
7
7
|
* unauthenticated POST from being an out-of-memory button. */
|
|
@@ -16,6 +16,7 @@ export function fileStorage(dir) {
|
|
|
16
16
|
mkdirSync(buildsDir, { recursive: true });
|
|
17
17
|
const buildsPath = pathlib.join(dir, 'builds.json');
|
|
18
18
|
const channelsPath = pathlib.join(dir, 'channels.json');
|
|
19
|
+
const configSchemasPath = pathlib.join(dir, 'config-schemas.json');
|
|
19
20
|
const devicesPath = pathlib.join(dir, 'devices.json');
|
|
20
21
|
const tokensPath = pathlib.join(dir, 'tokens.json');
|
|
21
22
|
/** Parsed indexes, keyed by path and invalidated by mtime. Every check-in
|
|
@@ -119,6 +120,14 @@ export function fileStorage(dir) {
|
|
|
119
120
|
index[channelKey(record.app, record.channel, record.firmwareRange)] = record;
|
|
120
121
|
writeIndex(channelsPath, index);
|
|
121
122
|
},
|
|
123
|
+
async getConfigSchema(app, version) {
|
|
124
|
+
return readIndex(configSchemasPath)[configSchemaKey(app, version)];
|
|
125
|
+
},
|
|
126
|
+
async putConfigSchema(record) {
|
|
127
|
+
const index = readIndex(configSchemasPath);
|
|
128
|
+
index[configSchemaKey(record.app, record.version)] = record;
|
|
129
|
+
writeIndex(configSchemasPath, index);
|
|
130
|
+
},
|
|
122
131
|
async getDevice(deviceId) {
|
|
123
132
|
return readIndex(devicesPath)[deviceId];
|
|
124
133
|
},
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;AACpF,OAAO,EAAC,YAAY,EAAc,MAAM,WAAW,CAAA;AACnD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAIV,QAAQ,EACR,eAAe,EAEhB,MAAM,YAAY,CAAA;AAwJnB;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ,CAkrDjE"}
|