anbaric-hosting 1.6.0 → 1.7.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.
Files changed (2) hide show
  1. package/README.md +27 -0
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -23,6 +23,7 @@ The platform is configured entirely through environment variables:
23
23
  | `ANBARIC_TENANT` | tenant this platform serves (returned to the CLI on login) | — |
24
24
  | `ANBARIC_BUILD_LAYER` | `docker` (needs a docker socket) or `fargate` (AWS); unset disables app deployment | unset |
25
25
  | `ANBARIC_AUTHENTICATOR` | `stub`, or the module name of an auth plugin exposing `createAuthenticator()` | unset (auth disabled) |
26
+ | `ANBARIC_PLUGINS` | comma-separated plugin module names providing the dashboard's pages and widgets | `anbaric-plugins/state-machines` |
26
27
  | `ANBARIC_STUB_USER` | the fixed identity the stub authenticator signs everyone in as | `local-admin` |
27
28
  | `ANBARIC_CLI_KEY_LOOKUP_URL` / `_SECRET` | verify CLI keys against a central key registry instead of the local database (hosted-platform feature; self-hosts leave unset) | unset (keys local) |
28
29
  | `ANBARIC_APPS_DIR` | working directory for app bundles | `/tmp/anbaric-apps` |
@@ -44,6 +45,32 @@ task, or a security-group rule).
44
45
 
45
46
  Health check: `GET /ping` → `{"status":"ok"}` on both ports.
46
47
 
48
+ ## The dashboard and plugins
49
+
50
+ The root dashboard is assembled from **plugins** — the platform loads the
51
+ modules named in `ANBARIC_PLUGINS`, and every page (including the homepage)
52
+ comes from one of them. Left unset, the platform loads
53
+ `anbaric-plugins/state-machines`, which registers the `/` Dashboard with the
54
+ state-machines and jobs overview.
55
+
56
+ A plugin is a small source package exporting a `plugin` object with `pages`
57
+ (nav-visible containers, keyed by path — plugin paths win over deployed apps
58
+ of the same name) and `widgets` (React components rendered into a page, each
59
+ optionally backed by a server-side `data` function). To add one, install it
60
+ and name it alongside the default:
61
+
62
+ ```bash
63
+ npm install some-plugin-package
64
+ ANBARIC_PLUGINS=some-plugin-package,anbaric-plugins/state-machines anbaric-hosting
65
+ ```
66
+
67
+ The platform compiles each plugin's components at boot and serves them to the
68
+ dashboard, which renders them with the platform's own React and design
69
+ system — the dashboard build itself is plugin-agnostic, so adding a plugin is
70
+ configuration only, never a rebuild. See the
71
+ [`anbaric-plugins`](https://npmjs.com/package/anbaric-plugins) README for the
72
+ full contract and how to write one.
73
+
47
74
  ## The self-host flow
48
75
 
49
76
  Self-hosting is deliberately simple — one platform, everything local, no
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anbaric-hosting",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "Run an Anbaric platform: the hosted API, dispatcher, build layers and app proxy, bootable with the anbaric-hosting command",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -14,7 +14,7 @@
14
14
  "bin"
15
15
  ],
16
16
  "dependencies": {
17
- "anbaric-cloud-hosting": "^1.6.0",
17
+ "anbaric-cloud-hosting": "^1.7.0",
18
18
  "tsx": "^4.20.0"
19
19
  }
20
20
  }