e779b866cc
Change-Id: If783a7a4315ecab70f20347a66fb72f682dbd97c Reviewed-on: https://cl.tvl.fyi/c/depot/+/8609 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
46 lines
1.1 KiB
Nix
46 lines
1.1 KiB
Nix
{ 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;
|
|
}
|