This method will install the Steadybit Agent on your machine using Docker compose. It will run the agent as well as the extension-http, extension-container, and extension-host.
To install the agent, you must be able to access the following URLs via HTTPS (443) on your target environment:
- https://platform.steadybit.com (Platform)
- https://get.steadybit.com (Setup Scripts)
- https://ghcr.io and https://github.com (Container Images)
- Linux (needs the Docker and Docker compose plugin installed)
- Windows (using Docker Desktop using the WSL2 engine)
- MacOS (using Docker Desktop)
{% hint style="warning" %} Docker Desktop: You're only able to attack containers and processes running on Docker
Windows Subsystem for Linux: With the default Kernel you won't be able to execute network attacks. {% endhint %}
To deploy the agent to Docker, you can copy the installation script from the setup page in the SaaS platform.
Alternatively, you can update and run the script below with your agent key, which you find in the platform's setup page:
wget https://get.steadybit.com/agent.sh
chmod a+x agent.sh
./agent.sh --key <agent-key> <command>
Parameter | Description | Default |
---|---|---|
<command> |
The action to take. Either one of up , down , restart , config |
up |
--key |
The agent key. Can be found on your platform's [https://platform.steadybit.com/settings/agents/setup](setup page). | |
--platform-url |
If running on-prem, the url of your platform installation to use | https://platform.steadybit.com |
--image |
The Agent Docker image to use. | steadybit/agent:latest |
{% hint style="info" %}
In case you don't want to deploy to Docker directly using the script or you need to modify it, you can use the config
command to print the Docker
compose configuration and apply it yourself.
{% endhint %}
The Steadybit Agent uses HTTP and websockets to communicate with the platform. To simplify the agent deployment, consider to allow direct communication to our platform.
If a single entry into and out of your network is required, you can configure the agent to use an HTTP proxy. Export the following environment
variables before running the script or edit the Docker compose configuration printed by the config
command.
export STEADYBIT_AGENT_PROXY_HOST="<hostname or address of your proxy>"
export STEADYBIT_AGENT_PROXY_PORT="<port of your proxy>"
export STEADYBIT_AGENT_PROXY_PROTOCOL="<proxy protocol e.g. http>"
export STEADYBIT_AGENT_PROXY_USER="<username of the proxy (if needed)>"
export STEADYBIT_AGENT_PROXY_PASSWORD="<password of the proxy (if needed)>"
./agent.sh --key <agent-key> <command>
To use additional extensions (e.g. extension-jvm for attacking Java
applications), you need to edit the Docker compose file generated using the config
command: Add the extension as an additional service in the
Docker compose and register it via environment variables to the
agent. See extension installation to learn more about extension registration.