kapacitor-scale/README.md
2016-04-22 14:02:53 +00:00

55 lines
1.0 KiB
Markdown

## Usage
### Configuration
kapacitor.toml:
```
[udf]
[udf.functions]
[udf.functions.scale]
socket = "/tmp/kapacitor-scale.sock"
timeout = "10s"
```
then start kapacitor-scale like this:
```
$ kapacitor-scale -
```
### Example
```
stream...
.scale()
.id('rancherServiceId')
.when('value > 10')
.by('current + 1')
.min_instances(2)
.max_instances(10)
.cooldown('1m')
```
#### Options
- id: Id of the rancher service to scale
- when: expression, should evaluate to true
(see https://github.com/pk-rawat/gostr)
- by: expression, should evaluate to a number
(see https://github.com/pk-rawat/gostr)
- max\_instances: maximum instances to scale out
- max\_instances: minimum instances to scale in
- cooldown: timeout to wait until next scaling action
## Tests
$ go test ./handler
## TODO
- start cooldown timer, when service was actually scaled up
- do not freak out, when rancher service is not available
- (free up unneeded services, when removed from rancher)
- procname contains rancher url with credentials! (change argv)