{
  "id": "hubble",
  "name": "Hubble",
  "homepage": "https://github.com/cilium/hubble",
  "description": "Hubble - Network, Service & Security Observability for Kubernetes using eBPF",
  "executables": [
    "hubble"
  ],
  "platforms": [
    "macos",
    "linux"
  ],
  "dotfiles": {
    "paths": [
      "~/.config/hubble/config.yaml"
    ],
    "exclude": [],
    "secret": [],
    "secret_paths": [
      {
        "file": "~/.config/hubble/config.yaml",
        "match": {
          "key_path": [
            "basic-auth-password"
          ]
        }
      }
    ],
    "machine_lines": [
      {
        "file": "~/.config/hubble/config.yaml",
        "match": {
          "key_path": [
            "kubeconfig",
            "tls-ca-cert-files",
            "tls-client-cert-file",
            "tls-client-key-file"
          ]
        },
        "scope": "backup"
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Hubble",
    "description": "Stream network flows from Hubble. Only a few common observe filters are covered.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": false,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "observe"
        ],
        "label": "Observe flows",
        "description": "Print flows, filtered by time, type or namespace.",
        "source": [
          {
            "id": "readme",
            "kind": "manual",
            "url": "https://github.com/cilium/hubble/blob/main/README.md",
            "revision": "main 2026-10",
            "evidence": "hubble observe --since=1m -t l7 -o json \\\nhubble observe --print-raw-filters \\\n    -t drop \\\n    -n kube-system \\\n    --not --label \"k8s:k8s-app=kube-dns\" \\\n"
          }
        ],
        "field": [
          {
            "id": "since",
            "label": "Since",
            "description": "For example 1m.",
            "type": "string",
            "option": [
              "--since"
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "type",
            "label": "Event type",
            "description": "For example drop or l7.",
            "type": "string",
            "option": [
              "-t"
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "namespace",
            "label": "Namespace",
            "type": "string",
            "option": [
              "-n"
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "label",
            "label": "Label",
            "type": "string",
            "option": [
              "--label"
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "output",
            "label": "Output format",
            "description": "For example json.",
            "type": "string",
            "option": [
              "-o"
            ],
            "sources": [
              "readme"
            ]
          }
        ],
        "task": [
          {
            "id": "drops",
            "label": "Dropped flows in a namespace",
            "fields": [
              "type",
              "namespace",
              "since"
            ],
            "required": [
              "type"
            ],
            "set": {
              "type": [
                "drop"
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "since",
              "type",
              "namespace",
              "label",
              "output"
            ]
          }
        ]
      }
    ]
  }
}
