blob: 213cb8dcc9a7e8618bcaa26e75c0dde4e7223100 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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 + ("/ops/modules/yandex-cloud.nix"))
];
};
}).config.system.build.yandexCloudImage;
}
|