{"id":30874302,"url":"https://github.com/catvec/kube-bot","last_synced_at":"2026-04-29T16:35:53.837Z","repository":{"id":151657097,"uuid":"110156847","full_name":"catvec/kube-bot","owner":"catvec","description":"A Kubernetes Slack bot","archived":false,"fork":false,"pushed_at":"2018-09-19T21:53:41.000Z","size":110,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-20T19:51:07.746Z","etag":null,"topics":["bot","chatbot","chatops","k8s","kubernetes","slack"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/catvec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2017-11-09T19:24:09.000Z","updated_at":"2019-10-24T04:14:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"4d42ff4d-aaed-4f5f-8221-e571e39ae91d","html_url":"https://github.com/catvec/kube-bot","commit_stats":null,"previous_names":["catvec/kube-bot","noah-huppert/kube-bot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/catvec/kube-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catvec%2Fkube-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catvec%2Fkube-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catvec%2Fkube-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catvec%2Fkube-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/catvec","download_url":"https://codeload.github.com/catvec/kube-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catvec%2Fkube-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32435108,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T13:34:34.882Z","status":"ssl_error","status_checked_at":"2026-04-29T13:34:29.830Z","response_time":110,"last_error":"SSL_read: 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":["bot","chatbot","chatops","k8s","kubernetes","slack"],"created_at":"2025-09-08T00:46:40.984Z","updated_at":"2026-04-29T16:35:53.830Z","avatar_url":"https://github.com/catvec.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Project status: Not completed | On hold\n\n# kube-bot\nA Kubernetes Slack bot. Addressed by the named `@kube`.  \n\n# Table Of Contents\n- [Commands](#commands)\n- [Permissions](#permissions)\n- [Contributing](#contributing)\n\n# Commands\nYou communicate with Kube in a command line-ish way. The first word of every \nmessage must be a valid command. These commands can have sub commands and \narguments.  \n\nThere is one exception to this, augmentations. Augmentations are arguments you \ncan pass Kube, before the command. To change the behavior of Kube in a way that \nis independent of any command. \n\nAvaliable augmentations are:\n\n- ⭕ `thread`\n    - Forces Kube to reply in a thread\n- ⭕ `channel`\n    - Forces Kube to reply in the channel\n- ⭕ `pm`\n    - Forces Kube to reply in a private message\n\nExample: Making Kube describe a resource in the channel: `@kube channel describe ingress/application-name`.\n\nMost commands have a `\u003cquery\u003e` argument. Which specifies which Kubernetes \nresource you are trying to perform an action on. This query format follows the \nexact same syntax as the kubectl tool: `\u003ctype\u003e/\u003cname\u003e[/\u003crevision\u003e]`.\n\nKube responds to the following commands:\n\n✅ = Available, ⭕ = In Progress\n\n- ⭕ `get \u003cquery\u003e`\n    - Retrieves a list of resources based on the given query\n- ⭕ `describe \u003cquery`\u003e\n    - Shows detailed information about a particular item specified by the query\n- ⭕ `rollout \u003csub command\u003e \u003cquery\u003e`\n    - Performs actions related to application rollouts (updating versions, \n      deployments)\n    - The application to perform rollout related actions on is specified by the \n      query option\n    - Available sub commands are:\n        - `status`\n            - Shows the status of the specified rollout\n        - `pause`\n            - Pauses the specified rollout\n        - `resume`\n            - Resumes the specified rollout\n        - `history`\n            - Shows the rollout history for the specified resource\n        - `undo`\n            - Revert to the specified rollout\n- ⭕ `scale \u003cquery\u003e \u003cnumber\u003e`\n    - Scales the resource specify by the provided query to the provided number \n      of replicas\n- ⭕ `logs \u003cquery\u003e [top | bottom] [\u003clines\u003e]`\n    - Displays the logs from the resource specified by the query\n    - By default 25 lines from the logs are shown. This can be changed by \n      providing your own number of lines as an argument\n    - By default this command will display the # of lines specified from the \n      bottom of the logs. This can be changed by providing the `top` or `bottom` \n      keywords (Not both)\n- ⭕ `version`\n    - Displays version information about kube-bot\n\nAll of which are existing kubectl commands. The following original commands \nare also provided:\n\n- ⭕ `track \u003crepo name\u003e [#\u003cchannels...\u003e] [anyones | mine | none] [all | failure | success] [\u003cbranches...\u003e]`\n    - Signs you up to receive messages about application deployments\n    - The repo name argument should be the name of a GitHub repo. In the form \n      `username/repository`.\n    - An optional list of channels to update about deployments can be provided. \n      Channels names must have a `#` before their name, and be separated by \n      spaces\n    - One of, and no more, of the following keywords can be provided after the \n      repo name argument: `anyones`, `mine`, or `none`\n        - If none of these keywords is provided `mine` is assumed\n        - `anyones` signs you up for updates about all commits\n        - `mine` signs you up for updates only about your commits\n        - `none` unsubscribes you from any updates\n    - One of the following keywords can be provided after the repo name\n      argument:\n        - If none of these keywords is provided `all` is assumed\n        - `all` signs you up for updates about all deployments\n        - `failure` signs you up to be updated only when a deployment fails\n        - `success` signs you up to be updated only when a deployment succeeds \n    - The branches argument can be used to customize which branches you receive \n      updates about\n        - If none are provided, you are signed up for updates about all branches \n        - Multiple branch names can be provided, separated by spaces\n- ⭕ `group \u003csub command\u003e \u003cuser\u003e \u003cgroup\u003e`\n    - Performs group related actions on the specified user and group\n    - Valid sub commands are:\n        - `add`\n            - Adds the user to the group\n            - If the specified group does not exist yet, creates it\n        - `remove`\n            - Removes the user from the group\n- ⭕ `access [\u003caction\u003e \u003centity\u003e \u003cresource\u003e]`\n    - Controls access to the specified resource\n    - If no arguments are provided, a in Slack UI message is sent back with \n      controls for access. This will be sent to the user in a personal message.\n    - The action argument can be either: `allow` or `deny`. And either grants \n      or blocks access to the specified resource\n    - The entity argument can be either a user name or a group name\n- ⭕ `config [\u003ckey\u003e] [\u003cvalue\u003e]`\n    - Manages kube-bot configuration\n    - If no key is provided, a general settings message will be sent in \n      response. Where users can edit settings via a in Slack UI of sorts. This \n      will be sent in a personal message\n    - One can view a key's value by providing only the key argument\n    - If only the key argument is provided, but no parameter matches exactly, \n      a search will be performed, and similar settings keys will be listed\n    - If the key and value arguments are provided, the specified option will be \n      set to the specified value\n    - Valid keys are:\n        - `reply`\n            - Specifies the method of response Kube bot should use by default\n            - Default value is `thread`\n            - Values are:\n                - `channel`: Respond in the channel message was sent in\n                - `thread`: Respond in a thread, in the channel the message was \n                            sent in\n- ⭕ `shutup [sorry]`\n    - Emergency kill switch if Kube is misbehaving. Will disallow all \n      communication until the command is called again with the `sorry` keyword\n    - If the `sorry` keyword is present any existing blocks on Kube's \n      communication will be removed. And Kube will return to normal. However \n      messages scheduled to send during communication blocks time will be \n      dropped (and logged). As they might be incorrect or buggy.\n- ⭕ `your \u003ckey\u003e`\n    - Used to retrieve internal Kube bot related information. The information \n      retrieved is based on the key argument\n    - Valid key values are:\n        - `health`\n            - Retrieves Kube bot's current health\n- ⭕ `help`\n    - Prints this command list\n\n# Permissions\nKube bot has permission model built in. Which controls who is allowed to do what. \nPermissions are controlled on a per action basis. Actions are scoped around the \neffect of a command and the resource it acts on.  \n\nActions are represented by strings in the format `\u003cresource\u003e.\u003caction\u003e`. \n\n# Contributing\nKube Bot is an Open Source Software project. And welcomes contributions from \nanyone and everyone.  \n\nCheck out the [issue tracker](https://github.com/Noah-Huppert/kube-bot) to find \nwork. Or open an issue if you found a bug or had an idea for a new feature. \nOr, even better, open a Pull Request with the code for that new feature!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatvec%2Fkube-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcatvec%2Fkube-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatvec%2Fkube-bot/lists"}