in src/commands/aksInspektorGadget/clusterOperations.ts [72:107]
private getKubectlArgs(args: GadgetArguments): string[] {
const pluginCommand = ["gadget", args.gadgetCategory, args.gadgetResource, "--output", "json"];
const nodeNameFilter = args.filters.nodeName ? ["--node", args.filters.nodeName] : [];
const namespaceFilter =
args.filters.namespace === NamespaceSelection.Default
? []
: args.filters.namespace === NamespaceSelection.All
? ["--all-namespaces"]
: ["--namespace", args.filters.namespace];
const podFilter = args.filters.podName ? ["--podname", args.filters.podName] : [];
const containerFilter = args.filters.containerName ? ["--containername", args.filters.containerName] : [];
const labelFilter = args.filters.labels
? [
"--selector",
Object.entries(args.filters.labels)
.map((kv) => `${kv[0]}=${kv[1]}`)
.join(","),
]
: [];
const sort = args.sortString ? ["--sort", args.sortString] : [];
const limit = args.maxRows ? ["--max-rows", args.maxRows.toString()] : [];
const interval = args.interval ? ["--interval", args.interval.toString()] : [];
const timeout = args.timeout ? ["--timeout", args.timeout.toString()] : [];
return [
...pluginCommand,
...nodeNameFilter,
...namespaceFilter,
...podFilter,
...containerFilter,
...labelFilter,
...sort,
...limit,
...interval,
...timeout,
];
}