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.
- package/README.md +29 -20
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
# anbaric
|
|
2
2
|
|
|
3
|
-
Anbaric is a
|
|
4
|
-
expressed as one or more state machines: long-lived jobs move
|
|
5
|
-
states, driven by actions and transitions, with their data
|
|
6
|
-
schema and every change recorded in an audit trail.
|
|
7
|
-
the framework provides schema-validated document
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
|
177
|
-
| `anbaric
|
|
178
|
-
| `anbaric
|
|
179
|
-
| `anbaric
|
|
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.
|
|
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.
|
|
14
|
-
"anbaric-data-store": "^1.
|
|
15
|
-
"anbaric-state-machine": "^1.
|
|
16
|
-
"anbaric-tsapi": "^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
|
}
|