@balena/open-balena-api 52.0.5 → 52.0.6
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/dist/features/device-logs/lib/backends/loki-push-request.d.ts +31 -0
- package/dist/features/device-logs/lib/backends/loki-push-request.js +150 -0
- package/dist/features/device-logs/lib/backends/loki-push-request.js.map +1 -0
- package/dist/features/device-logs/lib/backends/loki.js +34 -27
- package/dist/features/device-logs/lib/backends/loki.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encodes Loki push requests (`logproto.PushRequest`) straight from plain objects. This produces the same bytes as
|
|
3
|
+
* building and serializing google-protobuf messages, but without allocating a message object per entry or encoding
|
|
4
|
+
* strings to UTF-8 in JavaScript, which were most of the CPU cost of each push.
|
|
5
|
+
*
|
|
6
|
+
* message PushRequest { repeated StreamAdapter streams = 1; }
|
|
7
|
+
* message StreamAdapter { string labels = 1; repeated EntryAdapter entries = 2; }
|
|
8
|
+
* message EntryAdapter {
|
|
9
|
+
* google.protobuf.Timestamp timestamp = 1;
|
|
10
|
+
* string line = 2;
|
|
11
|
+
* repeated LabelPairAdapter structuredMetadata = 3;
|
|
12
|
+
* }
|
|
13
|
+
* message Timestamp { int64 seconds = 1; int32 nanos = 2; }
|
|
14
|
+
* message LabelPairAdapter { string name = 1; string value = 2; }
|
|
15
|
+
*/
|
|
16
|
+
export interface LokiLabelPair {
|
|
17
|
+
name: string;
|
|
18
|
+
value: string;
|
|
19
|
+
}
|
|
20
|
+
export interface LokiEntry {
|
|
21
|
+
seconds: number;
|
|
22
|
+
nanos: number;
|
|
23
|
+
line: string;
|
|
24
|
+
/** Usually shared between the entries of a request, it is encoded once per distinct array */
|
|
25
|
+
structuredMetadata: readonly LokiLabelPair[];
|
|
26
|
+
}
|
|
27
|
+
export interface LokiStream {
|
|
28
|
+
labels: string;
|
|
29
|
+
entries: LokiEntry[];
|
|
30
|
+
}
|
|
31
|
+
export declare const encodePushRequest: (streams: LokiStream[]) => Buffer;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encodes Loki push requests (`logproto.PushRequest`) straight from plain objects. This produces the same bytes as
|
|
3
|
+
* building and serializing google-protobuf messages, but without allocating a message object per entry or encoding
|
|
4
|
+
* strings to UTF-8 in JavaScript, which were most of the CPU cost of each push.
|
|
5
|
+
*
|
|
6
|
+
* message PushRequest { repeated StreamAdapter streams = 1; }
|
|
7
|
+
* message StreamAdapter { string labels = 1; repeated EntryAdapter entries = 2; }
|
|
8
|
+
* message EntryAdapter {
|
|
9
|
+
* google.protobuf.Timestamp timestamp = 1;
|
|
10
|
+
* string line = 2;
|
|
11
|
+
* repeated LabelPairAdapter structuredMetadata = 3;
|
|
12
|
+
* }
|
|
13
|
+
* message Timestamp { int64 seconds = 1; int32 nanos = 2; }
|
|
14
|
+
* message LabelPairAdapter { string name = 1; string value = 2; }
|
|
15
|
+
*/
|
|
16
|
+
// Negative int32/int64 values are sign extended to 64 bits, which always takes 10 bytes
|
|
17
|
+
const varintSize = (v) => {
|
|
18
|
+
if (v < 0) {
|
|
19
|
+
return 10;
|
|
20
|
+
}
|
|
21
|
+
let size = 1;
|
|
22
|
+
while (v >= 128) {
|
|
23
|
+
v = Math.floor(v / 128);
|
|
24
|
+
size++;
|
|
25
|
+
}
|
|
26
|
+
return size;
|
|
27
|
+
};
|
|
28
|
+
// Each byte holds 7 bits of the value, lowest first, with 128 added to every byte but the last
|
|
29
|
+
const writeVarint = (buf, pos, v) => {
|
|
30
|
+
if (v < 0) {
|
|
31
|
+
let u = BigInt.asUintN(64, BigInt(v));
|
|
32
|
+
while (u >= 128n) {
|
|
33
|
+
buf[pos++] = Number(u % 128n) + 128;
|
|
34
|
+
u /= 128n;
|
|
35
|
+
}
|
|
36
|
+
buf[pos++] = Number(u);
|
|
37
|
+
return pos;
|
|
38
|
+
}
|
|
39
|
+
while (v >= 128) {
|
|
40
|
+
buf[pos++] = (v % 128) + 128;
|
|
41
|
+
v = Math.floor(v / 128);
|
|
42
|
+
}
|
|
43
|
+
buf[pos++] = v;
|
|
44
|
+
return pos;
|
|
45
|
+
};
|
|
46
|
+
/** The size of a length delimited field: tag, length and content */
|
|
47
|
+
const fieldSize = (len) => 1 + varintSize(len) + len;
|
|
48
|
+
const timestampSize = (seconds, nanos) => (seconds !== 0 ? 1 + varintSize(seconds) : 0) +
|
|
49
|
+
(nanos !== 0 ? 1 + varintSize(nanos) : 0);
|
|
50
|
+
/** Encodes the `structuredMetadata` fields of an entry, including their tags */
|
|
51
|
+
const encodeStructuredMetadata = (pairs) => {
|
|
52
|
+
let size = 0;
|
|
53
|
+
const sizes = pairs.map(({ name, value }) => {
|
|
54
|
+
const nameLen = Buffer.byteLength(name);
|
|
55
|
+
const valueLen = Buffer.byteLength(value);
|
|
56
|
+
const pairSize = (nameLen > 0 ? fieldSize(nameLen) : 0) +
|
|
57
|
+
(valueLen > 0 ? fieldSize(valueLen) : 0);
|
|
58
|
+
size += fieldSize(pairSize);
|
|
59
|
+
return { nameLen, valueLen, pairSize };
|
|
60
|
+
});
|
|
61
|
+
const buf = Buffer.allocUnsafe(size);
|
|
62
|
+
let pos = 0;
|
|
63
|
+
for (let i = 0; i < pairs.length; i++) {
|
|
64
|
+
const { nameLen, valueLen, pairSize } = sizes[i];
|
|
65
|
+
buf[pos++] = 0x1a; // field 3, length delimited
|
|
66
|
+
pos = writeVarint(buf, pos, pairSize);
|
|
67
|
+
if (nameLen > 0) {
|
|
68
|
+
buf[pos++] = 0x0a; // field 1, length delimited
|
|
69
|
+
pos = writeVarint(buf, pos, nameLen);
|
|
70
|
+
pos += buf.write(pairs[i].name, pos, nameLen, 'utf8');
|
|
71
|
+
}
|
|
72
|
+
if (valueLen > 0) {
|
|
73
|
+
buf[pos++] = 0x12; // field 2, length delimited
|
|
74
|
+
pos = writeVarint(buf, pos, valueLen);
|
|
75
|
+
pos += buf.write(pairs[i].value, pos, valueLen, 'utf8');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return buf;
|
|
79
|
+
};
|
|
80
|
+
export const encodePushRequest = (streams) => {
|
|
81
|
+
// The first pass works out the size of every message, as each one is prefixed by its length
|
|
82
|
+
const metadataCache = new Map();
|
|
83
|
+
const lineLens = [];
|
|
84
|
+
const entrySizes = [];
|
|
85
|
+
const labelLens = [];
|
|
86
|
+
const streamSizes = [];
|
|
87
|
+
let total = 0;
|
|
88
|
+
for (const { labels, entries } of streams) {
|
|
89
|
+
const labelsLen = Buffer.byteLength(labels);
|
|
90
|
+
let streamSize = labelsLen > 0 ? fieldSize(labelsLen) : 0;
|
|
91
|
+
for (const entry of entries) {
|
|
92
|
+
let metadata = metadataCache.get(entry.structuredMetadata);
|
|
93
|
+
if (metadata === undefined) {
|
|
94
|
+
metadata = encodeStructuredMetadata(entry.structuredMetadata);
|
|
95
|
+
metadataCache.set(entry.structuredMetadata, metadata);
|
|
96
|
+
}
|
|
97
|
+
const lineLen = Buffer.byteLength(entry.line);
|
|
98
|
+
const entrySize = fieldSize(timestampSize(entry.seconds, entry.nanos)) +
|
|
99
|
+
(lineLen > 0 ? fieldSize(lineLen) : 0) +
|
|
100
|
+
metadata.length;
|
|
101
|
+
lineLens.push(lineLen);
|
|
102
|
+
entrySizes.push(entrySize);
|
|
103
|
+
streamSize += fieldSize(entrySize);
|
|
104
|
+
}
|
|
105
|
+
labelLens.push(labelsLen);
|
|
106
|
+
streamSizes.push(streamSize);
|
|
107
|
+
total += fieldSize(streamSize);
|
|
108
|
+
}
|
|
109
|
+
const buf = Buffer.allocUnsafe(total);
|
|
110
|
+
let pos = 0;
|
|
111
|
+
let e = 0;
|
|
112
|
+
for (let s = 0; s < streams.length; s++) {
|
|
113
|
+
const { labels, entries } = streams[s];
|
|
114
|
+
buf[pos++] = 0x0a; // PushRequest.streams
|
|
115
|
+
pos = writeVarint(buf, pos, streamSizes[s]);
|
|
116
|
+
const labelsLen = labelLens[s];
|
|
117
|
+
if (labelsLen > 0) {
|
|
118
|
+
buf[pos++] = 0x0a; // StreamAdapter.labels
|
|
119
|
+
pos = writeVarint(buf, pos, labelsLen);
|
|
120
|
+
pos += buf.write(labels, pos, labelsLen, 'utf8');
|
|
121
|
+
}
|
|
122
|
+
for (const { seconds, nanos, line, structuredMetadata } of entries) {
|
|
123
|
+
buf[pos++] = 0x12; // StreamAdapter.entries
|
|
124
|
+
pos = writeVarint(buf, pos, entrySizes[e]);
|
|
125
|
+
buf[pos++] = 0x0a; // EntryAdapter.timestamp, always present like with google-protobuf
|
|
126
|
+
pos = writeVarint(buf, pos, timestampSize(seconds, nanos));
|
|
127
|
+
if (seconds !== 0) {
|
|
128
|
+
buf[pos++] = 0x08; // Timestamp.seconds, varint
|
|
129
|
+
pos = writeVarint(buf, pos, seconds);
|
|
130
|
+
}
|
|
131
|
+
if (nanos !== 0) {
|
|
132
|
+
buf[pos++] = 0x10; // Timestamp.nanos, varint
|
|
133
|
+
pos = writeVarint(buf, pos, nanos);
|
|
134
|
+
}
|
|
135
|
+
const lineLen = lineLens[e];
|
|
136
|
+
if (lineLen > 0) {
|
|
137
|
+
buf[pos++] = 0x12; // EntryAdapter.line
|
|
138
|
+
pos = writeVarint(buf, pos, lineLen);
|
|
139
|
+
pos += buf.write(line, pos, lineLen, 'utf8');
|
|
140
|
+
}
|
|
141
|
+
pos += metadataCache.get(structuredMetadata).copy(buf, pos);
|
|
142
|
+
e++;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (pos !== total) {
|
|
146
|
+
throw new Error(`Encoded ${pos} bytes of a ${total} byte Loki push request`);
|
|
147
|
+
}
|
|
148
|
+
return buf;
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=loki-push-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loki-push-request.js","sourceRoot":"","sources":["../../../../../src/features/device-logs/lib/backends/loki-push-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
|
-
import { compressionAlgorithms } from '@grpc/grpc-js';
|
|
4
|
-
import loki from 'loki-grpc-client';
|
|
3
|
+
import { compressionAlgorithms, credentials, makeGenericClientConstructor, Metadata, status, } from '@grpc/grpc-js';
|
|
5
4
|
import { errors, sbvrUtils, permissions } from '@balena/pinejs';
|
|
6
5
|
import { LOKI_QUERY_HOST, LOKI_QUERY_HTTP_PORT, LOKI_INGESTER_HOST, LOKI_INGESTER_GRPC_PORT, LOKI_HISTORY_GZIP, LOKI_GRPC_SEND_GZIP, LOKI_GRPC_RECEIVE_COMPRESSION_LEVEL, LOKI_RETRIES_ENABLED, LOKI_PUSH_TIMEOUT, LOKI_HISTORY_TIMEOUT, } from "../../../../lib/config.js";
|
|
7
6
|
import { captureException } from "../../../../infra/error-handling/index.js";
|
|
@@ -10,9 +9,27 @@ import { setTimeout } from 'timers/promises';
|
|
|
10
9
|
import { requestAsync } from "../../../../infra/request-promise/index.js";
|
|
11
10
|
import WebSocket from 'ws';
|
|
12
11
|
import querystring from 'node:querystring';
|
|
12
|
+
import { encodePushRequest } from "./loki-push-request.js";
|
|
13
13
|
const { BadRequestError } = errors;
|
|
14
14
|
// invert status object for quick lookup of status identifier using status code
|
|
15
|
-
const statusKeys = _.invert(
|
|
15
|
+
const statusKeys = _.invert(status);
|
|
16
|
+
const notSupported = () => {
|
|
17
|
+
throw new Error('Only the client side of the Loki push service is implemented');
|
|
18
|
+
};
|
|
19
|
+
// The Loki push service, with requests encoded by `encodePushRequest` straight from plain objects rather than by
|
|
20
|
+
// building and serializing google-protobuf messages
|
|
21
|
+
const PusherClient = makeGenericClientConstructor({
|
|
22
|
+
push: {
|
|
23
|
+
path: '/logproto.Pusher/Push',
|
|
24
|
+
requestStream: false,
|
|
25
|
+
responseStream: false,
|
|
26
|
+
requestSerialize: encodePushRequest,
|
|
27
|
+
requestDeserialize: notSupported,
|
|
28
|
+
responseSerialize: notSupported,
|
|
29
|
+
// PushResponse has no fields
|
|
30
|
+
responseDeserialize: () => ({}),
|
|
31
|
+
},
|
|
32
|
+
}, 'Pusher');
|
|
16
33
|
const lokiQueryAddress = `${LOKI_QUERY_HOST}:${LOKI_QUERY_HTTP_PORT}`;
|
|
17
34
|
const lokiIngesterAddress = `${LOKI_INGESTER_HOST}:${LOKI_INGESTER_GRPC_PORT}`;
|
|
18
35
|
const MIN_BACKOFF = 100;
|
|
@@ -65,7 +82,7 @@ export class LokiBackend {
|
|
|
65
82
|
const compressionAlgorithm = LOKI_GRPC_SEND_GZIP
|
|
66
83
|
? compressionAlgorithms.gzip
|
|
67
84
|
: compressionAlgorithms.identity;
|
|
68
|
-
this.pusher = new
|
|
85
|
+
this.pusher = new PusherClient(lokiIngesterAddress, credentials.createInsecure(), {
|
|
69
86
|
'grpc.default_compression_algorithm': compressionAlgorithm,
|
|
70
87
|
'grpc.default_compression_level': LOKI_GRPC_RECEIVE_COMPRESSION_LEVEL,
|
|
71
88
|
});
|
|
@@ -73,7 +90,7 @@ export class LokiBackend {
|
|
|
73
90
|
this.push = backoff(this.push.bind(this), (err) => {
|
|
74
91
|
incrementLokiPushErrorTotal(err.code ? statusKeys[err.code] : 'UNDEFINED');
|
|
75
92
|
return (LOKI_RETRIES_ENABLED &&
|
|
76
|
-
[
|
|
93
|
+
[status.UNAVAILABLE, status.RESOURCE_EXHAUSTED].includes(err.code ?? -1));
|
|
77
94
|
});
|
|
78
95
|
}
|
|
79
96
|
available = true;
|
|
@@ -140,17 +157,17 @@ export class LokiBackend {
|
|
|
140
157
|
}
|
|
141
158
|
async push(ctx, stream) {
|
|
142
159
|
incrementLokiPushTotal();
|
|
143
|
-
const
|
|
144
|
-
|
|
160
|
+
const metadata = new Metadata();
|
|
161
|
+
metadata.add('x-scope-orgid', ctx.orgId);
|
|
145
162
|
const startAt = Date.now();
|
|
146
163
|
try {
|
|
147
164
|
await new Promise((resolve, reject) => {
|
|
148
|
-
this.pusher.push(
|
|
165
|
+
this.pusher.push([stream], metadata, { deadline: startAt + LOKI_PUSH_TIMEOUT }, (err) => {
|
|
149
166
|
if (err) {
|
|
150
167
|
reject(err);
|
|
151
168
|
}
|
|
152
169
|
else {
|
|
153
|
-
resolve(
|
|
170
|
+
resolve();
|
|
154
171
|
}
|
|
155
172
|
});
|
|
156
173
|
});
|
|
@@ -234,9 +251,7 @@ export class LokiBackend {
|
|
|
234
251
|
return `o${ctx.orgId}:a${ctx.appId}:d${ctx.id}`;
|
|
235
252
|
}
|
|
236
253
|
getStructuredMetadata(ctx) {
|
|
237
|
-
return [
|
|
238
|
-
new loki.LabelPairAdapter().setName('device_id').setValue(`${ctx.id}`),
|
|
239
|
-
];
|
|
254
|
+
return [{ name: 'device_id', value: `${ctx.id}` }];
|
|
240
255
|
}
|
|
241
256
|
getLabels(ctx) {
|
|
242
257
|
return `{fleet_id="${ctx.appId}"}`;
|
|
@@ -246,25 +261,17 @@ export class LokiBackend {
|
|
|
246
261
|
return logs.map((log) => {
|
|
247
262
|
// Strip nanoTimestamp from the log as it cannot be serialized, and avoid a replacer lets us stay on the stringify fast path
|
|
248
263
|
const { nanoTimestamp, ...jsonableLog } = log;
|
|
249
|
-
const timestamp = new loki.Timestamp();
|
|
250
|
-
timestamp.setSeconds(Math.floor(Number(nanoTimestamp / 1000000000n)));
|
|
251
|
-
timestamp.setNanos(Number(nanoTimestamp % 1000000000n));
|
|
252
|
-
// store log line as JSON
|
|
253
264
|
jsonableLog.version = VERSION;
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
.
|
|
258
|
-
|
|
259
|
-
|
|
265
|
+
return {
|
|
266
|
+
seconds: Math.floor(Number(log.nanoTimestamp / 1000000000n)),
|
|
267
|
+
nanos: Number(log.nanoTimestamp % 1000000000n),
|
|
268
|
+
line: JSON.stringify(jsonableLog),
|
|
269
|
+
structuredMetadata,
|
|
270
|
+
};
|
|
260
271
|
});
|
|
261
272
|
}
|
|
262
273
|
fromLogEntriesToStream(ctx, logEntries) {
|
|
263
|
-
|
|
264
|
-
const stream = new loki.StreamAdapter();
|
|
265
|
-
stream.setLabels(labels);
|
|
266
|
-
stream.setEntriesList(logEntries);
|
|
267
|
-
return stream;
|
|
274
|
+
return { labels: this.getLabels(ctx), entries: logEntries };
|
|
268
275
|
}
|
|
269
276
|
async addAdditionalContext(ctx) {
|
|
270
277
|
const [app] = await $getLokiContext()({ id: ctx.id });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loki.js","sourceRoot":"","sources":["../../../../../src/features/device-logs/lib/backends/loki.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loki.js","sourceRoot":"","sources":["../../../../../src/features/device-logs/lib/backends/loki.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EACN,qBAAqB,EACrB,WAAW,EACX,4BAA4B,EAC5B,QAAQ,EACR,MAAM,GACN,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,mCAAmC,EACnC,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,GACpB,MAAM,2BAA2B,CAAC;AAUnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EACN,qBAAqB,EACrB,qBAAqB,EACrB,gCAAgC,EAChC,+BAA+B,EAC/B,2BAA2B,EAC3B,gCAAgC,EAChC,kCAAkC,EAClC,sBAAsB,EACtB,+BAA+B,EAC/B,yBAAyB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAM3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;AAOnC,+EAA+E;AAC/E,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAEpC,MAAM,YAAY,GAAG,GAAG,EAAE;IACzB,MAAM,IAAI,KAAK,CACd,8DAA8D,CAC9D,CAAC;AACH,CAAC,CAAC;AACF,iHAAiH;AACjH,oDAAoD;AACpD,MAAM,YAAY,GAAG,4BAA4B,CAChD;IACC,IAAI,EAAE;QACL,IAAI,EAAE,uBAAuB;QAC7B,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,iBAAiB;QACnC,kBAAkB,EAAE,YAAY;QAChC,iBAAiB,EAAE,YAAY;QAC/B,6BAA6B;QAC7B,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;KAC/B;CACD,EACD,QAAQ,CACR,CAAC;AAUF,MAAM,gBAAgB,GAAG,GAAG,eAAe,IAAI,oBAAoB,EAAE,CAAC;AACtE,MAAM,mBAAmB,GAAG,GAAG,kBAAkB,IAAI,uBAAuB,EAAE,CAAC;AAE/E,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC;AAC9B,MAAM,OAAO,GAAG,CAAC,CAAC;AAElB,SAAS,OAAO,CACf,EAAK,EACL,OAAgC;IAEhC,OAAO,KAAK,EAAE,GAAG,IAAmB,EAAmC,EAAE;QACxE,IAAI,WAAW,GAAG,WAAW,CAAC;QAC9B,IAAI,WAAW,GAAG,WAAW,CAAC;QAC9B,OAAO,WAAW,IAAI,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC;gBACJ,OAAO,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClB,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;oBAC9B,YAAY;oBACZ,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;oBACxC,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACP,MAAM,GAAG,CAAC;gBACX,CAAC;YACF,CAAC;QACF,CAAC;QACD,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACjC,CAAC,CAAC;AACH,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACnC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAC1B;IACC,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC1C,OAAO,EAAE;QACR,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC;QAC/B,OAAO,EAAE;YACR,YAAY,EAAE;gBACb,IAAI,EAAE;oBACL,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;iBACnC;aACD;SACD;KACD;CACD,EACD,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAClB,CACD,CAAC;AAEF,MAAM,OAAO,WAAW;IACf,aAAa,CAAe;IAC5B,MAAM,CAAmB;IACzB,SAAS,CAAyB;IAE1C;QACC,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,oBAAoB,GAAG,mBAAmB;YAC/C,CAAC,CAAC,qBAAqB,CAAC,IAAI;YAC5B,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAC7B,mBAAmB,EACnB,WAAW,CAAC,cAAc,EAAE,EAC5B;YACC,oCAAoC,EAAE,oBAAoB;YAC1D,gCAAgC,EAAE,mCAAmC;SACrE,CAC8B,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAiB,EAAW,EAAE;YACxE,2BAA2B,CAC1B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAC7C,CAAC;YACF,OAAO,CACN,oBAAoB;gBACpB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CACxE,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAEe,SAAS,GAAG,IAAI,CAAC;IAEjC;;;;;;;;OAQG;IACI,KAAK,CAAC,OAAO,CACnB,GAAmB,EACnB,EAAE,KAAK,EAAE,KAAK,EAAe;QAE7B,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,GAAG,MAAM,YAAY,CAAC;YACjD,GAAG,EAAE,UAAU,gBAAgB,0BAA0B;YACzD,OAAO,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,KAAK,EAAE;YACvC,EAAE,EAAE;gBACH,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBAC/B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBAC5C,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,EAAE;aACpC;YACD,OAAO,EAAE,oBAAoB;YAC7B,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,iBAAiB;SACvB,CAAC,CAAC;QAEH,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACd,4CAA4C,UAAU,UAAU,IAAI,EAAE,CACtE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CACP,IAAI,CAAC,IAAI,CAAC,MAER,CACF;aACC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC;aAC/B,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAA6B,EAAE;YACxD,MAAM,GAAG,GAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACd,uCAAuC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAC5D,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC,OAAO,CAAC;YACnB,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACxC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,aAAa,EAAE,GAAsB,CAAC,CAAC;QAChD,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;aACrB,KAAK,EAAE,CAAC;IACX,CAAC;IAEM,KAAK,CAAC,OAAO,CACnB,GAAmB,EACnB,IAAqD;QAErD,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE3D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,yBAAyB,EAAE,CAAC;QAC5B,gCAAgC,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC7B,gCAAgC,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,+BAA+B,EAAE,CAAC;YAClC,kCAAkC,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,qEAAqE;gBACrE,gBAAgB,CAAC,GAAG,EAAE,qCAAqC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,IAAI,eAAe,CACxB,qCAAqC,GAAG,CAAC,IAAI,EAAE,CAC/C,CAAC;QACH,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,GAAmB,EAAE,MAAkB;QACzD,sBAAsB,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC;YACJ,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,CAAC,MAAM,CAAC,EACR,QAAQ,EACR,EAAE,QAAQ,EAAE,OAAO,GAAG,iBAAiB,EAAE,EACzC,CAAC,GAAG,EAAE,EAAE;oBACP,IAAI,GAAG,EAAE,CAAC;wBACT,MAAM,CAAC,GAAG,CAAC,CAAC;oBACb,CAAC;yBAAM,CAAC;wBACP,OAAO,EAAE,CAAC;oBACX,CAAC;gBACF,CAAC,CACD,CAAC;YACH,CAAC,CAAC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACV,+BAA+B,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;IAEO,cAAc,CAAC,GAAmB,EAAE,GAAW;QACtD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,EAAE,GAA0B,IAAI,SAAS,CAC5C,QAAQ,gBAAgB,qBAAqB,WAAW,CAAC,SAAS,CAAC;gBAClE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBAC/B,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,QAAQ,EAAE;aACzC,CAAC,EAAE,EACJ,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAC3C,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAE5B,MAAM,SAAS,GAAG,GAAG,EAAE;gBACtB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;oBAChB,OAAO;gBACR,CAAC;gBACD,EAAE,CAAC,kBAAkB,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;oBACpC,0DAA0D;oBAC1D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC3B,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC/C,uDAAuD;wBACvD,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC/B,CAAC;gBACF,CAAC;gBACD,EAAE,GAAG,SAAS,CAAC;YAChB,CAAC,CAAC;YAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACtB,gBAAgB,CACf,GAAG,EACH,2CAA2C,GAAG,CAAC,IAAI,EAAE,CACrD,CAAC;gBACF,SAAS,EAAE,CAAC;YACb,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAE1B,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,CAAC;oBACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAKxC,CAAC;oBAEF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACrC,gGAAgG;wBAChG,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;4BAClD,MAAM,GAAG,GAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BAC/C,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gCAC7B,MAAM,IAAI,KAAK,CACd,uCAAuC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAC5D,CAAC;4BACH,CAAC;4BACD,OAAO,GAAG,CAAC,OAAO,CAAC;4BACnB,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;4BACxC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC;4BAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBACnC,CAAC;oBACF,CAAC;gBACF,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,gBAAgB,CACf,GAAG,EACH,2CAA2C,GAAG,CAAC,IAAI,EAAE,CACrD,CAAC;gBACH,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAEM,SAAS,CAAC,GAAmB,EAAE,YAA0B;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAE9B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACzC,qBAAqB,EAAE,CAAC;IACzB,CAAC;IAEM,WAAW,CAAC,GAAmB,EAAE,YAA0B;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACrD,qBAAqB,EAAE,CAAC;QAExB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,CAAC;QACF,CAAC;IACF,CAAC;IAEO,cAAc,CAAC,GAAmB;QACzC,OAAO,cAAc,GAAG,CAAC,KAAK,mBAAmB,GAAG,CAAC,EAAE,GAAG,CAAC;IAC5D,CAAC;IAEO,MAAM,CAAC,GAAmB;QACjC,OAAO,IAAI,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;IACjD,CAAC;IAEO,qBAAqB,CAAC,GAAe;QAC5C,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAEO,SAAS,CAAC,GAAmB;QACpC,OAAO,cAAc,GAAG,CAAC,KAAK,IAAI,CAAC;IACpC,CAAC;IAEO,uBAAuB,CAC9B,GAAe,EACf,IAAqD;QAErD,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACvB,4HAA4H;YAC5H,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,GAAG,GAAG,CAAC;YAC9C,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;YAC9B,OAAO;gBACN,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,GAAG,WAAW,CAAC,CAAC;gBAC5D,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,GAAG,WAAW,CAAC;gBAC9C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;gBACjC,kBAAkB;aAClB,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IACO,sBAAsB,CAC7B,GAAmB,EACnB,UAAuB;QAEvB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,oBAAoB,CACzB,GAAmD;QAEnD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACrD,CAAC;QACD,GAAG,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC;QACxB,GAAG,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;CACD"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@balena/open-balena-api",
|
|
3
3
|
"description": "Internet of things, Made Simple",
|
|
4
|
-
"version": "52.0.
|
|
4
|
+
"version": "52.0.6",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"@balena/pinejs": "^25.0.4",
|
|
57
57
|
"@balena/pinejs-webresource-cloudfront": "^2.0.2",
|
|
58
58
|
"@balena/pinejs-webresource-s3": "^2.1.27",
|
|
59
|
+
"@grpc/grpc-js": "^1.14.6",
|
|
59
60
|
"@opentelemetry/api": "^1.9.0",
|
|
60
61
|
"@opentelemetry/context-async-hooks": "^2.5.0",
|
|
61
62
|
"@opentelemetry/core": "^2.5.0",
|
|
@@ -109,7 +110,6 @@
|
|
|
109
110
|
"json-schema-to-ts": "^3.1.1",
|
|
110
111
|
"jsonwebtoken": "^9.0.3",
|
|
111
112
|
"lodash": "^4.17.23",
|
|
112
|
-
"loki-grpc-client": "^2.2.0",
|
|
113
113
|
"memoizee": "^0.4.17",
|
|
114
114
|
"morgan": "^1.10.1",
|
|
115
115
|
"ndjson": "^2.0.0",
|
|
@@ -175,6 +175,6 @@
|
|
|
175
175
|
"_": "index.js"
|
|
176
176
|
},
|
|
177
177
|
"versionist": {
|
|
178
|
-
"publishedAt": "2026-11-
|
|
178
|
+
"publishedAt": "2026-11-02T14:36:08.297Z"
|
|
179
179
|
}
|
|
180
180
|
}
|