{
  "id": "sonobuoy",
  "name": "Sonobuoy",
  "homepage": "https://sonobuoy.io/",
  "description": "Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster.",
  "executables": [
    "sonobuoy"
  ],
  "dotfiles": {
    "paths": [
      "~/.sonobuoy/"
    ],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Sonobuoy",
    "description": "Start a Sonobuoy run (Kubernetes conformance and diagnostics plugins) with sonobuoy run. Other subcommands such as status, results and delete are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "run"
        ],
        "label": "Run plugins",
        "description": "Launch the Sonobuoy aggregator and plugin pods against the current cluster.",
        "source": [
          {
            "id": "help",
            "kind": "help",
            "url": "https://github.com/vmware-tanzu/sonobuoy/blob/main/site/content/docs/main/cli/sonobuoy_run.md",
            "evidence": "sonobuoy run [flags]\n      --context string                           Context in the kubeconfig to use.\n      --kubeconfig Kubeconfig                    Path to explicit kubeconfig file.\n  -m, --mode Mode                                What mode to run the e2e plugin in. Valid modes are [certified-conformance conformance-lite non-disruptive-conformance quick]. (default non-disruptive-conformance)\n  -n, --namespace string                         The namespace to run Sonobuoy in. Only one Sonobuoy run can exist per namespace simultaneously. (default \"sonobuoy\")\n  -p, --plugin pluginList                        Which plugins to run. Can either point to a URL, local file/directory, or be one of the known plugins (e2e or systemd-logs). Can be specified multiple times to run multiple plugins.\n      --wait int[=1440]                          How long (in minutes) for the CLI to wait for sonobuoy run to be completed or fail, where 0 indicates do not wait.\n      --e2e-focus envModifier                    Specify the E2E_FOCUS value for the e2e plugin, specifying which tests to run.\n      --e2e-skip envModifier                     Specify the E2E_SKIP value for the e2e plugin, specifying which tests to skip.\n      --timeout int                              How long (in seconds) Sonobuoy aggregator will wait for plugins to complete before exiting. 0 indicates no timeout. (default 21600)\n      --dns-namespace string                     The namespace to check for DNS pods during preflight checks.\n      --level level   Log level. One of {panic, fatal, error, warn, info, debug, trace} (default info)"
          }
        ],
        "field": [
          {
            "id": "mode",
            "label": "E2E mode",
            "type": "enum",
            "option": [
              "--mode",
              "-m"
            ],
            "choices": [
              {
                "value": "certified-conformance",
                "label": "Certified conformance"
              },
              {
                "value": "conformance-lite",
                "label": "Conformance lite"
              },
              {
                "value": "non-disruptive-conformance",
                "label": "Non-disruptive conformance"
              },
              {
                "value": "quick",
                "label": "Quick"
              }
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "plugin",
            "label": "Plugins",
            "description": "Known plugin (e2e, systemd-logs), URL, or local file or directory.",
            "type": "string",
            "option": [
              "--plugin",
              "-p"
            ],
            "multiple": true,
            "suggestions": [
              {
                "value": "e2e",
                "label": "e2e"
              },
              {
                "value": "systemd-logs",
                "label": "systemd-logs"
              }
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "namespace",
            "label": "Namespace",
            "type": "string",
            "option": [
              "--namespace",
              "-n"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "kubeconfig",
            "label": "Kubeconfig",
            "type": "path",
            "option": [
              "--kubeconfig"
            ],
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "help"
            ]
          },
          {
            "id": "context",
            "label": "Kube context",
            "type": "string",
            "option": [
              "--context"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "e2e_focus",
            "label": "E2E focus",
            "type": "string",
            "option": [
              "--e2e-focus"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "e2e_skip",
            "label": "E2E skip",
            "type": "string",
            "option": [
              "--e2e-skip"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "wait",
            "label": "Wait (minutes)",
            "description": "Block until the run completes or fails; 0 means do not wait.",
            "type": "integer",
            "option": [
              "--wait"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "timeout",
            "label": "Aggregator timeout (seconds)",
            "type": "integer",
            "option": [
              "--timeout"
            ],
            "sources": [
              "help"
            ]
          }
        ],
        "task": [
          {
            "id": "quick",
            "label": "Quick smoke run",
            "set": {
              "mode": [
                "quick"
              ]
            },
            "lock": [
              "mode"
            ],
            "fields": [
              "mode",
              "namespace",
              "kubeconfig",
              "context",
              "wait"
            ]
          },
          {
            "id": "conformance",
            "label": "Non-disruptive conformance",
            "set": {
              "mode": [
                "non-disruptive-conformance"
              ]
            },
            "fields": [
              "mode",
              "namespace",
              "kubeconfig",
              "context",
              "wait"
            ]
          },
          {
            "id": "plugins",
            "label": "Choose plugins",
            "fields": [
              "plugin",
              "namespace",
              "kubeconfig",
              "context",
              "wait"
            ],
            "required": [
              "plugin"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "mode",
              "plugin",
              "namespace",
              "kubeconfig",
              "context",
              "wait"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "e2e_focus",
              "e2e_skip",
              "timeout"
            ]
          }
        ]
      }
    ]
  }
}
