{
  "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
    },
    "source": [
      {
        "id": "fig",
        "kind": "completion",
        "url": "https://github.com/withfig/autocomplete/blob/master/src/dapr.ts",
        "license": "MIT"
      }
    ],
    "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.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/dapr.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "app_id",
            "label": "App ID",
            "type": "string",
            "option": [
              "--app-id",
              "-a"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "app_port",
            "label": "App port",
            "type": "integer",
            "option": [
              "--app-port",
              "-p"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "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"
            ]
          },
          {
            "id": "dapr_http_port",
            "label": "Dapr HTTP port",
            "type": "integer",
            "option": [
              "--dapr-http-port",
              "-H"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "dapr_grpc_port",
            "label": "Dapr gRPC port",
            "type": "integer",
            "option": [
              "--dapr-grpc-port",
              "-G"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "resources_path",
            "label": "Resources path",
            "type": "path",
            "option": [
              "--resources-path"
            ],
            "multiple": true,
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "sources": [
              "fig"
            ]
          },
          {
            "id": "config",
            "label": "Configuration file",
            "type": "path",
            "option": [
              "--config",
              "-c"
            ],
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "fig"
            ]
          },
          {
            "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"
            ]
          },
          {
            "id": "run_file",
            "label": "Multi-app run file",
            "type": "path",
            "option": [
              "--run-file",
              "-f"
            ],
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "fig"
            ]
          },
          {
            "id": "enable_profiling",
            "label": "Enable profiling",
            "type": "boolean",
            "option": [
              "--enable-profiling"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "app_ssl",
            "label": "App uses HTTPS",
            "type": "boolean",
            "option": [
              "--app-ssl"
            ],
            "sources": [
              "fig"
            ]
          }
        ],
        "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"
            ]
          },
          {
            "id": "multi",
            "label": "Run multi-app file",
            "fields": [
              "run_file"
            ],
            "required": [
              "run_file"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "app_id",
              "app_port",
              "app_protocol",
              "dapr_http_port",
              "resources_path",
              "config",
              "run_file"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "dapr_grpc_port",
              "enable_profiling",
              "app_ssl",
              "log_level"
            ]
          }
        ]
      },
      {
        "path": [
          "init"
        ],
        "label": "Initialize Dapr",
        "description": "Installs the Dapr runtime locally or on Kubernetes.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/dapr.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "slim",
            "label": "Slim install (no Docker containers)",
            "type": "boolean",
            "option": [
              "--slim",
              "-s"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "runtime_version",
            "label": "Runtime version",
            "type": "string",
            "option": [
              "--runtime-version"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "kubernetes",
            "label": "Deploy to Kubernetes",
            "type": "boolean",
            "option": [
              "--kubernetes",
              "-k"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "namespace",
            "label": "Kubernetes namespace",
            "type": "string",
            "option": [
              "--namespace",
              "-n"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "dev",
            "label": "Dev mode (Redis, Zipkin in cluster)",
            "type": "boolean",
            "option": [
              "--dev"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "enable_ha",
            "label": "High availability",
            "type": "boolean",
            "option": [
              "--enable-ha"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "enable_mtls",
            "label": "Enable mTLS",
            "type": "boolean",
            "option": [
              "--enable-mtls"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "container_runtime",
            "label": "Container runtime",
            "type": "string",
            "option": [
              "--container-runtime"
            ],
            "suggestions": [
              {
                "value": "docker",
                "label": "docker"
              },
              {
                "value": "podman",
                "label": "podman"
              }
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "from_dir",
            "label": "Artifacts directory",
            "type": "path",
            "option": [
              "--from-dir"
            ],
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "local",
            "label": "Local install",
            "fields": [
              "runtime_version",
              "container_runtime"
            ],
            "required": []
          },
          {
            "id": "slim",
            "label": "Slim local install",
            "set": {
              "slim": [
                true
              ]
            },
            "fields": [
              "slim",
              "runtime_version"
            ],
            "required": []
          },
          {
            "id": "k8s",
            "label": "Kubernetes install",
            "set": {
              "kubernetes": [
                true
              ]
            },
            "fields": [
              "kubernetes",
              "namespace",
              "dev",
              "enable_ha",
              "enable_mtls",
              "runtime_version"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "slim",
              "runtime_version",
              "kubernetes",
              "namespace",
              "container_runtime"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "enable_ha",
              "enable_mtls",
              "from_dir",
              "dev"
            ]
          }
        ]
      },
      {
        "path": [
          "invoke"
        ],
        "label": "Invoke a method",
        "description": "Calls a method on a running Dapr app (self-hosted).",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/dapr.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "app_id",
            "label": "App ID",
            "type": "string",
            "option": [
              "--app-id",
              "-a"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "method",
            "label": "Method",
            "type": "string",
            "option": [
              "--method",
              "-m"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "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"
            ]
          },
          {
            "id": "data",
            "label": "JSON data",
            "type": "string",
            "option": [
              "--data",
              "-d"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "data_file",
            "label": "JSON data file",
            "type": "path",
            "option": [
              "--data-file",
              "-f"
            ],
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "get",
            "label": "GET a method",
            "set": {
              "verb": [
                "GET"
              ]
            },
            "fields": [
              "app_id",
              "method",
              "verb"
            ],
            "required": [
              "app_id",
              "method"
            ]
          },
          {
            "id": "post",
            "label": "POST JSON",
            "set": {
              "verb": [
                "POST"
              ]
            },
            "fields": [
              "app_id",
              "method",
              "verb",
              "data",
              "data_file"
            ],
            "required": [
              "app_id",
              "method"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "app_id",
              "method",
              "verb",
              "data",
              "data_file"
            ]
          }
        ]
      },
      {
        "path": [
          "publish"
        ],
        "label": "Publish an event",
        "description": "Publishes a pub/sub event from a self-hosted app.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/dapr.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "publish_app_id",
            "label": "Publishing app ID",
            "type": "string",
            "option": [
              "--publish-app-id",
              "-i"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "pubsub",
            "label": "Pub/sub component",
            "type": "string",
            "option": [
              "--pubsub",
              "-p"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "topic",
            "label": "Topic",
            "type": "string",
            "option": [
              "--topic",
              "-t"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "data",
            "label": "JSON data",
            "type": "string",
            "option": [
              "--data",
              "-d"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "data_file",
            "label": "JSON data file",
            "type": "path",
            "option": [
              "--data-file",
              "-f"
            ],
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "fig"
            ]
          },
          {
            "id": "metadata",
            "label": "JSON metadata",
            "type": "string",
            "option": [
              "--metadata",
              "-m"
            ],
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "publish",
            "label": "Publish JSON event",
            "fields": [
              "publish_app_id",
              "pubsub",
              "topic",
              "data",
              "metadata"
            ],
            "required": [
              "publish_app_id",
              "pubsub",
              "topic"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "publish_app_id",
              "pubsub",
              "topic",
              "data"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "metadata",
              "data_file"
            ]
          }
        ]
      }
    ]
  }
}
