dianplus/Setup Aliyun ECS Spot Runner
Create and setup a self-hosted runner on Aliyun ECS Spot instance
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| aliyun_access_key_id | Aliyun Access Key ID | yes | — |
| aliyun_access_key_secret | Aliyun Access Key Secret | yes | — |
| aliyun_region_id | Aliyun Region ID (e.g., cn-hangzhou) | yes | — |
| aliyun_vpc_id | VPC ID | yes | — |
| aliyun_security_group_id | Security Group ID | yes | — |
| aliyun_image_id | Image ID (optional if image_family is provided) | no | — |
| aliyun_image_family | Image Family (takes precedence over image_id). Must match the architecture specified in 'arch' parameter (e.g., acs:ubuntu_24_04_x64 for amd64, acs:ubuntu_24_04_arm64 for arm64) | no | — |
| aliyun_key_pair_name | SSH Key Pair Name | no | — |
| aliyun_ecs_self_destruct_role_name | ECS Self-Destruct Role Name for instance auto-cleanup | no | — |
| github_token | GitHub Token for getting registration token | yes | — |
| runner_labels | Runner labels (comma-separated) | no | self-hosted,Linux,aliyun,spot-instance |
| runner_version | GitHub Actions Runner version | no | 2.330.0 |
| aliyun_instance_type | Specific instance type (e.g., ecs.c7.2xlarge). When provided, ignores min_cpu/max_cpu/min_mem/max_mem/arch and queries spot price for this exact type. Only single value allowed. | no | — |
| arch | Architecture (amd64 or arm64) | no | amd64 |
| min_cpu | Minimum CPU cores | no | 8 |
| min_mem | Minimum memory in GB (auto-calculated if not provided) | no | — |
| max_cpu | Maximum CPU cores | no | 64 |
| max_mem | Maximum memory in GB (auto-calculated if not provided) | no | — |
| http_proxy | HTTP Proxy URL | no | — |
| https_proxy | HTTPS Proxy URL | no | — |
| no_proxy | NO_PROXY environment variable value | no | — |
| vswitch_id_a | VSwitch ID for zone *-a | no | — |
| vswitch_id_b | VSwitch ID for zone *-b | no | — |
| vswitch_id_c | VSwitch ID for zone *-c | no | — |
| vswitch_id_d | VSwitch ID for zone *-d | no | — |
| vswitch_id_e | VSwitch ID for zone *-e | no | — |
| vswitch_id_f | VSwitch ID for zone *-f | no | — |
| vswitch_id_g | VSwitch ID for zone *-g | no | — |
| vswitch_id_h | VSwitch ID for zone *-h | no | — |
| vswitch_id_i | VSwitch ID for zone *-i | no | — |
| vswitch_id_j | VSwitch ID for zone *-j | no | — |
| vswitch_id_k | VSwitch ID for zone *-k | no | — |
| vswitch_id_l | VSwitch ID for zone *-l | no | — |
| vswitch_id_m | VSwitch ID for zone *-m | no | — |
| vswitch_id_n | VSwitch ID for zone *-n | no | — |
| vswitch_id_o | VSwitch ID for zone *-o | no | — |
| vswitch_id_p | VSwitch ID for zone *-p | no | — |
| vswitch_id_q | VSwitch ID for zone *-q | no | — |
| vswitch_id_r | VSwitch ID for zone *-r | no | — |
| vswitch_id_s | VSwitch ID for zone *-s | no | — |
| vswitch_id_t | VSwitch ID for zone *-t | no | — |
| vswitch_id_u | VSwitch ID for zone *-u | no | — |
| vswitch_id_v | VSwitch ID for zone *-v | no | — |
| vswitch_id_w | VSwitch ID for zone *-w | no | — |
| vswitch_id_x | VSwitch ID for zone *-x | no | — |
| vswitch_id_y | VSwitch ID for zone *-y | no | — |
| vswitch_id_z | VSwitch ID for zone *-z | no | — |
Outputs
| name | description |
|---|---|
| instance_id | Created ECS instance ID |
| runner_name | Runner name |
| runner_online | Whether runner is online (true/false) |
| cpu_cores | Instance CPU cores |