You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: lib/dotetch/readme.md
+5-37Lines changed: 5 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Entry is `index.ts`
6
6
7
7
You're responsible for managing the lifecycle :
8
8
9
-
1. call `prepareEtchStream` with a manifest, it will return a "PackStream" [which is a `pack` from tar-stream](https://github.com/mafintosh/tar-stream).
9
+
1. call `prepareEtchStream`, it will return a "PackStream" [which is a `pack` from tar-stream](https://github.com/mafintosh/tar-stream).
10
10
2. pipe the stream from 1. to an output `packStream.pipe(outputStream)` (output stream can be a file, a http response, ...)
11
11
3. call `startEtchStream` with those mandatory parameters :
12
12
-`packStream` (from previous step)
@@ -33,40 +33,8 @@ Therefore we have built an on-stream docker pull replacement which can be called
33
33
You first need to get the manifests for all images using `getManifestsForImages`.
34
34
If your images are not public, you'll need to provide authentication, either a bearer token or a `{username: string, password: string}` basic auth object to retrieve your manifests and images.
35
35
36
-
## Manifest
37
-
The dotEtch manifest which describe the stream content.
38
-
39
-
So far we only have one version which is a json and looks like this:
40
-
```json
41
-
{
42
-
"version": "1.0",
43
-
"baseImage": {
44
-
"type": "stream",
45
-
"location": _string_
46
-
},
47
-
"inject": [{
48
-
"type": "stream",
49
-
"location": _string_,
50
-
"targetPartition": _number_,
51
-
}]
52
-
}
53
-
```
54
-
55
-
Where :
56
-
-`type` currently only support stream (which means the data will be part of the same dotetch stream); next version should support "url" to fetch remote data.
57
-
-`location` is a string that indicate where (relative to the stream) the package is locate. I.E. :
58
-
-`targetPartition` is the number of the partition the injectable files should go
59
-
60
-
```
61
-
"version": "1.0",
62
-
"baseImage": {
63
-
"type": "stream",
64
-
"location": "/balenaos.img"
65
-
}
66
-
"inject": [{
67
-
"type": "stream",
68
-
"location": "/inject/6",
69
-
"targetPartition": 6
70
-
}]
71
-
```
36
+
## VERSION
37
+
First file pushed on the stream is `VERSION`. It contains a single string in the format `major:minor` (i.e. `1.0`).
38
+
It indicate to consumer what feature will be supported.
72
39
40
+
Minors should be compatible and majors indicates breaking changes.
0 commit comments