From 9eede1c4df124c98bedb9b82827e25f011aadb76 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Fri, 22 Sep 2023 19:37:18 +0300 Subject: chore(ops): move yandex-cloud image module out of corp Change-Id: Idc8cc3a640fc895cd3882e93a193212adb743abb Reviewed-on: https://cl.tvl.fyi/c/depot/+/9425 Tested-by: BuildkiteCI Reviewed-by: flokli --- corp/ops/default.nix | 2 +- corp/ops/modules/yandex-cloud.nix | 79 --------------------------------------- 2 files changed, 1 insertion(+), 80 deletions(-) delete mode 100644 corp/ops/modules/yandex-cloud.nix (limited to 'corp') diff --git a/corp/ops/default.nix b/corp/ops/default.nix index 59d63bd510..213cb8dcc9 100644 --- a/corp/ops/default.nix +++ b/corp/ops/default.nix @@ -39,7 +39,7 @@ depot.nix.readTree.drvTargets rec { yandex-base-image = (depot.third_party.nixos { configuration = { ... }: { imports = [ - (depot.path.origSrc + ("/corp/ops/modules/yandex-cloud.nix")) + (depot.path.origSrc + ("/ops/modules/yandex-cloud.nix")) ]; }; }).config.system.build.yandexCloudImage; diff --git a/corp/ops/modules/yandex-cloud.nix b/corp/ops/modules/yandex-cloud.nix deleted file mode 100644 index cca81bc0ca..0000000000 --- a/corp/ops/modules/yandex-cloud.nix +++ /dev/null @@ -1,79 +0,0 @@ -# Profile for virtual machines on Yandex Cloud, intended for disk -# images. -# -# https://cloud.yandex.com/en/docs/compute/operations/image-create/custom-image -# -# TODO(tazjin): Upstream to nixpkgs once it works well. -{ config, lib, pkgs, modulesPath, ... }: - -let - cfg = config.virtualisation.yandexCloud; - - # Kernel modules required for interacting with the hypervisor. These - # must be available during stage 1 boot and during normal operation, - # as disks and network do not work without them. - modules = [ - "virtio-net" - "virtio-blk" - "virtio-pci" - "virtiofs" - ]; -in -{ - imports = [ - "${modulesPath}/profiles/headless.nix" - ]; - - options = { - virtualisation.yandexCloud.rootPartitionUuid = with lib; mkOption { - type = types.str; - default = "C55A5EE2-E5FA-485C-B3AE-CC928429AB6B"; - - description = '' - UUID to use for the root partition of the disk image. Yandex - Cloud requires that root partitions are mounted by UUID. - - Most users do not need to set this to a non-default value. - ''; - }; - }; - - config = { - fileSystems."/" = { - device = "/dev/disk/by-uuid/${lib.toLower cfg.rootPartitionUuid}"; - fsType = "ext4"; - autoResize = true; - }; - - boot = { - loader.grub.device = "/dev/vda"; - - initrd.kernelModules = modules; - kernelModules = modules; - kernelParams = [ - # Enable support for the serial console - "console=ttyS0" - ]; - - growPartition = true; - }; - - environment.etc.securetty = { - text = "ttyS0"; - mode = "0644"; - }; - - systemd.services."serial-getty@ttyS0".enable = true; - - services.openssh.enable = true; - services.cloud-init.enable = true; - - system.build.yandexCloudImage = import (pkgs.path + "/nixos/lib/make-disk-image.nix") { - inherit lib config pkgs; - additionalSpace = "128M"; - format = "qcow2"; - partitionTableType = "legacy+gpt"; - rootGPUID = cfg.rootPartitionUuid; - }; - }; -} -- cgit 1.4.1