aboutsummaryrefslogtreecommitdiff
path: root/experimental/app/drone-ci-runner/deploy/runner-docker.hcl
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2023-01-04 10:06:06 +0100
committerAlex Auvolat <alex@adnab.me>2023-01-04 10:06:06 +0100
commitda78f3671e2bc532ec64069516fac0ff885c4d7b (patch)
tree79a4765afce877d0218712ba3df19c89be285cac /experimental/app/drone-ci-runner/deploy/runner-docker.hcl
parent26f78872e6d94671381c2b199c643e43a81b8b7f (diff)
downloadnixcfg-da78f3671e2bc532ec64069516fac0ff885c4d7b.tar.gz
nixcfg-da78f3671e2bc532ec64069516fac0ff885c4d7b.zip
staging: deploy things on bespin
Diffstat (limited to 'experimental/app/drone-ci-runner/deploy/runner-docker.hcl')
-rw-r--r--experimental/app/drone-ci-runner/deploy/runner-docker.hcl91
1 files changed, 91 insertions, 0 deletions
diff --git a/experimental/app/drone-ci-runner/deploy/runner-docker.hcl b/experimental/app/drone-ci-runner/deploy/runner-docker.hcl
new file mode 100644
index 0000000..d7c6ef4
--- /dev/null
+++ b/experimental/app/drone-ci-runner/deploy/runner-docker.hcl
@@ -0,0 +1,91 @@
+job "drone-runner" {
+ datacenters = ["neptune"]
+ type = "system"
+
+ group "runner" {
+
+ task "populate-nix-store" {
+ lifecycle {
+ hook = "prestart"
+ sidecar = false
+ }
+
+ driver = "docker"
+ config {
+ image = "nixpkgs/nix:nixos-21.05"
+ command = "sh"
+ args = [
+ "-c", "test -d /mnt/store || cp -rv /nix/{store,var} /mnt/"
+ ]
+ volumes = [
+ "/var/lib/drone/nix:/mnt",
+ ]
+ }
+
+ resources {
+ memory = 100
+ cpu = 100
+ }
+ }
+
+ task "drone-runner" {
+ driver = "docker"
+ config {
+ image = "drone/drone-runner-docker:1.8.1"
+
+ volumes = [
+ "/var/lib/drone/nix:/nix",
+ "/var/run/docker.sock:/var/run/docker.sock"
+ ]
+ }
+
+ template {
+ data = <<EOH
+DRONE_RPC_PROTO=https
+DRONE_RPC_HOST=drone.deuxfleurs.fr
+DRONE_RPC_SECRET={{ key "secrets/drone-ci/rpc_secret" | trimSpace }}
+DRONE_RUNNER_CAPACITY=1
+DRONE_DEBUG=true
+DRONE_LOGS_TRACE=true
+DRONE_RPC_DUMP_HTTP=true
+DRONE_RPC_DUMP_HTTP_BODY=true
+DRONE_RUNNER_NAME={{ env "attr.unique.hostname" }}
+DRONE_RUNNER_LABELS=nix:1
+EOH
+ destination = "secrets/env"
+ env = true
+ }
+
+ resources {
+ memory = 200
+ cpu = 100
+ }
+ }
+
+ task "drone-gc" {
+ driver = "docker"
+ config {
+ image = "drone/gc:latest"
+
+ volumes = [
+ "/var/run/docker.sock:/var/run/docker.sock"
+ ]
+ }
+
+ template {
+ data = <<EOH
+GC_DEBUG=true
+GC_CACHE=10gb
+GC_INTERVAL=10m
+EOH
+ destination = "secrets/env"
+ env = true
+ }
+
+ resources {
+ memory = 100
+ cpu = 100
+ }
+ }
+ }
+}