{"id":30953532,"url":"https://github.com/alikhil/kubectl-find","last_synced_at":"2026-02-24T09:24:25.234Z","repository":{"id":305964432,"uuid":"1007330172","full_name":"alikhil/kubectl-find","owner":"alikhil","description":"Missing kubectl UNIX-find-like plugin to find resources and perform action on them","archived":false,"fork":false,"pushed_at":"2025-12-22T17:29:13.000Z","size":216,"stargazers_count":65,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-22T18:35:09.691Z","etag":null,"topics":["find","krew","kubectl","kubectl-plugin","kubernetes"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alikhil.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-23T20:33:02.000Z","updated_at":"2025-12-22T17:29:09.000Z","dependencies_parsed_at":"2025-07-22T23:31:35.771Z","dependency_job_id":"1dbe38cd-6de3-4596-8d18-c98254996c25","html_url":"https://github.com/alikhil/kubectl-find","commit_stats":null,"previous_names":["alikhil/kubectl-find"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/alikhil/kubectl-find","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alikhil%2Fkubectl-find","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alikhil%2Fkubectl-find/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alikhil%2Fkubectl-find/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alikhil%2Fkubectl-find/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alikhil","download_url":"https://codeload.github.com/alikhil/kubectl-find/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alikhil%2Fkubectl-find/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28420765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:47:48.104Z","status":"ssl_error","status_checked_at":"2026-01-14T10:46:19.031Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["find","krew","kubectl","kubectl-plugin","kubernetes"],"created_at":"2025-09-11T09:02:07.367Z","updated_at":"2026-01-14T12:27:57.647Z","avatar_url":"https://github.com/alikhil.png","language":"Go","funding_links":[],"categories":["Go","kubectl Plugins"],"sub_categories":["Installing plugins via awesome-kubectl-plugins"],"readme":"# kubectl find\n\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/alikhil/kubectl-find)\n[![Go Report Card](https://goreportcard.com/badge/github.com/alikhil/kubectl-find)](https://goreportcard.com/report/github.com/alikhil/kubectl-find)\n![GitHub License](https://img.shields.io/github/license/alikhil/kubectl-find)\n\nIt's a plugin for `kubectl` that gives you a **UNIX find**-like experience.\n\nFind resource based on\n\n- **name regex**\n- **age**\n- **labels**\n- **status**\n- **node name** (for pods only)\n- **restarts** (for pods only)\n- **image name** (for pods only)\n- **jq filter** - custom condition\n\nand then **print, patch or delete** any.\n\n## Usage\n\n```shell\nkubectl fd [resource type | pods] [flags]\n\nFlags:\n  -r, --name string                    Regular expression to match resource names against; if not specified, all resources of the specified type will be returned.\n  -n, --namespace string               If present, the namespace scope for this CLI request\n  -A, --all-namespaces                 Search in all namespaces; if not specified, only the current namespace will be searched.\n      --status string                  Filter pods by their status (phase); e.g. 'Running', 'Pending', 'Succeeded', 'Failed', 'Unknown'.\n      --image string                   Regular expression to match container images against.\n  -j, --jq string                      jq expression to filter resources; Uses gojq library for evaluation.\n      --restarted                      Find pods that have been restarted at least once.\n  -l, --selector string                Label selector to filter resources by labels.\n      --max-age string                 Filter resources by maximum age; e.g. '2d' for 2 days, '3h' for 3 hours, etc.\n      --min-age string                 Filter resources by minimum age; e.g. '2d' for 2 days, '3h' for 3 hours, etc.\n      --node string                    Filter pods by node name regex; Uses pod.Spec.NodeName or pod.Status.NominatedNodeName if the former is empty.\n  -L, --labels strings                 Comma-separated list of labels to show.\n  -T, --annotations strings            Comma-separated list of annotations to show.\n  -N, --node-labels strings            Comma-separated list of node labels to show.\n      --natural-sort                   Sort resource names in natural order.\n  -h, --help                           help for kubectl find\n  -p, --patch string                   Patch all found resources with the specified JSON patch.\n  -e, --exec string                    Execute a command on all found pods.\n      --delete                         Delete all matched resources.\n  -f, --force                          Skip confirmation prompt before performing actions on resources.\n```\n\n## Install\n\n### Using [krew](https://krew.sigs.k8s.io/)\n\n```shell\nkrew install fd\n```\n\n### Download binary\n\nDownload [latest release](https://github.com/alikhil/kubectl-find/releases) for your platform/os and save it under `$PATH` as `kubectl-fd`\n\n## Examples\n\n### Filter by jq\n\nBased on [gojq](https://github.com/itchyny/gojq) implementation of `jq`.\nCheck resource structure on [kubespec.dev](https://kubespec.dev/).\n\n#### Find pods with empty nodeSelector\n\n```shell\nkubectl fd pods -j '.spec.nodeSelector == null' -A\n```\n\n#### Find pods with undefined resources\n\n```shell\nkubectl fd pods -j 'any( .spec.containers[]; .resources == {} )' -A\n```\n\n### Filter using regex\n\nInstead of\n\n```shell\nkubectl get pods -o name | grep test\n```\n\nRun\n\n```shell\nkubectl fd -r test\n```\n\n### Filter by resource age\n\n```shell\nkubectl fd cm --min-age 1d -A --name spark\n```\n\n### Execute command on several pods\n\n```shell\nkubectl fd pods -l app=nginx --exec 'nginx -s reload'\n```\n\n### Find all failed pods and delete them\n\n```shell\nkubectl fd pods --status failed -A --delete\n```\n\n### Find restarted pods\n\n```shell\nkubectl fd --restarted\n```\n\n### Enhanced output\n\n#### Show resource labels\n\n```shell\nk fd -L app.kubernetes.io/component\nNAME                                              READY   STATUS    RESTARTS   AGE    COMPONENT\nadmin-backend-server-6fb6bbb8f6-2xntp             1/1     Running   0          7h4m   deployments-server\nadmin-frontend-nginx-b8c88b7b4-pxx2x              1/1     Running   0          3h7m   deployments-nginx\ntop-react-ok-app-develop-nginx-586c65496f-h4b9p   1/1     Running   0          11h    deployments-nginx\ntop-react-ok-app-stage-nginx-8595cbfb6c-qzt2z     1/1     Running   0          11h    deployments-nginx\nnginx                                             1/1     Running   0          18d    \u003cnone\u003e\nredis-redis-ha-server-0                           1/1     Running   0          11h    \u003cnone\u003e\nsuper-admin-server-65d57f8787-5c9sd               1/1     Running   0          11h    deployments-server\nok-web-app-nginx-5c78887cbf-2n8fw                 1/1     Running   0          11h    deployments-nginx\n```\n\n#### Show node labels of the pods\n\n```shell\nk fd -N topology.kubernetes.io/zone\nNAME                                              READY   STATUS    RESTARTS   AGE    NODE             ZONE\nadmin-backend-server-6fb6bbb8f6-2xntp             1/1     Running   0          7h5m   nodeee-short-2   eu-central1-b\nadmin-frontend-nginx-b8c88b7b4-pxx2x              1/1     Running   0          3h8m   nodeee-short-2   eu-central1-b\ntop-react-ok-app-develop-nginx-586c65496f-h4b9p   1/1     Running   0          11h    nodeee-short-2   eu-central1-b\ntop-react-ok-app-stage-nginx-8595cbfb6c-qzt2z     1/1     Running   0          11h    nodeee-short-2   eu-central1-b\nnginx                                             1/1     Running   0          18d    nodeee-long-3    eu-central1-b\nredis-redis-ha-server-0                           1/1     Running   0          11h    nodeee-short-2   eu-central1-b\nsuper-admin-server-65d57f8787-5c9sd               1/1     Running   0          11h    nodeee-short-2   eu-central1-b\nok-web-app-nginx-5c78887cbf-2n8fw                 1/1     Running   0          11h    nodeee-short-2   eu-central1-b\nzipkin-ok-shop-zipkin-5d94fcdc67-r8pcx            1/1     Running   0          10d    nodeee-long-1    eu-central1-b\n```\n\n#### Show resource annotations\n\n```shell\nk fd -T example.com/owner\nNAME                                              READY   STATUS    RESTARTS   AGE    OWNER\nadmin-backend-server-6fb6bbb8f6-2xntp             1/1     Running   0          7h4m   team-a\nadmin-frontend-nginx-b8c88b7b4-pxx2x              1/1     Running   0          3h7m   team-b\ntop-react-ok-app-develop-nginx-586c65496f-h4b9p   1/1     Running   0          11h    team-a\nnginx                                             1/1     Running   0          18d    \u003cnone\u003e\n```\n\n#### Natural sort\n\nNormal sort\n\n```shell\nkubectl fd\nNAME       READY   STATUS    RESTARTS   AGE\nnginx-0    1/1     Running   0          5m14s\nnginx-1    1/1     Running   0          5m12s\nnginx-10   1/1     Running   0          4m53s\nnginx-11   1/1     Running   0          4m50s\nnginx-12   1/1     Running   0          4m48s\nnginx-13   1/1     Running   0          4m46s\nnginx-14   1/1     Running   0          4m44s\nnginx-2    1/1     Running   0          5m10s\nnginx-3    1/1     Running   0          5m7s\nnginx-4    1/1     Running   0          5m5s\nnginx-5    1/1     Running   0          5m3s\nnginx-6    1/1     Running   0          5m1s\nnginx-7    1/1     Running   0          4m59s\nnginx-8    1/1     Running   0          4m57s\nnginx-9    1/1     Running   0          4m55s\n```\n\nNatural sort\n\n```shell\nkubectl fd --natural-sort\nNAME       READY   STATUS    RESTARTS   AGE\nnginx-0    1/1     Running   0          6m6s\nnginx-1    1/1     Running   0          6m4s\nnginx-2    1/1     Running   0          6m2s\nnginx-3    1/1     Running   0          5m59s\nnginx-4    1/1     Running   0          5m57s\nnginx-5    1/1     Running   0          5m55s\nnginx-6    1/1     Running   0          5m53s\nnginx-7    1/1     Running   0          5m51s\nnginx-8    1/1     Running   0          5m49s\nnginx-9    1/1     Running   0          5m47s\nnginx-10   1/1     Running   0          5m45s\nnginx-11   1/1     Running   0          5m42s\nnginx-12   1/1     Running   0          5m40s\nnginx-13   1/1     Running   0          5m38s\nnginx-14   1/1     Running   0          5m36s\n```\n\n## Completion\n\nCopy [kubectl_complete-fd](https://github.com/alikhil/kubectl-find/blob/main/kubectl_complete-fd) script somewhere under `PATH`.\n\n## Star History\n\n\u003ca href=\"https://www.star-history.com/#alikhil/kubectl-find\u0026type=date\u0026legend=bottom-right\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=alikhil/kubectl-find\u0026type=date\u0026theme=dark\u0026legend=bottom-right\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=alikhil/kubectl-find\u0026type=date\u0026legend=bottom-right\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=alikhil/kubectl-find\u0026type=date\u0026legend=bottom-right\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falikhil%2Fkubectl-find","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falikhil%2Fkubectl-find","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falikhil%2Fkubectl-find/lists"}