https://github.com/steadybit/extension-kong
A Steadybit attack implementation to inject HTTP faults into Kong API gateway.
https://github.com/steadybit/extension-kong
api-gateway chaos chaos-engineering chaos-testing http kong nginx rest
Last synced: 16 days ago
JSON representation
A Steadybit attack implementation to inject HTTP faults into Kong API gateway.
- Host: GitHub
- URL: https://github.com/steadybit/extension-kong
- Owner: steadybit
- License: mit
- Created: 2022-07-01T13:13:08.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-07T10:51:39.000Z (23 days ago)
- Last Synced: 2025-04-11T22:49:17.086Z (18 days ago)
- Topics: api-gateway, chaos, chaos-engineering, chaos-testing, http, kong, nginx, rest
- Language: Go
- Homepage: https://hub.steadybit.com/extension/com.steadybit.extension_kong
- Size: 11.9 MB
- Stars: 9
- Watchers: 4
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Steadybit extension-kong
A [Steadybit](https://www.steadybit.com/) attack implementation to inject HTTP faults into [Kong API gateway](https://konghq.com/).
Learn about the capabilities of this extension in our [Reliability Hub](https://hub.steadybit.com/extension/com.steadybit.extension_kong).
## Prerequisites
- Kong needs to have the [request-termination](https://docs.konghq.com/hub/kong-inc/request-termination/#example-use-cases) plugin installed (typically
installed by default).## Configuration
| Environment Variable | Helm value | Meaning | required |
|-------------------------------------------------------------|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------|----------|
| `STEADYBIT_EXTENSION_KONG_INSTANCE__NAME` | `kong.name` | Name of the kong instance | yes |
| `STEADYBIT_EXTENSION_KONG_INSTANCE__ORIGIN` | `kong.origin` | Url of the kong admin interface | yes |
| `STEADYBIT_EXTENSION_KONG_INSTANCE__HEADER_KEY` | `kong.headerKey` | Optional header key to send to the Kong admin API. Typically used for authentication purposes. | no |
| `STEADYBIT_EXTENSION_KONG_INSTANCE__HEADER_VALUE` | `kong.headerValue` | Optional header value to send to the Kong admin API. Typically used for authentication purposes. | no |
| `STEADYBIT_EXTENSION_DISCOVERY_ATTRIBUTES_EXCLUDES_SERVICE` | `discovery.attributes.excludes.service` | List of Target Attributes which will be excluded during discovery. Checked by key equality and supporting trailing "*" | no |
| `STEADYBIT_EXTENSION_DISCOVERY_ATTRIBUTES_EXCLUDES_ROUTE` | `discovery.attributes.excludes.route` | List of Target Attributes which will be excluded during discovery. Checked by key equality and supporting trailing "*" | no |The extension supports all environment variables provided by [steadybit/extension-kit](https://github.com/steadybit/extension-kit#environment-variables).
## Installation
### Kubernetes
Detailed information about agent and extension installation in kubernetes can also be found in
our [documentation](https://docs.steadybit.com/install-and-configure/install-agent/install-on-kubernetes).#### Recommended (via agent helm chart)
All extensions provide a helm chart that is also integrated in the
[helm-chart](https://github.com/steadybit/helm-charts/tree/main/charts/steadybit-agent) of the agent.You must provide additional values to activate this extension.
```
--set extension-kong.enabled=true \
--set extension-kong.kong.name="{{SYMBOLIC_NAME}}" \
--set extension-kong.kong.origin="{{KONG_API_SERVER_ORIGIN}}" \
```Additional configuration options can be found in
the [helm-chart](https://github.com/steadybit/extension-kong/blob/main/charts/steadybit-extension-kong/values.yaml) of the
extension.#### Alternative (via own helm chart)
If you need more control, you can install the extension via its
dedicated [helm-chart](https://github.com/steadybit/extension-kong/blob/main/charts/steadybit-extension-kong).```bash
helm repo add steadybit-extension-kong https://steadybit.github.io/extension-kong
helm repo update
helm upgrade steadybit-extension-kong \
--install \
--wait \
--timeout 5m0s \
--create-namespace \
--namespace steadybit-agent \
--set kong.name="{{SYMBOLIC_NAME}}" \
--set kong.origin="{{KONG_API_SERVER_ORIGIN}}" \
steadybit-extension-kong/steadybit-extension-kong
```### Linux Package
Please use
our [agent-linux.sh script](https://docs.steadybit.com/install-and-configure/install-agent/install-on-linux-hosts)
to install the extension on your Linux machine. The script will download the latest version of the extension and install
it using the package manager.After installing, configure the extension by editing `/etc/steadybit/extension-kong` and then restart the service.
## Extension registration
Make sure that the extension is registered with the agent. In most cases this is done automatically. Please refer to
the [documentation](https://docs.steadybit.com/install-and-configure/install-agent/extension-registration) for more
information about extension registration and how to verify.## Version and Revision
The version and revision of the extension:
- are printed during the startup of the extension
- are added as a Docker label to the image
- are available via the `version.txt`/`revision.txt` files in the root of the image