@procedures/tailscale 0.28.0 → 0.28.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/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # @procedures/tailscale
2
2
 
3
+ ## 0.28.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 497e32f: New configuration paths for the five breaks of the second code audit (roadmap O55, decision D35). Each old input keeps working, with a deprecation notice.
8
+
9
+ PATCH: new options and exports, and deprecation notices. No input that works today gets an error. Each notice is a `DeprecationWarning` of Node, one time in each process, and it names the new path.
10
+
11
+ - `@procedures/tailscale` adds `createTailscaleModule({ executable })` and `createTailscaleProcedures({ executable })`. The order of the program is the input `executable`, then the option, then `TAILSCALE_EXE`, then the Windows install folder, then `tailscale`. The input `executable` is `@deprecated`, with the notice `PROCEDURES_TAILSCALE_EXECUTABLE_INPUT`.
12
+ - `@procedures/restic` adds the option `executable` of `createResticModule()` and `createResticProcedures()`. The input `executable` of `restic.run` wins over it, as before. The input is `@deprecated`, with the notice `PROCEDURES_RESTIC_EXECUTABLE_INPUT`.
13
+ - `@procedures/mail` exports `MAIL_PASSWORD_ENV`, the pattern of the names of `passwordEnv`: `IMAP_` or `MAIL_` and more. Another name still works, with the notice `PROCEDURES_MAIL_PASSWORD_ENV`.
14
+ - `@procedures/notify` exports `NOTIFY_TOKEN_ENV`, the pattern of the names of `tokenEnv`: `NTFY_` or `NOTIFY_` and more. Another name still works, with the notice `PROCEDURES_NOTIFY_TOKEN_ENV`.
15
+
16
+ The breaks that come next. Each break is its own MINOR, and the group is released after each one.
17
+
18
+ 1. 0.29.0, the host fetch policy: `weather.forecast` and the `mcpHostModules` of `geo` and `ics` refuse a loopback, private or link-local host with `FORBIDDEN`. The option `warnOnRefusal` of `createHostFetch()` goes away.
19
+ - The site, MiniMongo and Graph: no change. They do not call these procedures through a registry of Node.
20
+ - jarvis: no change. `packages/pipeline` calls the function `geocode()` of `@procedures/geo`, not the procedure.
21
+ - Another host with a private server gives `createWeatherModule({ fetch: createHostFetch({ allow: [...] }) })`, or the same for `createGeoModule()` and `createIcsModule()`, before the bundle.
22
+ 2. 0.30.0, `tailscale.run` (#182): the input `executable` gets a validation error.
23
+ - jarvis: `packages/instance/src/remote.ts` sends `executable: bin`. Make the caller from `createTailscaleModule({ executable: bin })` in place of `tailscaleModule`, and remove `executable` from the input. Or set `TAILSCALE_EXE` from `JARVIS_TAILSCALE_BIN`.
24
+ - The site, MiniMongo and Graph: no change. They do not call `tailscale.run`.
25
+ 3. 0.31.0, `restic.run` (#183): the input `executable` gets a validation error.
26
+ - jarvis: no change. It calls `runRestic()` with the result of `findRestic()`, not `restic.run`.
27
+ - The site, MiniMongo and Graph: no change. They do not call `restic.run`.
28
+ - Another host gives the program to `createResticModule({ executable })`, or sets `RESTIC_EXE`.
29
+ 4. 0.32.0, `mail.headers` (#184): a `passwordEnv` without the prefix `IMAP_` or `MAIL_` gets a validation error.
30
+ - The site, MiniMongo, Graph and jarvis: no change. They do not call `mail.headers`.
31
+ - Another host renames the variable, for example `GMAIL_APP_PASSWORD` to `IMAP_GMAIL_PASSWORD`, and gives the new name in `passwordEnv`.
32
+ 5. 0.33.0, `notify.send` (#185): a `tokenEnv` without the prefix `NTFY_` or `NOTIFY_` gets a validation error.
33
+ - The site, MiniMongo, Graph and jarvis: no change. They do not give `tokenEnv`.
34
+ - Another host renames the variable, for example `PHONE_TOKEN` to `NTFY_TOKEN`, and gives the new name in `tokenEnv`.
35
+
36
+ Migration now: a host that gets a notice changes to the new path that the notice names. The notice then stops, and the next break does not change the host.
37
+ - Updated dependencies [345c740]
38
+ - Updated dependencies [984c13b]
39
+ - Updated dependencies [21dc858]
40
+ - @procedures/client@0.28.1
41
+ - @procedures/shell@0.28.1
42
+
3
43
  ## 0.28.0
4
44
 
5
45
  ### Patch Changes
package/README.md CHANGED
@@ -26,4 +26,10 @@ const { json } = await client.exec(["tailscale", "run"], { path: ["status"], jso
26
26
 
27
27
  ## The program
28
28
 
29
- The procedure uses `executable`, then `TAILSCALE_EXE`, then the Windows install folder, then `tailscale` on the `PATH`. The Windows installer does not put tailscale on the `PATH`.
29
+ The program comes from the host. The procedure uses the `executable` option of `createTailscaleModule()`, then `TAILSCALE_EXE`, then the Windows install folder, then `tailscale` on the `PATH`. The Windows installer does not put tailscale on the `PATH`.
30
+
31
+ ```ts
32
+ const registry = createRegistry(createTailscaleModule({ executable: "/opt/tailscale/bin/tailscale" }));
33
+ ```
34
+
35
+ The input `executable` is deprecated. In 0.28 it still names the program, and the process gets one `DeprecationWarning` with the code `PROCEDURES_TAILSCALE_EXECUTABLE_INPUT`. Version 0.30.0 refuses it, because it lets the caller start any program.