private getKubectlArgs()

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,
        ];
    }