{"id":16950686,"url":"https://github.com/rajatjindal/krew-release-bot","last_synced_at":"2026-02-22T09:43:29.900Z","repository":{"id":36721632,"uuid":"224954210","full_name":"rajatjindal/krew-release-bot","owner":"rajatjindal","description":"bot to bump version of plugin in krew-index on new releases","archived":false,"fork":false,"pushed_at":"2024-08-03T13:46:34.000Z","size":14398,"stargazers_count":47,"open_issues_count":14,"forks_count":17,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-22T03:33:28.052Z","etag":null,"topics":["bot","github","golang","krew","kubectl","kubernetes","release"],"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/rajatjindal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":null,"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},"funding":{"github":["rajatjindal"]}},"created_at":"2019-11-30T03:30:04.000Z","updated_at":"2024-10-03T14:57:25.000Z","dependencies_parsed_at":"2024-06-18T14:07:06.499Z","dependency_job_id":"52cc5383-fe0b-495e-8e03-3d57bcfd2c14","html_url":"https://github.com/rajatjindal/krew-release-bot","commit_stats":{"total_commits":168,"total_committers":6,"mean_commits":28.0,"dds":0.0535714285714286,"last_synced_commit":"ad6e92e6daadabfedaa107ce5186a82d41229ef1"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajatjindal%2Fkrew-release-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajatjindal%2Fkrew-release-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajatjindal%2Fkrew-release-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajatjindal%2Fkrew-release-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rajatjindal","download_url":"https://codeload.github.com/rajatjindal/krew-release-bot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248383863,"owners_count":21094619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["bot","github","golang","krew","kubectl","kubernetes","release"],"created_at":"2024-10-13T21:58:18.278Z","updated_at":"2026-02-22T09:43:29.894Z","avatar_url":"https://github.com/rajatjindal.png","language":"Go","funding_links":["https://github.com/sponsors/rajatjindal"],"categories":[],"sub_categories":[],"readme":"[![Netlify Status](https://api.netlify.com/api/v1/badges/cfd72dea-e22a-463b-8e20-5748b743140a/deploy-status)](https://app.netlify.com/sites/angry-borg-f9dd47/deploys)\n\n\u003ca href=\"https://github.com/rajatjindal/krew-release-bot\"\u003e\u003cimg src=\"https://github.com/krew-release-bot.png\" width=\"100\"\u003e\u003c/a\u003e\u003cspan width=\"10px\"\u003e\n\n`krew-release-bot` is a bot that automates the update of plugin manifests in `krew-index` when a new version of your `kubectl` plugin is released.\nIf a release is marked as a 'prerelease' in github, it will not be released to the krew index.\n\nTo trigger `krew-release-bot` you can use a `github-action` which sends the event to the bot.\n\n# Basic Setup\n\n- Make sure you have enabled github actions for your repo\n- Add a `.krew.yaml` template file at the root of your repo. Refer to [kubectl-evict-pod](https://github.com/rajatjindal/kubectl-evict-pod) repo for an example.\n  - you could use https://rajatjindal.com/tools/krew-release-bot-helper/ for generating template for your plugin\n- To setup the action, add the following snippet after the step that publishes the new release and assets:\n  ```yaml\n  - name: Update new version in krew-index\n    uses: rajatjindal/krew-release-bot@v0.0.50\n  ```\n  Check out the `goreleaser` example below for details.\n\n##### Example when using go-releaser\n\n`\u003cyour-git-root\u003e/.github/workflows/release.yml`\n\n```yaml\nname: release\non:\n  push:\n    tags:\n      - \"v*.*.*\"\njobs:\n  goreleaser:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@master\n      - name: Setup Go\n        uses: actions/setup-go@v4\n        with:\n          go-version: '1.20'\n      - name: GoReleaser\n        uses: goreleaser/goreleaser-action@v1\n        with:\n          version: latest\n          args: release --rm-dist\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n      - name: Update new version in krew-index\n        uses: rajatjindal/krew-release-bot@v0.0.50\n```\n\n\\*\\* You can also customize the release assets names, platforms for which build is done using .goreleaser.yml file in root of your git repo.\n\n# Examples using krew-release-bot in different ways\n\n- [bash based plugins](https://github.com/ahmetb/kubectx/blob/master/.github/workflows/release.yml)\n- [multiple plugins published from one repo](https://github.com/ahmetb/kubectx/blob/master/.github/workflows/release.yml)\n- [circle-ci](examples/circleci.yml)\n- [travis-ci](examples/travis.yml)\n\n# Testing the template file\n\nYou can test the template file rendering before check-in to the repo by running following command\n\n```bash\n$ docker run -v /path/to/your/template-file.yaml:/tmp/template-file.yaml ghcr.io/rajatjindal/krew-release-bot:v0.0.50 \\\n  krew-release-bot template --tag \u003ctag-name\u003e --template-file /tmp/template-file.yaml\n```\n\n# Inputs for the action\n\n| Key                | Default Value          | Description                                                                          |\n| ------------------ | ---------------------- | ------------------------------------------------------------------------------------ |\n| workdir            | `env.GITHUB_WORKSPACE` | Overrides the GitHub workspace directory path                                        |\n| krew_template_file | `.krew.yaml`           | The path to template file relative to $workdir. e.g. templates/misc/plugin-name.yaml |\n\n# Limitations of krew-release-bot\n\n- only works for repos hosted on github right now\n- The first version of plugin has to be submitted manually, by plugin author, to the krew-index repo\n\n# Kubernetes CLA\n\nkrew-release-bot is just a service to open PR on your behalf to release a new version of the krew-plugin. Your CLA agreement (that you did when submitting the new plugin to krew-index) is still applicable on these PR's.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajatjindal%2Fkrew-release-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frajatjindal%2Fkrew-release-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajatjindal%2Fkrew-release-bot/lists"}