id = "dapr"
name = "Dapr"
homepage = "https://dapr.io"
description = "A portable, event-driven runtime for building distributed applications across cloud and edge."
icon = "SimpleIcons:dapr"
executables = ["dapr"]
[dotfiles]
paths = [
"~/.dapr/config.yaml",
"~/.dapr/components/",
"~/.dapr/resources/",
]
exclude = [
"~/.dapr/bin/",
"~/.dapr/scheduler/",
]
secret = []
[commands]
format = 1
label = "Run Dapr"
description = "Self-hosted Dapr workflows: run an app with a sidecar, initialize the runtime, invoke a method or publish an event. Kubernetes options and the app command after -- are left out."
quality = "ai-draft"
base = "fig:dapr"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/dapr.ts"
license = "MIT"
[[commands.subcommand]]
path = ["run"]
label = "Run app with Dapr sidecar"
description = "Starts the Dapr sidecar for an application; type the app command after -- in the prompt."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/dapr.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "app_id"
label = "App ID"
type = "string"
option = ["--app-id", "-a"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "app_port"
label = "App port"
type = "integer"
option = ["--app-port", "-p"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "app_protocol"
label = "App protocol"
type = "string"
option = ["--app-protocol", "-P"]
suggestions = [{ value = "http", label = "http" }, { value = "https", label = "https" }, { value = "h2c", label = "h2c" }, { value = "grpc", label = "grpc" }, { value = "grpcs", label = "grpcs" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "dapr_http_port"
label = "Dapr HTTP port"
type = "integer"
option = ["--dapr-http-port", "-H"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "dapr_grpc_port"
label = "Dapr gRPC port"
type = "integer"
option = ["--dapr-grpc-port", "-G"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "resources_path"
label = "Resources path"
type = "path"
option = ["--resources-path"]
multiple = true
path = { kind = "directory", role = "input" }
sources = ["fig"]
[[commands.subcommand.field]]
id = "config"
label = "Configuration file"
type = "path"
option = ["--config", "-c"]
path = { kind = "file", role = "input" }
sources = ["fig"]
[[commands.subcommand.field]]
id = "log_level"
label = "Log level"
type = "string"
option = ["--log-level"]
suggestions = [{ value = "debug", label = "debug" }, { value = "info", label = "info" }, { value = "warn", label = "warn" }, { value = "error", label = "error" }, { value = "fatal", label = "fatal" }, { value = "panic", label = "panic" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "run_file"
label = "Multi-app run file"
type = "path"
option = ["--run-file", "-f"]
path = { kind = "file", role = "input" }
sources = ["fig"]
[[commands.subcommand.field]]
id = "enable_profiling"
label = "Enable profiling"
type = "boolean"
option = ["--enable-profiling"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "app_ssl"
label = "App uses HTTPS"
type = "boolean"
option = ["--app-ssl"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "single"
label = "Run one app"
fields = ["app_id", "app_port", "app_protocol", "dapr_http_port", "resources_path", "config", "log_level"]
required = ["app_id"]
[[commands.subcommand.task]]
id = "multi"
label = "Run multi-app file"
fields = ["run_file"]
required = ["run_file"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["app_id", "app_port", "app_protocol", "dapr_http_port", "resources_path", "config", "run_file"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["dapr_grpc_port", "enable_profiling", "app_ssl", "log_level"]
[[commands.subcommand]]
path = ["init"]
label = "Initialize Dapr"
description = "Installs the Dapr runtime locally or on Kubernetes."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/dapr.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "slim"
label = "Slim install (no Docker containers)"
type = "boolean"
option = ["--slim", "-s"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "runtime_version"
label = "Runtime version"
type = "string"
option = ["--runtime-version"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "kubernetes"
label = "Deploy to Kubernetes"
type = "boolean"
option = ["--kubernetes", "-k"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "namespace"
label = "Kubernetes namespace"
type = "string"
option = ["--namespace", "-n"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "dev"
label = "Dev mode (Redis, Zipkin in cluster)"
type = "boolean"
option = ["--dev"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "enable_ha"
label = "High availability"
type = "boolean"
option = ["--enable-ha"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "enable_mtls"
label = "Enable mTLS"
type = "boolean"
option = ["--enable-mtls"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "container_runtime"
label = "Container runtime"
type = "string"
option = ["--container-runtime"]
suggestions = [{ value = "docker", label = "docker" }, { value = "podman", label = "podman" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "from_dir"
label = "Artifacts directory"
type = "path"
option = ["--from-dir"]
path = { kind = "directory", role = "input" }
sources = ["fig"]
[[commands.subcommand.task]]
id = "local"
label = "Local install"
fields = ["runtime_version", "container_runtime"]
required = []
[[commands.subcommand.task]]
id = "slim"
label = "Slim local install"
set = { slim = [true] }
fields = ["slim", "runtime_version"]
required = []
[[commands.subcommand.task]]
id = "k8s"
label = "Kubernetes install"
set = { kubernetes = [true] }
fields = ["kubernetes", "namespace", "dev", "enable_ha", "enable_mtls", "runtime_version"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["slim", "runtime_version", "kubernetes", "namespace", "container_runtime"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["enable_ha", "enable_mtls", "from_dir", "dev"]
[[commands.subcommand]]
path = ["invoke"]
label = "Invoke a method"
description = "Calls a method on a running Dapr app (self-hosted)."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/dapr.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "app_id"
label = "App ID"
type = "string"
option = ["--app-id", "-a"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "method"
label = "Method"
type = "string"
option = ["--method", "-m"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "verb"
label = "HTTP verb"
type = "string"
option = ["--verb", "-v"]
suggestions = [{ value = "GET", label = "GET" }, { value = "POST", label = "POST" }, { value = "PUT", label = "PUT" }, { value = "DELETE", label = "DELETE" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "data"
label = "JSON data"
type = "string"
option = ["--data", "-d"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "data_file"
label = "JSON data file"
type = "path"
option = ["--data-file", "-f"]
path = { kind = "file", role = "input" }
sources = ["fig"]
[[commands.subcommand.task]]
id = "get"
label = "GET a method"
set = { verb = ["GET"] }
fields = ["app_id", "method", "verb"]
required = ["app_id", "method"]
[[commands.subcommand.task]]
id = "post"
label = "POST JSON"
set = { verb = ["POST"] }
fields = ["app_id", "method", "verb", "data", "data_file"]
required = ["app_id", "method"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["app_id", "method", "verb", "data", "data_file"]
[[commands.subcommand]]
path = ["publish"]
label = "Publish an event"
description = "Publishes a pub/sub event from a self-hosted app."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/dapr.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "publish_app_id"
label = "Publishing app ID"
type = "string"
option = ["--publish-app-id", "-i"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "pubsub"
label = "Pub/sub component"
type = "string"
option = ["--pubsub", "-p"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "topic"
label = "Topic"
type = "string"
option = ["--topic", "-t"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "data"
label = "JSON data"
type = "string"
option = ["--data", "-d"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "data_file"
label = "JSON data file"
type = "path"
option = ["--data-file", "-f"]
path = { kind = "file", role = "input" }
sources = ["fig"]
[[commands.subcommand.field]]
id = "metadata"
label = "JSON metadata"
type = "string"
option = ["--metadata", "-m"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "publish"
label = "Publish JSON event"
fields = ["publish_app_id", "pubsub", "topic", "data", "metadata"]
required = ["publish_app_id", "pubsub", "topic"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["publish_app_id", "pubsub", "topic", "data"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["metadata", "data_file"]