Giter Club home page Giter Club logo

dapr-shared's Introduction

Dapr Shared

Dapr Shared allows you to create Dapr Applications using the daprd Sidecar as a Kubernetes Daemonset or Deployment. This enables other use cases where Sidecars are not the best option.

By running daprd as a Kubernetes DaemonSet resource, the daprd container will be running in each Kubernetes Node, reducing the network hops between the applications and Dapr. You can also choose to run

For each Dapr Application, you need to deploy this chart using different shared.appIds.

Getting Started

Before installing Dapr Shared, please ensure you have Dapr installed in your cluster.

If you want to get started with Dapr Shared, you can easily create a new Dapr Shared instance by installing the official Helm Chart:

helm install my-dapr-shared oci://registry-1.docker.io/daprio/dapr-shared-chart --set shared.appId=<DAPR_APP_ID> --set shared.remoteURL=<REMOTE_URL> --set shared.remotePort=<REMOTE_PORT>

If you want to look at a step-by-step tutorial using some applications and interacting with Dapr Components, check out the step-by-step tutorial using Kubernetes KinD here.

From Source

To deploy this chart from the source you can run from inside the chart/dapr-shared directory:

helm install my-shared . --set shared.appId=<DAPR_APP_ID> --set shared.remoteURL=<REMOTE_URL>


Where <DAPR_APP_ID> is the Dapr App Id that you can use in your components (for example, for scopes) and <REMOTE_URL> is a reachable URL where dapr-shared will forward notifications received by the Dapr sidecar.

Future versions include forwarding notifications to multiple remote URLs.

Customize Dapr Shared

Customize Dapr Shared using custom Helm values

Key Type Default Description
shared.controlPlane.namespace string "dapr-system" Namespace where Dapr Control Plane is.
shared.daprd.apiLogging.enabled bool true Enables API logging for the daprd.
shared.daprd.app.protocol string "http" Dapr which protocol your application is using. Valid options are http`` and grpc``.
shared.daprd.grpcPort int 50001 gRPC port for the Dapr Internal API to listen on.
shared.daprd.httpPort int 3500 The HTTP port for the Dapr API.
shared.daprd.image.name string "daprd" Daprd image.
shared.daprd.image.pullPolicy string "Always" Daprd image pull policy.
shared.daprd.image.registry string "docker.io/daprio" Daprd image registry.
shared.daprd.image.tag string "1.11.0" Daprd image version.
shared.daprd.internalGrpcPort int 50002 gRPC port for the Dapr Internal API to listen on.
shared.daprd.listenAddresses string "0.0.0.0" Comma separated list of IP addresses that daprd will listen to. Defaults to all in standalone mode. Defaults to [::1],127.0.0.1 in Kubernetes. To listen to all IPv4 addresses, use 0.0.0.0. To listen to all IPv6 addresses, use [::].
shared.daprd.metrics.enabled bool true Enable prometheus metric.
shared.daprd.metrics.port int 9090 Sets the port for the sidecar metrics server.
shared.daprd.mtls.enabled bool false Enables automatic mTLS for daprd to daprd communication channels.
shared.daprd.publicPort int 3501 The HTTP public port for the Dapr API.
shared.daprd.token string "" Dapr API token to use for token based API authentication.
shared.deployment.replicas int 1 The quantity of replicas. This property is set only when shared.strategy is equal to deployment
shared.initContainer.image.name string "dapr-shared" The dapr-shared image name.
shared.initContainer.image.pullPolicy string "Always" The init container pull policy.
shared.initContainer.image.registry string "docker.io/matheuscruzdev" The dapr-shared image registry.
shared.initContainer.image.tag string "latest" The dapr-shared-init image tag.
shared.initContainer.token string "" The dapr API token.
shared.log.json bool true The daprd log format.
shared.log.level string "info" The daprd log level.
shared.remotePort int 0 The remote port.
shared.service.type string "ClusterIP" The daprd service type.
shared.serviceAccount.annotations object {}
shared.serviceAccount.create bool true Allows the option to create or not the service account.
shared.serviceAccount.name string "" Kubernetes Service Account name.
shared.strategy string "daemonset" The default strategy to run dapr in shared mode. Possible values daemonset, deployment.

Autogenerated from chart metadata using helm-docs v1.11.0

Building from source

I've used the CNCF ko project to build multiplatform images for the proxy. You can run the following command to build containers for the dapr-shared proxy:

ko build --platform=linux/amd64,linux/arm64

dapr-shared's People

Contributors

asarenkansah avatar mcruzdev avatar salaboy avatar kaiwalter avatar yaron2 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.