2020-09-30 21:39:09 +00:00
---
title: droneci_autoscaler
type: docs
---
2020-09-30 22:18:15 +00:00
[![Source Code ](https://img.shields.io/badge/gitea-source%20code-blue?logo=gitea&logoColor=white )](https://gitea.rknet.org/ansible/xoxys.droneci_autoscaler) [![Build Status ](https://img.shields.io/drone/build/ansible/xoxys.droneci_autoscaler?logo=drone&server=https%3A%2F%2Fdrone.rknet.org )](https://drone.rknet.org/ansible/xoxys.droneci_autoscaler) [![License: MIT ](https://img.shields.io/badge/License-MIT-blue.svg?label=license )](https://gitea.rknet.org/ansible/xoxys.droneci_autoscaler/src/branch/master/LICENSE)
2020-09-30 21:39:09 +00:00
Setup [Drone CI autoscaler ](https://autoscale.drone.io/ ).
* [Default Variables ](#default-variables )
* [droneci_autoscaler_agent_architecture ](#droneci_autoscaler_agent_architecture )
* [droneci_autoscaler_agent_concurrency ](#droneci_autoscaler_agent_concurrency )
* [droneci_autoscaler_agent_image ](#droneci_autoscaler_agent_image )
* [droneci_autoscaler_agent_os ](#droneci_autoscaler_agent_os )
* [droneci_autoscaler_agent_package_upgrade ](#droneci_autoscaler_agent_package_upgrade )
2021-01-10 12:54:10 +00:00
* [droneci_autoscaler_agent_packages ](#droneci_autoscaler_agent_packages )
2020-09-30 21:39:09 +00:00
* [droneci_autoscaler_agent_token ](#droneci_autoscaler_agent_token )
2020-10-21 20:26:10 +00:00
* [droneci_autoscaler_agent_version ](#droneci_autoscaler_agent_version )
2020-09-30 21:39:09 +00:00
* [droneci_autoscaler_agent_volumes ](#droneci_autoscaler_agent_volumes )
* [droneci_autoscaler_db_type ](#droneci_autoscaler_db_type )
2020-12-06 12:45:09 +00:00
* [droneci_autoscaler_docker_auth_config ](#droneci_autoscaler_docker_auth_config )
2020-10-01 08:39:21 +00:00
* [droneci_autoscaler_exposed_ports ](#droneci_autoscaler_exposed_ports )
2020-09-30 21:39:09 +00:00
* [droneci_autoscaler_gc_enabled ](#droneci_autoscaler_gc_enabled )
* [droneci_autoscaler_image ](#droneci_autoscaler_image )
* [droneci_autoscaler_instances ](#droneci_autoscaler_instances )
* [droneci_autoscaler_interval ](#droneci_autoscaler_interval )
* [droneci_autoscaler_logs_color ](#droneci_autoscaler_logs_color )
* [droneci_autoscaler_logs_debug ](#droneci_autoscaler_logs_debug )
* [droneci_autoscaler_logs_pretty ](#droneci_autoscaler_logs_pretty )
* [droneci_autoscaler_memory_limit ](#droneci_autoscaler_memory_limit )
* [droneci_autoscaler_memory_reservation ](#droneci_autoscaler_memory_reservation )
* [droneci_autoscaler_networks ](#droneci_autoscaler_networks )
* [droneci_autoscaler_networks_applied ](#droneci_autoscaler_networks_applied )
* [droneci_autoscaler_pool_max ](#droneci_autoscaler_pool_max )
* [droneci_autoscaler_pool_min ](#droneci_autoscaler_pool_min )
* [droneci_autoscaler_pool_ttl ](#droneci_autoscaler_pool_ttl )
* [droneci_autoscaler_restart_policy ](#droneci_autoscaler_restart_policy )
2020-12-06 12:45:09 +00:00
* [droneci_autoscaler_runner_env_file ](#droneci_autoscaler_runner_env_file )
2020-09-30 21:39:09 +00:00
* [droneci_autoscaler_runner_privileged ](#droneci_autoscaler_runner_privileged )
* [droneci_autoscaler_runner_volumes ](#droneci_autoscaler_runner_volumes )
* [droneci_autoscaler_server_host ](#droneci_autoscaler_server_host )
* [droneci_autoscaler_server_proto ](#droneci_autoscaler_server_proto )
* [droneci_autoscaler_server_token ](#droneci_autoscaler_server_token )
* [droneci_autoscaler_service_directory ](#droneci_autoscaler_service_directory )
* [droneci_autoscaler_service_stopped ](#droneci_autoscaler_service_stopped )
* [droneci_autoscaler_sshkey ](#droneci_autoscaler_sshkey )
* [droneci_autoscaler_version ](#droneci_autoscaler_version )
* [droneci_autoscaler_volumes ](#droneci_autoscaler_volumes )
* [droneci_autoscaler_watchtower_enabled ](#droneci_autoscaler_watchtower_enabled )
* [Dependencies ](#dependencies )
---
## Default Variables
### droneci_autoscaler_agent_architecture
#### Default value
```YAML
droneci_autoscaler_agent_architecture: amd64
```
### droneci_autoscaler_agent_concurrency
#### Default value
```YAML
droneci_autoscaler_agent_concurrency: 2
```
### droneci_autoscaler_agent_image
#### Default value
```YAML
2020-10-21 20:26:10 +00:00
droneci_autoscaler_agent_image: drone/drone-runner-docker:{{ droneci_autoscaler_agent_version
}}
2020-09-30 21:39:09 +00:00
```
### droneci_autoscaler_agent_os
#### Default value
```YAML
droneci_autoscaler_agent_os: linux
```
### droneci_autoscaler_agent_package_upgrade
#### Default value
```YAML
droneci_autoscaler_agent_package_upgrade: false
```
2021-01-10 12:54:10 +00:00
### droneci_autoscaler_agent_packages
Install extra required packages during agents bootstrapping.
#### Default value
```YAML
droneci_autoscaler_agent_packages: []
```
2020-09-30 21:39:09 +00:00
### droneci_autoscaler_agent_token
#### Default value
```YAML
droneci_autoscaler_agent_token: myveryownsecret
```
2020-10-21 20:26:10 +00:00
### droneci_autoscaler_agent_version
#### Default value
```YAML
droneci_autoscaler_agent_version: latest
```
2020-09-30 21:39:09 +00:00
### droneci_autoscaler_agent_volumes
#### Default value
```YAML
droneci_autoscaler_agent_volumes: []
```
### droneci_autoscaler_db_type
Database type to use (default sqlite). All other DB variable will ony be used it DB type is **not** sqlite.
#### Default value
```YAML
droneci_autoscaler_db_type: sqlite
```
2020-12-06 12:45:09 +00:00
### droneci_autoscaler_docker_auth_config
Docker registries auth config file (config.json).
#### Default value
```YAML
droneci_autoscaler_docker_auth_config: |
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "abc...xy="
}
}
}
```
2020-10-01 08:39:21 +00:00
### droneci_autoscaler_exposed_ports
#### Default value
```YAML
droneci_autoscaler_exposed_ports: _unset_
```
#### Example usage
```YAML
droneci_autoscaler_exposed_ports:
- "8080:8080"
```
2020-09-30 21:39:09 +00:00
### droneci_autoscaler_gc_enabled
#### Default value
```YAML
droneci_autoscaler_gc_enabled: false
```
### droneci_autoscaler_image
#### Default value
```YAML
2020-10-21 20:26:10 +00:00
droneci_autoscaler_image: drone/autoscaler:{{ droneci_autoscaler_version }}
2020-09-30 21:39:09 +00:00
```
### droneci_autoscaler_instances
#### Default value
```YAML
droneci_autoscaler_instances: []
```
#### Example usage
```YAML
droneci_autoscaler_instances:
- name: scaler_amd64
pool_max: 50
pool_ttl: 120m
agent_concurrency: 15
agent_architecture: amd64
sshkey: "dummy"
2020-10-01 08:39:21 +00:00
api_host: "drone-amd64.example.com"
2020-12-06 12:45:09 +00:00
docker_auth_config: |
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "abc...xy="
}
}
}
2020-09-30 21:39:09 +00:00
provider_config:
- name: DRONE_HETZNERCLOUD_DATACENTER
2020-10-01 09:06:51 +00:00
value: fsn1-dc14
2020-09-30 21:39:09 +00:00
- name: DRONE_HETZNERCLOUD_TOKEN
value: abc123
- name: DRONE_HETZNERCLOUD_IMAGE
value: ubuntu-18.04
- name: DRONE_HETZNERCLOUD_TYPE
value:
# SSH key id from hcloud API
- name: DRONE_HETZNERCLOUD_SSHKEY
value:
- name: DRONE_HETZNERCLOUD_USERDATA_FILE
value: /etc/scaler/userdata.yml
```
### droneci_autoscaler_interval
#### Default value
```YAML
droneci_autoscaler_interval: 1m
```
### droneci_autoscaler_logs_color
#### Default value
```YAML
droneci_autoscaler_logs_color: false
```
### droneci_autoscaler_logs_debug
#### Default value
```YAML
droneci_autoscaler_logs_debug: false
```
### droneci_autoscaler_logs_pretty
#### Default value
```YAML
droneci_autoscaler_logs_pretty: true
```
### droneci_autoscaler_memory_limit
#### Default value
```YAML
droneci_autoscaler_memory_limit: _unset_
```
#### Example usage
```YAML
droneci_autoscaler_memory_limit: 512m
```
### droneci_autoscaler_memory_reservation
#### Default value
```YAML
droneci_autoscaler_memory_reservation: _unset_
```
#### Example usage
```YAML
droneci_autoscaler_memory_reservation: 256m
```
### droneci_autoscaler_networks
#### Default value
```YAML
droneci_autoscaler_networks:
- name: droneci_default
external: true
```
#### Example usage
```YAML
droneci_autoscaler_networks:
- name: default
# optional network driver, defaults to 'bride'
driver: host
```
### droneci_autoscaler_networks_applied
#### Default value
```YAML
droneci_autoscaler_networks_applied:
- droneci_default
```
### droneci_autoscaler_pool_max
#### Default value
```YAML
droneci_autoscaler_pool_max: 1
```
### droneci_autoscaler_pool_min
#### Default value
```YAML
droneci_autoscaler_pool_min: 0
```
### droneci_autoscaler_pool_ttl
#### Default value
```YAML
droneci_autoscaler_pool_ttl: 50m
```
### droneci_autoscaler_restart_policy
#### Default value
```YAML
droneci_autoscaler_restart_policy: always
```
2020-12-06 12:45:09 +00:00
### droneci_autoscaler_runner_env_file
2020-12-06 22:42:52 +00:00
The file needs to be mounted to the runner **and** agent.
2020-12-06 12:45:09 +00:00
#### Default value
2020-12-06 22:42:52 +00:00
```YAML
droneci_autoscaler_runner_env_file: _unset_
```
#### Example usage
2020-12-06 12:45:09 +00:00
```YAML
droneci_autoscaler_runner_env_file: /etc/drone.conf
```
2020-09-30 21:39:09 +00:00
### droneci_autoscaler_runner_privileged
#### Default value
```YAML
droneci_autoscaler_runner_privileged: []
```
### droneci_autoscaler_runner_volumes
#### Default value
```YAML
droneci_autoscaler_runner_volumes: []
```
### droneci_autoscaler_server_host
#### Default value
```YAML
droneci_autoscaler_server_host: droneci
```
### droneci_autoscaler_server_proto
#### Default value
```YAML
droneci_autoscaler_server_proto: http
```
### droneci_autoscaler_server_token
#### Default value
```YAML
droneci_autoscaler_server_token: myveryownsecret
```
### droneci_autoscaler_service_directory
#### Default value
```YAML
droneci_autoscaler_service_directory: /var/lib/docker/services/droneci_autoscaler
```
### droneci_autoscaler_service_stopped
#### Default value
```YAML
droneci_autoscaler_service_stopped: false
```
### droneci_autoscaler_sshkey
SSH private key that will by used by the autoscaler to connect to the agents. If you dont provide a private key, a keypair will be generated automatically.
#### Default value
```YAML
droneci_autoscaler_sshkey: _unset_
```
### droneci_autoscaler_version
#### Default value
```YAML
droneci_autoscaler_version: latest
```
### droneci_autoscaler_volumes
Define required docker volumes. If you don't use sqlite you could remove the default volume.
#### Default value
```YAML
droneci_autoscaler_volumes:
- name: data
dest: /var/lib/drone_autoscaler
bind: false
```
#### Example usage
```YAML
droneci_autoscaler_volumes:
# Instead of the name you could specify a path on the container host system,
# but you also have to enable bind mount for this volume
- name: data
# target location inside the container
dest: /var/lib/drone_autoscaler
# enable bind mount, if false volume will be configured as named volume
# keep in mind you MUST set bind in any case
bind: True
```
### droneci_autoscaler_watchtower_enabled
#### Default value
```YAML
droneci_autoscaler_watchtower_enabled: false
```
## Dependencies
None.