{"id":25050661,"url":"https://github.com/steadybit/extension-kubernetes","last_synced_at":"2026-02-24T23:06:41.730Z","repository":{"id":62865809,"uuid":"539896175","full_name":"steadybit/extension-kubernetes","owner":"steadybit","description":"A Steadybit extension to check the state of the Kubernetes cluster and inject faults.","archived":false,"fork":false,"pushed_at":"2026-02-16T20:13:55.000Z","size":2855,"stargazers_count":8,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-17T02:08:05.114Z","etag":null,"topics":["chaos-engineering","chaos-testing","helm","kubernetes","reliability"],"latest_commit_sha":null,"homepage":"https://hub.steadybit.com/extension/com.steadybit.extension_kubernetes","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/steadybit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-09-22T09:16:41.000Z","updated_at":"2026-02-16T20:13:51.000Z","dependencies_parsed_at":"2023-12-19T07:54:38.081Z","dependency_job_id":"0e22d43f-bd6a-45cc-883d-918b52f57cab","html_url":"https://github.com/steadybit/extension-kubernetes","commit_stats":{"total_commits":485,"total_committers":10,"mean_commits":48.5,"dds":0.5525773195876289,"last_synced_commit":"137e65a3c4e2610b6f931ae27446e7ed976fee02"},"previous_names":[],"tags_count":153,"template":false,"template_full_name":null,"purl":"pkg:github/steadybit/extension-kubernetes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steadybit%2Fextension-kubernetes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steadybit%2Fextension-kubernetes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steadybit%2Fextension-kubernetes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steadybit%2Fextension-kubernetes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/steadybit","download_url":"https://codeload.github.com/steadybit/extension-kubernetes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steadybit%2Fextension-kubernetes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29670123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T00:11:43.526Z","status":"ssl_error","status_checked_at":"2026-02-20T23:52:33.807Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["chaos-engineering","chaos-testing","helm","kubernetes","reliability"],"created_at":"2025-02-06T09:17:20.656Z","updated_at":"2026-02-24T23:06:41.724Z","avatar_url":"https://github.com/steadybit.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./logo.png\" height=\"130\" align=\"right\" alt=\"Kubernetes logo depicting a helm next to text 'Kubernetes'\"\u003e\n\n# Steadybit extension-kubernetes\n\nA [Steadybit](https://www.steadybit.com/) extension implementation for Kubernetes.\n\nLearn about the capabilities of this extension in our [Reliability Hub](https://hub.steadybit.com/extension/com.steadybit.extension_kubernetes).\n\n## Configuration\n\n| Environment Variable                                             | Helm value                                                               | Meaning                                                                                                                                                            | required | default                                                              |\n|------------------------------------------------------------------|--------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|----------------------------------------------------------------------|\n| `STEADYBIT_EXTENSION_KUBERNETES_CLUSTER_NAME`                    | `kubernetes.clusterName`                                                 | The name of the kubernetes cluster                                                                                                                                 | yes      |                                                                      |\n| `STEADYBIT_EXTENSION_DISABLE_DISCOVERY_EXCLUDES`                 | `discovery.disableExcludes`                                              | Ignore discovery excludes specified by `steadybit.com/discovery-disabled`                                                                                          | false    | `false`                                                              |\n| `STEADYBIT_EXTENSION_LABEL_FILTER`                               |                                                                          | These labels will be ignored and not added to the discovered targets                                                                                               | false    | `controller-revision-hash,pod-template-generation,pod-template-hash` |\n| `STEADYBIT_EXTENSION_ACTIVE_ADVICE_LIST`                         | `advice.enabled`                                                         | List of active advice definitions, default is all (*). You can define a list of active adviceDefinitionId. See UI -\u003e Settings -\u003e Extension -\u003e Advice -\u003e Column: ID | false    | `*`                                                                  |\n| `STEADYBIT_EXTENSION_ADVICE_EXCLUDE_QUERY`                       | `advice.excludeTargetQuery`                                              |                                                                                                                                                                    | false    | `*`                                                                  |\n| `STEADYBIT_EXTENSION_ADVICE_SINGLE_REPLICA_MIN_REPLICAS`         | All targets matching this query will be excluded from advice generation. | Minimal required replicas for the \"Redundant Pod\" advice                                                                                                           | false    | 2                                                                    |\n| `STEADYBIT_EXTENSION_DISCOVERY_ATTRIBUTES_EXCLUDES_CONTAINER`    | `discovery.attributes.excludes.container`                                | List of Target Attributes which will be excluded during container discovery. Checked by key equality and supporting trailing \"*\"                                   | false    |                                                                      |\n| `STEADYBIT_EXTENSION_DISCOVERY_ATTRIBUTES_EXCLUDES_DEPLOYMENT`   | `discovery.attributes.excludes.deployment`                               | List of Target Attributes which will be excluded during deployment discovery. Checked by key equality and supporting trailing \"*\"                                  | false    |                                                                      |\n| `STEADYBIT_EXTENSION_DISCOVERY_ATTRIBUTES_EXCLUDES_DAEMON_SET`   | `discovery.attributes.excludes.daemonSet`                                | List of Target Attributes which will be excluded during daemonSet discovery. Checked by key equality and supporting trailing \"*\"                                   | false    |                                                                      |\n| `STEADYBIT_EXTENSION_DISCOVERY_ATTRIBUTES_EXCLUDES_STATEFUL_SET` | `discovery.attributes.excludes.statefulSet`                              | List of Target Attributes which will be excluded during statefulSet discovery. Checked by key equality and supporting trailing \"*\"                                 | false    |                                                                      |\n| `STEADYBIT_EXTENSION_DISCOVERY_ATTRIBUTES_EXCLUDES_POD`          | `discovery.attributes.excludes.pod`                                      | List of Target Attributes which will be excluded during pod discovery. Checked by key equality and supporting trailing \"*\"                                         | false    |                                                                      |\n| `STEADYBIT_EXTENSION_DISCOVERY_ATTRIBUTES_EXCLUDES_ARGO_ROLLOUT` | `discovery.attributes.excludes.argoRollout`                              | List of Target Attributes which will be excluded during Argo Rollout discovery. Checked by key equality and supporting trailing \"*\"                               | false    |                                                                      |\n| `STEADYBIT_EXTENSION_DISCOVERY_DISABLED_ARGO_ROLLOUT`           | `discovery.disabled.argoRollout`                                          | Disable discovery of Argo rollouts                                                                                                                                 | false    | `true`                                                               |\n| `STEADYBIT_EXTENSION_DISCOVERY_DISABLED_REPLICA_SET`             | `discovery.disabled.replicaSet`                                          | Disables discovery of ReplicaSets in favor of discovering Deployments, StatefulSets, DaemonSets, etc.                                                              | false    | `true`                                                               |\n| `STEADYBIT_EXTENSION_DISCOVERY_MAX_POD_COUNT`                    | `discovery.maxPodCount`                                                  | Skip listing pods, containers and hosts for deployments, statefulsets, etc. if there are more then the given pods.                                                 | false    | 50                                                                   |\n| `STEADYBIT_EXTENSION_DISCOVERY_REFRESH_THROTTLE`                 | `discovery.refreshThrottle`                                              | Number of seconds between successive refreshes of the target data.                                                                                                 | false    | 20                                                                   |\n| `STEADYBIT_EXTENSION_DISCOVERY_INFORMER_RESYNC`                  |                                                                          | Number of seconds until a full refresh of the internal kubernetes cache.                                                                                           | false    | 600                                                                  |\n| `STEADYBIT_EXTENSION_NAMESPACE`                                  | `Release.Namespace`                                                      | The namespace of the extension. If env var is set, discovery is only discovering in that namespace                                                                 | false    | `default`                                                            |\n\nThe extension supports all environment variables provided by [steadybit/extension-kit](https://github.com/steadybit/extension-kit#environment-variables).\n\n## Permissions\n\nThe process requires access rights to interact with the Kubernetes\nAPI ([permissions in helm chart](/charts/steadybit-extension-kubernetes/templates/_permissions.tpl)).\n\nThe cluster role for the extension requires \"read\" permissions for different kind of workloads in the cluster.\nIf the permission is not granted to a specific resource type, those will not be discovered and cannot be attacked.\n\nTo run the different attacks \"write\" permissions are required:\n\n- Scale Deployment/StatefulSet/DaemonSet: `update`, `patch` on the workload type\n- Rollout Restart Deployment: `patch` on `deployment`\n- Delete Pod Attack: `delete` on `pod`\n- Crash Loop Pod: `create` on `pod/exec` also needs to have an `sh` and `kill` binary in the target container\n\n## Installation\n\n### Kubernetes\n\nDetailed information about agent and extension installation in kubernetes can also be found in\nour [documentation](https://docs.steadybit.com/install-and-configure/install-agent/install-on-kubernetes).\n\n#### Recommended (via agent helm chart)\n\nAll extensions provide a helm chart that is also integrated in the\n[helm-chart](https://github.com/steadybit/helm-charts/tree/main/charts/steadybit-agent) of the agent.\n\nThe extension is installed by default when you install the agent.\n\nYou must provide additional values to configure this extension.\n\n```\n--set extension-kubernetes.kubernetes.clusterName=\u003cNAME_OF_YOUR_CLUSTER\u003e \\\n```\n\nAdditional configuration options can be found in\nthe [helm-chart](https://github.com/steadybit/extension-kubernetes/blob/main/charts/steadybit-extension-kubernetes/values.yaml) of the\nextension.\n\n#### Alternative (via own helm chart)\n\nIf you need more control, you can install the extension via its\ndedicated [helm-chart](https://github.com/steadybit/extension-kubernetes/blob/main/charts/steadybit-extension-kubernetes).\n\n```bash\nhelm repo add steadybit-extension-kubernetes https://steadybit.github.io/extension-kubernetes\nhelm repo update\nhelm upgrade steadybit-extension-kubernetes \\\n  --install \\\n  --wait \\\n  --timeout 5m0s \\\n  --create-namespace \\\n  --namespace steadybit-agent \\\n  --set kubernetes.clusterName=\u003cNAME_OF_YOUR_CLUSTER\u003e \\\n  steadybit-extension-kubernetes/steadybit-extension-kubernetes\n```\n\n## Advanced Configuration\n\n### Enabling/disabling advice\n\nYou can disable any advice by setting the helm chart value `--set advice.enabled={}` or a list of advice ids you want to enable (e.g `--set advice.enabled={com.steadybit.extension_kubernetes.advice.k8s-single-replica,com.steadybit.extension_kubernetes.advice.single-zone}`).\n\n### Excluding targets from advice generation\n\nYou can exclude targets from advice generation by specifying a target query in the chart value `advice.excludeTargetQuery`.\nFor example, to exclude all targets in the \"kube-system\" namespace you can set the value to `\"k8s.namespace = \\\"kube-system\\\"\"`.\n\n## Extension registration\n\nMake sure that the extension is registered with the agent. In most cases this is done automatically. Please refer to\nthe [documentation](https://docs.steadybit.com/install-and-configure/install-agent/extension-registration) for more\ninformation about extension registration and how to verify.\n\n## Mark resources as \"do not discover\"\n\nto exclude a deployment / namespace / pod from discovery you can add the label `\"steadybit.com/discovery-disabled\": \"true\"` to the resource labels\n\n## Version and Revision\n\nThe version and revision of the extension:\n\n- are printed during the startup of the extension\n- are added as a Docker label to the image\n- are available via the `version.txt`/`revision.txt` files in the root of the image\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteadybit%2Fextension-kubernetes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteadybit%2Fextension-kubernetes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteadybit%2Fextension-kubernetes/lists"}