Inspektor Gadget: Expand/improve gadget catalog
- Dominant language
- Go
- Stars
- 140
- Forks
- 45
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 2
Description
Currently, we support a [limited number of gadgets](https://github.com/Azure/aks-mcp/blob/main/internal/components/inspektorgadget/const.go#L51) providing real-time observability for common Kubernetes use cases. This works well for getting started, but we should also have a generic way to run any supported gadget. Where users can provide more context using their prompts:
For example:
> Can you please start a gadget with image ghcr.io/inspektor-gadget/gadget/trace_oomkill in the demo namespace?
>
While we will continue to expand the list of built-in gadgets based on [official gadgets](https://artifacthub.io/packages/search?kind=22&verified_publisher=true&official=true&cncf=true&sort=relevance&page=1). However, adding a generic way to run gadgets will enable people to use custom observability tools without waiting for them to be added to the default list.
## Implementation option:
- Add a `gadget_image` parameter alongside the existing config here: https://github.com/Azure/aks-mcp/blob/main/internal/components/inspektorgadget/registry.go#L33
- Enforce that only one of `gadget_image` or `gadget_name` can be specified
- Start/Run gadget respecting the generic Kubernetes filtering (or allow users to [specify custom filtering](https://inspektor-gadget.io/docs/latest/spec/operators/filter))
**Note**: By default, Inspektor Gadget only runs gadgets signed by the Inspektor Gadget team, so only official gadgets will work out of the box. If needed, users can customize their IG installation to allow running additional gadgets.
Contributor guide
Research direction
Start in internal/components/inspektorgadget/const.go and registry.go to understand the built-in gadget registry and existing configuration. Review Inspektor Gadget's filtering documentation and determine how generic Kubernetes filtering or custom filters should be passed. Done means users can provide either gadget_image or gadget_name, never both, and run supported custom gadgets.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- infrastructure, observability
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100