@restatedev/restate 0.7.0 β†’ 0.7.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.
Files changed (2) hide show
  1. package/README.md +68 -38
  2. package/package.json +5 -5
package/README.md CHANGED
@@ -5,24 +5,27 @@
5
5
 
6
6
  # Restate - Building resilient applications made easy!
7
7
 
8
- [Restate](https://restate.dev) is a system for easily building resilient applications using distributed durable async/await.
9
- This repository contains the Restate server and CLI.
8
+ <p align="center">
9
+ <picture>
10
+ <source media="(prefers-color-scheme: dark)" srcset="https://restate.dev/poster_intro_dark.svg">
11
+ <source media="(prefers-color-scheme: light)" srcset="https://restate.dev/poster_intro_2.svg">
12
+ <img alt="Restate overview" src="https://restate.dev/poster_intro_2.svg" width="500">
13
+ </picture>
14
+ </p>
10
15
 
11
- The basic primitives Restate offers to simplify application development are the following:
16
+ Easily build workflows, event-driven applications, and distributed services in a fault-tolerant manner with durable async/await.
12
17
 
13
- * **reliable execution**: user code will always run to completion. Intermediate failures result in re-tries that use the durable execution mechanism to recover partial progress and not duplicate already executed steps.
14
- * **suspending user code**: long-running user code suspends when awaiting on a promise and resume when that promise is resolved.
15
- * **reliable communication**: user code communicates with exactly-once semantics. Restate reliably delivers messages and anchors both sender and receiver in the durable execution to ensure no losses or duplicates can happen.
16
- * **durable timers**: user code can sleep (and suspend) or schedule calls for later.
17
- * **isolation**: user code can be keyed, which makes Restate scheduled them to obey single-writer-per-key semantics.
18
- * **consistent state**: keyed user code can attach key/value state, which is eagerly pushed into handlers during invocation, and written back upon completion. This is particularly efficient for FaaS deployments (stateful serverless, yay!).
19
- * **observability & introspection**: Restate automatically generates Open Telemetry traces for the interactions between handlers and gives you a SQL shell to query the distributed state of the application.
18
+ [Restate](https://restate.dev) is great at building:
20
19
 
21
- πŸ“– Check out our [docs](https://docs.restate.dev) to get quickly started!
20
+ * [Lambda Workflows as Code](https://restate.dev/blog/we-replaced-400-lines-of-stepfunctions-asl-with-40-lines-of-typescript-by-making-lambdas-suspendable/)
21
+ * [Transactional RPC Handlers](https://github.com/restatedev/examples/tree/main/typescript/ecommerce-store)
22
+ * [Event Processing with Kafka](https://restate.dev/blog/restate--kafka-event-driven-apps-where-event-driven-is-an-implementation-detail/)
23
+ * [Much more](https://github.com/restatedev/examples)
22
24
 
23
- πŸ—£οΈ Join our [discord channel](https://discord.gg/skW3AZ6uGd) to talk to the community.
25
+ ## Get started with Restate
24
26
 
25
- 🏠 Visit our [GitHub org](https://github.com/restatedev) for more details.
27
+ 1. 🏎 [Check out our quickstart](https://docs.restate.dev/quickstart) to get up and running with Restate in 2 minutes!
28
+ 1. πŸ’‘ [The tour of Restate](https://docs.restate.dev/tour) walks you through all features of Restate.
26
29
 
27
30
  ## SDKs
28
31
 
@@ -31,48 +34,75 @@ Restate supports the following SDKs:
31
34
  * [Typescript](https://github.com/restatedev/sdk-typescript)
32
35
  * [Java and Kotlin](https://github.com/restatedev/sdk-java)
33
36
 
34
- ## Building Restate
37
+ ## Install
35
38
 
36
- In order to build Restate locally [follow the build instructions](https://github.com/restatedev/restate/blob/main/docs/dev/local-development.md#building-restate).
39
+ We offer pre-built binaries of the CLI and the server for MacOS and Linux.
37
40
 
38
- ## Running Restate
41
+ ### Install the server
39
42
 
40
- You can start the runtime via:
43
+ Install via Homebrew:
44
+ ```bash
45
+ brew install restatedev/tap/restate-server
46
+ ```
41
47
 
42
- ```shell
43
- just run --bin restate-server --release
48
+ Run via npx:
49
+ ```bash
50
+ npx @restatedev/restate-server
44
51
  ```
45
52
 
46
- or the latest release via docker:
53
+ Run via docker:
54
+ ```bash
55
+ docker run --rm -it --network=host docker.io/restatedev/restate:latest
56
+ ```
47
57
 
48
- ```shell
49
- docker run --name restate --rm --network=host docker.io/restatedev/restate
58
+ ### Install the CLI
59
+
60
+ Install via Homebrew:
61
+ ```bash
62
+ brew install restatedev/tap/restate
50
63
  ```
51
64
 
52
- In order to change the log level, configure the [`RUST_LOG` env variable](https://rust-lang-nursery.github.io/rust-cookbook/development_tools/debugging/config_log.html#enable-log-levels-per-module) respectively.
53
- For example, to enable debug mode for Restate crates:
65
+ Install via npm:
66
+ ```bash
67
+ npm install --global @restatedev/restate
68
+ ```
54
69
 
55
- ```shell
56
- RUST_LOG=info,restate=debug just run --bin restate-server --release
70
+ Run via npx:
71
+ ```bash
72
+ npx @restatedev/restate
57
73
  ```
58
74
 
59
- ### Registering Restate services
75
+ You can also download the binaries from the [release page](https://github.com/restatedev/restate/releases) or our [download page](https://restate.dev/get-restate/).
60
76
 
61
- After the runtime is running on `localhost:9070`, you can register a service running on `localhost:9080` via `curl`:
77
+ ## Community
62
78
 
63
- ```shell
64
- curl -X POST localhost:9070/deployments -H 'content-type: application/json' -d '{"uri": "http://localhost:9080"}'
65
- ```
79
+ * πŸ€—οΈ [Join our online community](https://discord.gg/skW3AZ6uGd) for help, sharing feedback and talking to the community.
80
+ * πŸ“– [Check out our documentation](https://docs.restate.dev) to get quickly started!
81
+ * πŸ“£ [Follow us on Twitter](https://twitter.com/restatedev) for staying up to date.
82
+ * πŸ™‹ [Create a GitHub issue](https://github.com/restatedev/restate/issues) for requesting a new feature or reporting a problem.
83
+ * 🏠 [Visit our GitHub org](https://github.com/restatedev) for exploring other repositories.
66
84
 
67
- For more information check [how to register services](https://docs.restate.dev/services/registration).
85
+ ## Core primitives
68
86
 
69
- ### Invoking a Restate service
87
+ The basic primitives Restate offers to simplify application development are the following:
70
88
 
71
- After registering a service you can invoke a service via via HTTP/JSON:
89
+ * **Reliable Execution**: user code will always run to completion. Intermediate failures result in re-tries that use the durable execution mechanism to recover partial progress and not duplicate already executed steps.
90
+ * **Suspending User Code**: long-running user code suspends when awaiting on a promise and resume when that promise is resolved.
91
+ * **Reliable Communication**: user code communicates with exactly-once semantics. Restate reliably delivers messages and anchors both sender and receiver in the durable execution to ensure no losses or duplicates can happen.
92
+ * **Durable Timers**: user code can sleep (and suspend) or schedule calls for later.
93
+ * **Isolation**: user code can be keyed, which makes Restate scheduled them to obey single-writer-per-key semantics.
94
+ * **Consistent State**: keyed user code can attach key/value state, which is eagerly pushed into handlers during invocation, and written back upon completion. This is particularly efficient for FaaS deployments (stateful serverless, yay!).
95
+ * **Observability & Introspection**: Restate automatically generates Open Telemetry traces for the interactions between handlers and gives you a SQL shell to query the distributed state of the application.
72
96
 
73
- ```shell
74
- curl -X POST localhost:8080/counter.Counter/GetAndAdd -H 'content-type: application/json' -d '{"counter_name": "foobar", "value": 10 }'
75
- ```
97
+ ## Contributing
98
+
99
+ We’re excited if you join the Restate community and start contributing!
100
+ Whether it is feature requests, bug reports, ideas & feedback or PRs, we appreciate any and all contributions.
101
+ We know that your time is precious and, therefore, deeply value any effort to contribute!
76
102
 
77
- For more information check [how to invoke services](https://docs.restate.dev/services/invocation).
103
+ Check out our [development guidelines](/docs/dev/development-guidelines.md) and [tips for local development](/docs/dev/local-development.md) to get started.
104
+
105
+ ### Building Restate locally
106
+
107
+ In order to build Restate locally [follow the build instructions](https://github.com/restatedev/restate/blob/main/docs/dev/local-development.md#building-restate).
78
108
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@restatedev/restate",
3
3
  "description": "The Restate CLI",
4
- "version": "0.7.0",
4
+ "version": "0.7.1",
5
5
  "bin": "lib/index.js",
6
6
  "repository": {
7
7
  "type": "git",
@@ -29,9 +29,9 @@
29
29
  "typescript": "^4.9.4"
30
30
  },
31
31
  "optionalDependencies": {
32
- "@restatedev/restate-linux-x64": "0.7.0",
33
- "@restatedev/restate-linux-arm64": "0.7.0",
34
- "@restatedev/restate-darwin-x64": "0.7.0",
35
- "@restatedev/restate-darwin-arm64": "0.7.0"
32
+ "@restatedev/restate-linux-x64": "0.7.1",
33
+ "@restatedev/restate-linux-arm64": "0.7.1",
34
+ "@restatedev/restate-darwin-x64": "0.7.1",
35
+ "@restatedev/restate-darwin-arm64": "0.7.1"
36
36
  }
37
37
  }