about summary refs log tree commit diff
path: root/ops/buildkite/default.nix
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2022-08-07 14:24:28 -0700
committerFranck Cuny <franck@fcuny.net>2022-08-07 14:34:38 -0700
commita7f8992b5ebf3bb9e3badf1286a0b785d7a2c10d (patch)
treeca8aa578c2df7385f5ae69b6367627c4954691e0 /ops/buildkite/default.nix
parentci(pipeline): the pipeline to be executed with a new build (diff)
downloadworld-a7f8992b5ebf3bb9e3badf1286a0b785d7a2c10d.tar.gz
feat(ops/buildkite): use terraform to manage buildkite
Change-Id: I63fc8fd81679457f7dbeafc2bd10c0eded0de991
Reviewed-on: https://cl.fcuny.net/c/world/+/707
Tested-by: CI
Reviewed-by: Franck Cuny <franck@fcuny.net>
Diffstat (limited to '')
-rw-r--r--ops/buildkite/default.nix25
1 files changed, 25 insertions, 0 deletions
diff --git a/ops/buildkite/default.nix b/ops/buildkite/default.nix
new file mode 100644
index 0000000..7daf7c2
--- /dev/null
+++ b/ops/buildkite/default.nix
@@ -0,0 +1,25 @@
+{ pkgs }:
+let
+  terraform = pkgs.terraform.withPlugins (p: [
+    p.buildkite
+    p.google
+  ]);
+in
+pkgs.stdenv.mkDerivation rec {
+  name = "tf-buildkite";
+  src = ./.;
+
+  upload = pkgs.writeShellScriptBin "tf-buildkite-upload" ''
+    set -ueo pipefail
+
+    cd $(git rev-parse --show-toplevel)/ops/buildkite
+    pass gcloud/terraform/fcuny-homelab > /dev/shm/tf-fcuny-homelab
+
+    export BUILDKITE_API_TOKEN=$(pass api/buildkite-terraform-token)
+    export GOOGLE_APPLICATION_CREDENTIALS=/dev/shm/tf-fcuny-homelab
+
+    ${terraform}/bin/terraform init
+    ${terraform}/bin/terraform plan
+    ${terraform}/bin/terraform apply
+  '';
+}