The documentation you are viewing is for Dapr v1.12 which is an older version of Dapr. For up-to-date documentation, see the latest version.
HashiCorp Consul
Component format
To setup Hashicorp Consul state store create a component of type state.consul
. See this guide on how to create and apply a state store configuration.
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: <NAME>
spec:
type: state.consul
version: v1
metadata:
- name: datacenter
value: <REPLACE-WITH-DATA-CENTER> # Required. Example: dc1
- name: httpAddr
value: <REPLACE-WITH-CONSUL-HTTP-ADDRESS> # Required. Example: "consul.default.svc.cluster.local:8500"
- name: aclToken
value: <REPLACE-WITH-ACL-TOKEN> # Optional. default: ""
- name: scheme
value: <REPLACE-WITH-SCHEME> # Optional. default: "http"
- name: keyPrefixPath
value: <REPLACE-WITH-TABLE> # Optional. default: ""
Warning
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described here.Spec metadata fields
Field | Required | Details | Example |
---|---|---|---|
datacenter | Y | Datacenter to use | "dc1" |
httpAddr | Y | Address of the Consul server | "consul.default.svc.cluster.local:8500" |
aclToken | N | Per Request ACL Token. Default is "" |
"token" |
scheme | N | Scheme is the URI scheme for the Consul server. Default is "http" |
"http" |
keyPrefixPath | N | Key prefix path in Consul. Default is "" |
"dapr" |
Setup HashiCorp Consul
You can run Consul locally using Docker:
docker run -d --name=dev-consul -e CONSUL_BIND_INTERFACE=eth0 consul
You can then interact with the server using localhost:8500
.
The easiest way to install Consul on Kubernetes is by using the Helm chart:
helm install consul stable/consul
This installs Consul into the default
namespace.
To interact with Consul, find the service with: kubectl get svc consul
.
For example, if installing using the example above, the Consul host address would be:
consul.default.svc.cluster.local:8500
Related links
- Basic schema for a Dapr component
- Read this guide for instructions on configuring state store components
- State management building block
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.