diff options
author | Alex Auvolat <alex@adnab.me> | 2022-05-31 11:59:20 +0200 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2022-05-31 11:59:20 +0200 |
commit | 2130407a0f9968ae272677e4fe787732b5bdad94 (patch) | |
tree | f2b8d5b883966cb83cbe169f8c70696617c93aac /app/drone-ci/deploy/runner-docker.hcl | |
parent | 93c9e7d9aeb664a84720e70bd59f2125ba6c744d (diff) | |
download | nixcfg-2130407a0f9968ae272677e4fe787732b5bdad94.tar.gz nixcfg-2130407a0f9968ae272677e4fe787732b5bdad94.zip |
Move back to using Docker runner
Diffstat (limited to 'app/drone-ci/deploy/runner-docker.hcl')
-rw-r--r-- | app/drone-ci/deploy/runner-docker.hcl | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/app/drone-ci/deploy/runner-docker.hcl b/app/drone-ci/deploy/runner-docker.hcl new file mode 100644 index 0000000..1f823bf --- /dev/null +++ b/app/drone-ci/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", "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 + } + } + } +} |