@corrreia/hl 0.1.1 → 0.2.0
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 +15 -13
- package/dist/catalogs-BMSq1MuA.mjs +1 -0
- package/dist/catalogs-Di2RbeRG.mjs +1 -0
- package/dist/index.mjs +9 -9
- package/package.json +5 -4
- package/LICENSE-APACHE +0 -202
- package/dist/catalogs-kJMRy_jv.mjs +0 -1
- /package/{LICENSE-MIT → LICENSE} +0 -0
package/README.md
CHANGED
|
@@ -3,14 +3,15 @@
|
|
|
3
3
|
One CLI for the self-hosted services in your homelab. Each service's commands are generated from its OpenAPI spec
|
|
4
4
|
with [Forge](https://github.com/cloudflare/forge), the way Cloudflare builds [`cf`](https://github.com/cloudflare/cf).
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
22 services, each with every API version its project has published (`hl services` lists them):
|
|
7
7
|
|
|
8
|
-
| Area
|
|
9
|
-
|
|
|
10
|
-
|
|
|
11
|
-
|
|
|
12
|
-
|
|
|
13
|
-
|
|
|
8
|
+
| Area | Services |
|
|
9
|
+
| -------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
10
|
+
| Infrastructure | Proxmox VE `proxmox`, TrueNAS `truenas`, Portainer CE `portainer`, Home Assistant `home-assistant` |
|
|
11
|
+
| Network | UniFi Network `unifi`, AdGuard Home `adguard` |
|
|
12
|
+
| Media | Jellyfin `jellyfin`, Immich `immich`, Audiobookshelf `audiobookshelf`, Kavita `kavita`, Komga `komga` |
|
|
13
|
+
| *arr | Sonarr `sonarr`, Radarr `radarr`, Lidarr `lidarr`, Prowlarr `prowlarr`, Seerr/Jellyseerr `seerr`, Overseerr `overseerr` |
|
|
14
|
+
| Other | Frigate `frigate`, Grafana `grafana`, authentik `authentik`, Karakeep `karakeep`, Speedtest Tracker `speedtest-tracker` |
|
|
14
15
|
|
|
15
16
|
What `--api-key` takes depends on the service: an API key for most, `user:password` for AdGuard Home, a service account
|
|
16
17
|
token for Grafana, an API token for authentik. Frigate's unauthenticated port needs none. Karakeep and Speedtest Tracker
|
|
@@ -101,13 +102,14 @@ with each distinct command once.
|
|
|
101
102
|
Some projects don't publish an OpenAPI document, so `hl` makes one; the code is in this repository and runs as part of
|
|
102
103
|
`pnpm fetch-specs`:
|
|
103
104
|
|
|
104
|
-
| Service
|
|
105
|
-
|
|
|
106
|
-
| Proxmox VE
|
|
107
|
-
|
|
|
108
|
-
|
|
|
105
|
+
| Service | What's published | How it becomes OpenAPI 3 |
|
|
106
|
+
| ---------------- | ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
107
|
+
| Proxmox VE | The API viewer's schema (`apidoc.js`), in each release's `pve-docs` Debian package | `generator/debian.ts` downloads it from Proxmox's repository, verified against its signed `InRelease` (keys over HTTPS) and the package hashes; `generator/convert/proxmox.ts` converts it |
|
|
108
|
+
| TrueNAS (25.10+) | A JSON-RPC 2.0 API over WebSocket, documented at api.truenas.com from its middleware's own dump | `generator/truenas-dump.ts` runs `middlewared --dump-api` in TrueNAS's middleware image (Docker, offline, source read-only); `generator/convert/truenas.ts` makes each method a `POST /<method>` with its parameters as body fields; `src/jsonrpc.ts` calls them over WebSocket, on the exact API version of the commands (the `.0` of each line: 25.10, 27.0, 28.0) |
|
|
109
|
+
| Home Assistant | REST API documentation only | `src/services/home-assistant/openapi.ts`, written by hand from the docs |
|
|
110
|
+
| Portainer CE | Split multi-file specs (newer) and Swagger 2 (older) | `generator/load-spec.ts` bundles the files' `$ref`s and converts Swagger 2; any other service's Swagger 2 or split spec loads the same way |
|
|
109
111
|
|
|
110
|
-
Fetching Proxmox needs `gpgv`, `ar` and `tar
|
|
112
|
+
Fetching Proxmox needs `gpgv`, `ar` and `tar`; fetching TrueNAS needs Docker (its image is 13 GB).
|
|
111
113
|
|
|
112
114
|
### New versions
|
|
113
115
|
|