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] # pkg/standalone/common.go in dapr/cli: GetDaprRuntimePath() falls back to # $HOME joined with DefaultDaprDirName = ".dapr" (the --runtime-path flag and # DAPR_RUNTIME_PATH override it), GetDaprConfigPath() appends # DefaultConfigFileName = "config.yaml", GetDaprComponentsPath() appends # "components", and DefaultResourcesDirName = "resources" is the newer name # for the same directory. The docs say the sidecar reads # $HOME/.dapr/config.yaml by default: # https://docs.dapr.io/operations/configuration/configuration-overview/ paths = [ "~/.dapr/config.yaml", "~/.dapr/components/", "~/.dapr/resources/", ] # Deliberately not in paths, and named here so nobody adds them: bin/ holds # the daprd, placement and scheduler binaries `dapr init` downloads # (defaultDaprBinDirName), and scheduler/data is the scheduler's local # volume (defaultSchedulerDirName / defaultSchedulerDataDirName). exclude = [ "~/.dapr/bin/", "~/.dapr/scheduler/", ] # No whole-file credential. A component *can* embed one — the default Redis # statestore keeps its password in spec.metadata, which is a list of # {name, value} pairs, and a key_path cannot pick the entry whose name is # redisPassword without also picking redisHost. Rather than mark every # component setting a secret, no rule claims to do it; a consumer scanning # content still catches a filled-in password. 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"]