diff options
Diffstat (limited to 'corp/ops/default.nix')
-rw-r--r-- | corp/ops/default.nix | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/corp/ops/default.nix b/corp/ops/default.nix new file mode 100644 index 000000000000..59d63bd5101b --- /dev/null +++ b/corp/ops/default.nix @@ -0,0 +1,46 @@ +{ depot, lib, pkgs, ... }: + +depot.nix.readTree.drvTargets rec { + # Provide a Terraform wrapper with Yandex Cloud support. + terraform = pkgs.terraform.withPlugins (p: [ + p.yandex + ]); + + validate = depot.tools.checks.validateTerraform { + inherit terraform; + name = "corp"; + src = lib.cleanSource ./.; + }; + + # Yandex Cloud CLI + yc-cli = pkgs.stdenv.mkDerivation rec { + pname = "yc-cli"; + version = "0.106.0"; + + src = pkgs.fetchurl { + url = "https://storage.yandexcloud.net/yandexcloud-yc/release/${version}/linux/amd64/yc"; + sha256 = "sha256:1f7fq9rlihz91ld1vdjj9vq9ssq1ls031jin4zisxv75rcdpslh3"; + }; + + phases = [ "installPhase" ]; + installPhase = "install -D $src $out/bin/yc"; + }; + + deps = depot.tools.depot-deps.overrideDeps { + tf-yandex = { + attr = "corp.ops.terraform"; + cmd = "terraform"; + }; + + yc.attr = "corp.ops.yc-cli"; + }; + + # Base image for Yandex VMs. + yandex-base-image = (depot.third_party.nixos { + configuration = { ... }: { + imports = [ + (depot.path.origSrc + ("/corp/ops/modules/yandex-cloud.nix")) + ]; + }; + }).config.system.build.yandexCloudImage; +} |