├── .circleci └── config.yml ├── .gitignore ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── demo ├── modules │ ├── hcloud-network │ │ ├── network.tf │ │ ├── output.tf │ │ ├── variables.tf │ │ └── versions.tf │ ├── hcloud-server │ │ ├── output.tf │ │ ├── servers.tf │ │ ├── variables.tf │ │ └── versions.tf │ ├── nomad-service │ │ ├── service.tf │ │ └── variables.tf │ └── user-data │ │ ├── data │ │ ├── bootstrap.sh │ │ ├── consul.hcl.tmpl │ │ └── nomad.hcl.tmpl │ │ ├── output.tf │ │ └── variables.tf └── setup │ ├── jobs │ ├── autoscaler.hcl │ ├── prometheus.hcl │ └── redis.hcl │ ├── main.tf │ ├── output.tf │ ├── providers.tf │ ├── variables.tf │ ├── versions.tf │ └── wait.sh ├── go.mod ├── go.sum ├── main.go └── plugin ├── config.go ├── config_test.go ├── hcloud.go ├── plugin.go ├── plugin_test.go ├── retry.go └── retry_test.go /.circleci/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/.circleci/config.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM hashicorp/nomad-autoscaler:0.3.7 2 | ADD bin/hcloud-server /plugins/ 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/README.md -------------------------------------------------------------------------------- /demo/modules/hcloud-network/network.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/modules/hcloud-network/network.tf -------------------------------------------------------------------------------- /demo/modules/hcloud-network/output.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/modules/hcloud-network/output.tf -------------------------------------------------------------------------------- /demo/modules/hcloud-network/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/modules/hcloud-network/variables.tf -------------------------------------------------------------------------------- /demo/modules/hcloud-network/versions.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/modules/hcloud-network/versions.tf -------------------------------------------------------------------------------- /demo/modules/hcloud-server/output.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/modules/hcloud-server/output.tf -------------------------------------------------------------------------------- /demo/modules/hcloud-server/servers.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/modules/hcloud-server/servers.tf -------------------------------------------------------------------------------- /demo/modules/hcloud-server/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/modules/hcloud-server/variables.tf -------------------------------------------------------------------------------- /demo/modules/hcloud-server/versions.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/modules/hcloud-server/versions.tf -------------------------------------------------------------------------------- /demo/modules/nomad-service/service.tf: -------------------------------------------------------------------------------- 1 | resource "nomad_job" "service" { 2 | jobspec = file(var.path) 3 | } -------------------------------------------------------------------------------- /demo/modules/nomad-service/variables.tf: -------------------------------------------------------------------------------- 1 | variable "path" {} -------------------------------------------------------------------------------- /demo/modules/user-data/data/bootstrap.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/modules/user-data/data/bootstrap.sh -------------------------------------------------------------------------------- /demo/modules/user-data/data/consul.hcl.tmpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/modules/user-data/data/consul.hcl.tmpl -------------------------------------------------------------------------------- /demo/modules/user-data/data/nomad.hcl.tmpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/modules/user-data/data/nomad.hcl.tmpl -------------------------------------------------------------------------------- /demo/modules/user-data/output.tf: -------------------------------------------------------------------------------- 1 | output "data" { 2 | value = "#cloud-config\n${yamlencode(local.user_data)}" 3 | } -------------------------------------------------------------------------------- /demo/modules/user-data/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/modules/user-data/variables.tf -------------------------------------------------------------------------------- /demo/setup/jobs/autoscaler.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/setup/jobs/autoscaler.hcl -------------------------------------------------------------------------------- /demo/setup/jobs/prometheus.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/setup/jobs/prometheus.hcl -------------------------------------------------------------------------------- /demo/setup/jobs/redis.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/setup/jobs/redis.hcl -------------------------------------------------------------------------------- /demo/setup/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/setup/main.tf -------------------------------------------------------------------------------- /demo/setup/output.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/setup/output.tf -------------------------------------------------------------------------------- /demo/setup/providers.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/setup/providers.tf -------------------------------------------------------------------------------- /demo/setup/variables.tf: -------------------------------------------------------------------------------- 1 | variable "hcloud_token" { 2 | sensitive = true 3 | } 4 | -------------------------------------------------------------------------------- /demo/setup/versions.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/setup/versions.tf -------------------------------------------------------------------------------- /demo/setup/wait.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/demo/setup/wait.sh -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/go.sum -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/main.go -------------------------------------------------------------------------------- /plugin/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/plugin/config.go -------------------------------------------------------------------------------- /plugin/config_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/plugin/config_test.go -------------------------------------------------------------------------------- /plugin/hcloud.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/plugin/hcloud.go -------------------------------------------------------------------------------- /plugin/plugin.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/plugin/plugin.go -------------------------------------------------------------------------------- /plugin/plugin_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/plugin/plugin_test.go -------------------------------------------------------------------------------- /plugin/retry.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/plugin/retry.go -------------------------------------------------------------------------------- /plugin/retry_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewChubatiuk/nomad-hcloud-autoscaler/HEAD/plugin/retry_test.go --------------------------------------------------------------------------------