The image provided by this repository can be used to discover and register the extensions that are installed in an AWS ECS cluster.
The image needs to be added as an additional container in the agent task definition. It will then use the aws sdk to discover the extensions that are installed in the cluster and will sync/register them with the steadybit agent.
Environment Variable | Meaning | required | default |
---|---|---|---|
STEADYBIT_EXTENSION_ECS_CLUSTER_NAME |
The name of the ecs cluster. | yes | |
STEADYBIT_EXTENSION_AGENT_KEY |
The agent key (used to authenticate at the agent api). | yes | |
STEADYBIT_EXTENSION_INTERVAL |
The interval of the sync in seconds. | no | 30 |
STEADYBIT_EXTENSION_TASK_FAMILIES |
The task families that should be used to filter fetching running tasks | no | steadybit-extension-host, steadybit-extension-container, steadybit-extension-http, steadybit-extension-aws |
-
The task role needs to have the following permissions:
ecs:ListTasks
ecs:DescribeTasks
ecs:DescribeContainerInstances
ec2:DescribeInstances
-
Each extension task definition should have the following tags:
steadybit_extension_port
- the port on which the extension is runningsteadybit_extension_types
- the types of the extensions, separated by a:
, e.g.ACTION:DISCOVERY
steadybit_extension_daemon
- if the extension is a daemon, the value should betrue
, can be omitted otherwise
-
The tags need to be propagated to the tasks:
aws ecs create-service ... --propagate-tags TASK_DEFINITION ....
-
More details can be found in the docs