anbaric 1.8.1 → 1.10.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 +29 -20
  2. package/package.json +5 -5
package/README.md CHANGED
@@ -1,17 +1,18 @@
1
1
  # anbaric
2
2
 
3
- Anbaric is a Typescript framework for building stateful applications. An application is
4
- expressed as one or more state machines: long-lived jobs move through named
5
- states, driven by actions and transitions, with their data validated against a
6
- schema and every change recorded in an audit trail. Alongside the state machine
7
- the framework provides schema-validated document storage and secret storage.
8
-
9
- Anbaric also provides a platform-as-a-service to easily deploy stateful apps built on Anbaric. The same application runs unchanged on
10
- a developer's machine, on a server you operate, or on Anbaric Cloud, where a
11
- single CLI command deploys it. Application code depends only on the interfaces
12
- in this package; the framework selects in-memory or platform-backed
13
- implementations from the environment, so no deployment detail appears in the
14
- code.
3
+ Anbaric is a TypeScript framework for building stateful applications. An
4
+ application is expressed as one or more state machines: long-lived jobs move
5
+ through named states, driven by actions and transitions, with their data
6
+ validated against a schema and every change recorded in an audit trail.
7
+ Alongside the state machine the framework provides schema-validated document
8
+ storage and secret storage.
9
+
10
+ Anbaric also provides a platform for deploying the applications built on it. The
11
+ same application runs unchanged on a developer's machine, on a server you
12
+ operate, or on Anbaric Cloud, where a single CLI command deploys it. Application
13
+ code depends only on the interfaces in this package; the framework selects
14
+ in-memory or platform-backed implementations from the environment, so no
15
+ deployment detail appears in the code.
15
16
 
16
17
  This package (`anbaric`) is the umbrella install for writing an application. It
17
18
  re-exports the app-facing surface of the underlying packages.
@@ -105,7 +106,7 @@ factories, so the same application runs in several ways without code changes.
105
106
  in-memory and jobs progress automatically. Running the program with
106
107
  `npx tsx src/main.ts` is a complete local run, suitable for development and
107
108
  testing.
108
- - **Anbaric Cloud.** `anbaric deploy` packages the application (source only, no
109
+ - **Anbaric Cloud.** `anbaric app deploy` packages the application (source only, no
109
110
  `node_modules`) and runs it on the hosted platform. The platform installs the
110
111
  application's own dependencies as it builds the image, so any npm package the
111
112
  application imports works when deployed. The platform injects the configuration
@@ -168,15 +169,23 @@ principal commands are:
168
169
  | Command | Purpose |
169
170
  | --- | --- |
170
171
  | `anbaric login` / `anbaric logout` | authorize this terminal against a platform, or revoke it |
171
- | `anbaric configure [dir]` | set an application's name and internal port |
172
- | `anbaric deploy [dir]` | deploy an application and wait until it is live |
173
- | `anbaric update [dir]` | deploy over a running application without prompting |
174
172
  | `anbaric apps` | list deployed applications |
173
+ | `anbaric app configure` | set an application's name and internal port |
174
+ | `anbaric app deploy` | deploy an application and wait until it is live |
175
+ | `anbaric app update` | deploy over a running application without prompting |
176
+ | `anbaric app status <name>` | show an application's deploy state and whether it is up |
177
+ | `anbaric app tail <name>` | stream an application's runtime logs |
178
+ | `anbaric app tear-down <name>` | stop and remove a deployed application |
175
179
  | `anbaric state-machines` | list registered state machines |
176
- | `anbaric job list [state-machine-id]` | list jobs |
177
- | `anbaric job watch <job-id>` | follow a job's state as it changes |
178
- | `anbaric job set-state <job-id> <state>` | move a job to a state and re-queue it |
179
- | `anbaric job update <job-id> <key=value ...>` | change job properties and re-queue |
180
+ | `anbaric jobs create <sm-id> <start-state> [k=v ...]` | create a job and queue it for processing |
181
+ | `anbaric jobs list [state-machine-id]` | list jobs |
182
+ | `anbaric jobs watch <job-id>` | follow a job's state as it changes |
183
+ | `anbaric jobs set-state <job-id> <state>` | move a job to a state and re-queue it |
184
+ | `anbaric jobs update <job-id> <key=value ...>` | change job properties and re-queue |
185
+
186
+ The `app configure`/`deploy`/`update` commands act on the application for the
187
+ current project, located by walking up to the nearest `package.json`, so they
188
+ run from anywhere inside it.
180
189
 
181
190
  Every command accepts flags (such as `--environment`, `--tenant`, `--name`,
182
191
  `--port`, `--yes`) that supply the answers a prompt would otherwise ask for, so
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anbaric",
3
- "version": "1.8.1",
3
+ "version": "1.10.0",
4
4
  "description": "Everything needed to write an Anbaric app: state machines, jobs, document and secret stores, local in-memory implementations and the Anbaric Cloud clients",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -10,9 +10,9 @@
10
10
  "src"
11
11
  ],
12
12
  "dependencies": {
13
- "anbaric-impl-cloud": "^1.8.1",
14
- "anbaric-data-store": "^1.8.1",
15
- "anbaric-state-machine": "^1.8.1",
16
- "anbaric-tsapi": "^1.8.1"
13
+ "anbaric-impl-cloud": "^1.10.0",
14
+ "anbaric-data-store": "^1.10.0",
15
+ "anbaric-state-machine": "^1.10.0",
16
+ "anbaric-tsapi": "^1.10.0"
17
17
  }
18
18
  }