Extension Registration
Last updated
Was this helpful?
Last updated
Was this helpful?
Extensions needs to be registered with the agent. There are multiple ways to do that:
(default behavior when using Kubernetes with our helm charts)
(default behavior when using Linux packages)
The agent is looking for services and pods with an annotation steadybit.com/extension-auto-registration
. These annotations are already added to our extensions if you use our official helm charts.
If you want to fine tune the auto registration, you can configure the mechanism to:
include only extension pods matching a given label selector
exclude extensions pod matching a given label selector
include only extension from a specific namespace
You can specify environment Variables via agent.env
files or directly via the command line.
Please note that these environment variables are index-based (referred to as n
) to register multiple extension instances.
Valid Types are:
Environment Variable
(n
refers to the index of the extension's instance)
(type
refers to the type of the extension's endpoint)
Required
Description
STEADYBIT_AGENT_type_EXTENSIONS_n_URL
yes
Fully-qualified URL of the endpoint, e.g., http://my-extension.steadybit-extension.svc.cluster.local:8080/actions
STEADYBIT_AGENT_type_EXTENSIONS_n_METHOD
Optional HTTP method to use. Default: GET
STEADYBIT_AGENT_type_EXTENSIONS_n_BASIC_USERNAME
Optional basic authentication username to use within HTTP requests.
STEADYBIT_AGENT_type_EXTENSIONS_n_BASIC_PASSWORD
Optional basic authentication password to use within HTTP requests.
Example: To register, e.g., two ACTION extensions, where the second one requires basic authentication, you use
STEADYBIT_AGENT_ACTIONS_EXTENSIONS_0_URL
,
STEADYBIT_AGENT_ACTIONS_EXTENSIONS_1_URL
,
STEADYBIT_AGENT_ACTIONS_EXTENSIONS_1_BASIC_USERNAME
and
STEADYBIT_AGENT_ACTIONS_EXTENSIONS_1_BASIC_PASSWORD
.
Linux packages installations are using this approach by default. The package installer of the extensions is writing configuration files to /etc/steadybit/extensions.d/extension-*.yaml
which are read by the agent.
The content of each file is a YAML document with the following structure:
Extension registrations are persisted using the configured persistence provider. With each agent restart, the agent will re-register these manual extensions registrations.
Example:
POST http://localhost:42899/extensions
To check which extensions are registered in the agent, you need to take a look at the agent's logs.
Example output:
DISCOVERIES
referring to a .
ACTIONS
referring to a .
EVENTS
referring to a .
ADVICE
referring to a .
You can also register extensions via the .
You can find detailed information about the agent API in the documentation.