about summary refs log tree commit diff
path: root/users/grfn/terraform/workspace.nix
diff options
context:
space:
mode:
Diffstat (limited to 'users/grfn/terraform/workspace.nix')
-rw-r--r--users/grfn/terraform/workspace.nix107
1 files changed, 0 insertions, 107 deletions
diff --git a/users/grfn/terraform/workspace.nix b/users/grfn/terraform/workspace.nix
deleted file mode 100644
index 114105642a3c..000000000000
--- a/users/grfn/terraform/workspace.nix
+++ /dev/null
@@ -1,107 +0,0 @@
-{ pkgs, depot, ... }:
-name: { plugins }: module_tf:
-
-let
-
-  inherit (pkgs) lib runCommand writeText writeScript;
-  inherit (lib) filterAttrsRecursive;
-
-  allPlugins = (p: plugins p ++ (with p; [
-    external
-    local
-    tls
-    p.null
-  ]));
-
-  tf = pkgs.terraform.withPlugins allPlugins;
-
-  cleanTerraform = filterAttrsRecursive (k: _: ! (builtins.elem k [
-    "__readTree"
-    "__readTreeChildren"
-  ]));
-
-  plugins_tf = {
-    terraform.required_providers = (builtins.listToAttrs (map
-      (p: {
-        name = lib.last (lib.splitString "/" p.provider-source-address);
-        value = {
-          source = p.provider-source-address;
-          version = p.version;
-        };
-      })
-      (allPlugins pkgs.terraform.plugins)));
-  };
-
-
-  module_tf' = module_tf // {
-    inherit (depot.users.grfn.terraform) globals;
-    plugins = plugins_tf;
-  };
-
-  module = runCommand "module" { } ''
-    mkdir $out
-    ${lib.concatStrings (lib.mapAttrsToList (k: config_tf:
-      (let
-        # TODO: filterAttrsRecursive?
-        configJson = writeText "${k}.tf.json"
-          (builtins.toJSON (cleanTerraform config_tf));
-      in ''
-        ${pkgs.jq}/bin/jq . ${configJson} > $out/${lib.escapeShellArg k}.tf.json
-      ''))
-      (cleanTerraform module_tf'))}
-  '';
-
-
-  tfcmd = writeScript "${name}-tfcmd" ''
-    set -e
-    dir="''${TF_STATE_ROOT:-$HOME/tfstate}/${name}"
-    cd "$dir"
-    rm -f *.json
-    cp ${module}/*.json .
-    exec ${tf}/bin/terraform "$(basename "$0")"
-  '';
-
-  init = writeScript "${name}-init" ''
-    set -e
-    dir="''${TF_STATE_ROOT:-$HOME/tfstate}/${name}"
-    [ -d "$dir" ] || mkdir -p "$dir"
-    cd "$dir"
-    rm -f *.json
-    cp ${module}/*.json .
-    exec ${tf}/bin/terraform init
-  '';
-
-  # TODO: import (-config)
-  tfcmds = runCommand "${name}-tfcmds" { } ''
-    mkdir -p $out/bin
-    ln -s ${init} $out/bin/init
-    ln -s ${tfcmd} $out/bin/validate
-    ln -s ${tfcmd} $out/bin/plan
-    ln -s ${tfcmd} $out/bin/apply
-    ln -s ${tfcmd} $out/bin/destroy
-  '';
-
-in
-{
-  inherit name module;
-  terraform = tf;
-  cmds = tfcmds;
-
-  # run = {
-  #   init = depot.nix.nixRunWrapper "init" tfcmds;
-  #   validate = depot.nix.nixRunWrapper "validate" tfcmds;
-  #   plan = depot.nix.nixRunWrapper "plan" tfcmds;
-  #   apply = depot.nix.nixRunWrapper "apply" tfcmds;
-  #   destroy = depot.nix.nixRunWrapper "destroy" tfcmds;
-  # };
-
-  test = runCommand "${name}-test" { } ''
-    set -e
-    export TF_STATE_ROOT=$(pwd)
-    ${tfcmds}/bin/init
-    ${tfcmds}/bin/validate
-    touch $out
-  '';
-
-  meta.targets = [ "module" "test" ];
-}