Dapr SDK for Rust - Alpha
Go to file
mikeee a1a55bb32a
add: LICENSE symlink
Signed-off-by: mikeee <hey@mike.ee>
2024-03-20 11:32:54 +00:00
.github add: LICENSE symlink 2024-03-20 11:32:54 +00:00
dapr/proto Updates protos from release-1.13.0 (#120) 2024-02-16 07:42:38 -08:00
examples feat: implement bulksecret retrieval and example 2024-03-19 18:25:22 +00:00
macros Adds description and license to Cargo.toml (#137) 2024-03-06 07:45:37 -08:00
src feat: implement bulksecret retrieval and example 2024-03-19 18:25:22 +00:00
.gitignore pubsub example validation 2024-02-19 21:26:00 +00:00
CODEOWNERS implement codeowners (#130) 2024-02-28 07:01:55 -08:00
CONTRIBUTING.md Merge branch 'main' into dapr-bot 2024-03-20 11:21:35 +00:00
Cargo.toml feat: implement bulksecret retrieval and example 2024-03-19 18:25:22 +00:00
LICENSE update license (#66) 2022-01-19 13:30:31 -08:00
README.md docs: add protoc to prereqs 2024-02-28 23:37:53 -06:00
build.rs Invoke examples (#85) 2023-02-03 17:45:49 -08:00
rustfmt.toml Invoke examples (#85) 2023-02-03 17:45:49 -08:00
update-protos.sh Set `update-protos.sh` hashbang to `#!/usr/bin/env bash` (#95) 2023-05-31 10:15:25 -05:00

README.md

Dapr SDK for Rust

Crates.io Build Status License: Apache 2.0 FOSSA Status

⚠ Work in Progress ⚠

Dapr is a portable, event-driven, serverless runtime for building distributed applications across cloud and edge.

Prerequisites

Ensure you have Rust version 1.40 or higher installed. If not, install Rust here.

You will also need to install protoc.

How to use

Add the following to your Cargo.toml file:

[dependencies]
dapr = "0.13.0"

Here's a basic example to create a client:

use dapr;

async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Get the Dapr port and create a connection
    let port: u16 = std::env::var("DAPR_GRPC_PORT")?.parse()?;
    let addr = format!("https://127.0.0.1:{}", port);

    // Create the client
    let mut client = dapr::Client::<dapr::client::TonicClient>::connect(addr).await?;

Explore more examples

Browse through more examples to understand the SDK better: View examples

Building

To build the SDK run:

cargo build

Note: The protobuf client generation is built into cargo build process so updating the proto files under dapr/ is enough to update the protobuf client.

Updating .proto files from upstream Dapr

To fetch the latest .proto files from Dapr execute the script update-protos.sh:

./update-protos.sh

By default, the script fetches the latest proto updates from the master branch of the Dapr repository. If you need to choose a specific release or version, use the -v flag:

./update-protos.sh -v v1.12.0