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;
 | 
						|
}
 |