diff options
author | Alex Auvolat <alex@adnab.me> | 2022-08-24 15:42:47 +0200 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2022-08-24 15:42:47 +0200 |
commit | 2e8923b383eb06c53261eee8e5c442b857fb67e4 (patch) | |
tree | 0ad148f75f7b54dfed2dbac8f43f6df9badc502a /app/drone-ci/build | |
parent | 9848f3090f77363a2fda0f9fa673ebcf1fb8228c (diff) | |
download | nixcfg-2e8923b383eb06c53261eee8e5c442b857fb67e4.tar.gz nixcfg-2e8923b383eb06c53261eee8e5c442b857fb67e4.zip |
Move app files into cluster subdirectories; add prod garage
Diffstat (limited to 'app/drone-ci/build')
-rw-r--r-- | app/drone-ci/build/.gitignore | 2 | ||||
-rw-r--r-- | app/drone-ci/build/Makefile | 8 | ||||
-rw-r--r-- | app/drone-ci/build/build-qcow2.nix | 24 | ||||
-rw-r--r-- | app/drone-ci/build/machine-config.nix | 89 |
4 files changed, 0 insertions, 123 deletions
diff --git a/app/drone-ci/build/.gitignore b/app/drone-ci/build/.gitignore deleted file mode 100644 index ef92077..0000000 --- a/app/drone-ci/build/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -result/ -*.qcow2.zst diff --git a/app/drone-ci/build/Makefile b/app/drone-ci/build/Makefile deleted file mode 100644 index 2814a0d..0000000 --- a/app/drone-ci/build/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -.PHONY: all - -all: - nix-build '<nixpkgs/nixos>' -A config.system.build.qcow2 --arg configuration "{ imports = [ ./build-qcow2.nix ]; }" --show-trace - zstd -7 -i result/nixos.qcow2 -o drone-runner.qcow2.zst -f - RESULTPATH=`readlink result`; rm result; nix-store --delete $$RESULTPATH - rclone copy drone-runner.qcow2.zst grgdf:alex/ -vv - diff --git a/app/drone-ci/build/build-qcow2.nix b/app/drone-ci/build/build-qcow2.nix deleted file mode 100644 index 3ad45f4..0000000 --- a/app/drone-ci/build/build-qcow2.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -{ - imports = - [ - <nixpkgs/nixos/modules/installer/cd-dvd/channel.nix> - ./machine-config.nix - ]; - - system.build.qcow2 = import <nixpkgs/nixos/lib/make-disk-image.nix> { - inherit lib config; - pkgs = import <nixpkgs> { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package - diskSize = 32768; - format = "qcow2"; - configFile = pkgs.writeText "configuration.nix" - '' - { - imports = [ <./machine-config.nix> ]; - } - ''; - }; -} diff --git a/app/drone-ci/build/machine-config.nix b/app/drone-ci/build/machine-config.nix deleted file mode 100644 index 73d3f09..0000000 --- a/app/drone-ci/build/machine-config.nix +++ /dev/null @@ -1,89 +0,0 @@ -{ pkgs, lib, ... }: - -with lib; - -{ - imports = [ - <nixpkgs/nixos/modules/profiles/qemu-guest.nix> - ]; - - config = { - fileSystems."/" = { - device = "/dev/disk/by-label/nixos"; - fsType = "ext4"; - autoResize = true; - }; - - fileSystems."/secrets" = { - device = "/dev/disk/by-label/QEMU\\x20VVFAT"; - fsType = "vfat"; - }; - - boot.growPartition = true; - boot.kernelParams = [ "console=ttyS0" ]; - boot.loader.grub.device = "/dev/vda"; - boot.loader.timeout = 0; - - environment.systemPackages = with pkgs; [ - iotop - jnettop - htop - ]; - - users.extraUsers.root.openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJpaBZdYxHqMxhv2RExAOa7nkKhPBOHupMP3mYaZ73w9 lx@lindy" - ]; - services.openssh.enable = true; - services.openssh.permitRootLogin = "prohibit-password"; - networking.firewall = { - enable = true; - allowedTCPPorts = [ 22 ]; - }; - - virtualisation.docker.enable = true; - virtualisation.oci-containers.backend = "docker"; - systemd.services.drone_nix_setup = { - enable = true; - path = [ - pkgs.docker - ]; - script = '' - docker run --rm -v /var/lib/drone/nix:/mnt nixpkgs/nix:nixos-21.05 cp -r /nix/{store,var} /mnt/ - ''; - wantedBy = [ "multi-user.target" ]; - }; - virtualisation.oci-containers.containers = { - drone_runner = { - image = "drone/drone-runner-docker:1.4.0"; - volumes = [ - "/var/lib/drone/nix:/nix" - "/var/run/docker.sock:/var/run/docker.sock" - ]; - environment = { - DRONE_RPC_PROTO = "https"; - DRONE_RPC_HOST = "drone.deuxfleurs.fr"; - DRONE_RUNNER_CAPACITY = "1"; - DRONE_DEBUG = "true"; - DRONE_LOGS_TRACE = "true"; - DRONE_RPC_DUMP_HTTP = "true"; - DRONE_RPC_DUMP_HTTP_BODY = "true"; - DRONE_RUNNER_LABELS = "nix:1"; - }; - environmentFiles = [ - "/secrets/secret_env" - ]; - }; - drone_gc = { - image = "drone/gc:latest"; - volumes = [ - "/var/run/docker.sock:/var/run/docker.sock" - ]; - environment = { - GC_DEBUG = "true"; - GC_CACHE = "10gb"; - GC_INTERVAL = "10m"; - }; - }; - }; - }; -} |