depot/ops/nixos/bvm-nixosmgmt/default.nix

43 lines
1,014 B
Nix
Raw Normal View History

2021-03-19 20:28:24 +00:00
# SPDX-FileCopyrightText: 2020 Luke Granger-Brown <depot@lukegb.com>
#
# SPDX-License-Identifier: Apache-2.0
{ depot, lib, ... }:
{
2021-03-19 20:28:24 +00:00
imports = [
../lib/bvm.nix
2021-04-10 17:20:35 +00:00
../../../nix/pkgs/rundeck-bin/module.nix
2021-03-19 20:28:24 +00:00
];
# Networking!
networking = {
hostName = "bvm-nixosmgmt";
2021-03-19 20:28:24 +00:00
hostId = "49b0fbc7";
interfaces.enp1s0 = {
ipv4.addresses = [{ address = "10.100.0.200"; prefixLength = 23; }];
};
};
my.ip.tailscale = "100.65.226.19";
2021-03-19 20:28:24 +00:00
2021-04-10 17:20:35 +00:00
services.rundeck.enable = true;
environment.etc."rundeck.nodes.yaml" = let
content = builtins.mapAttrs (name: value: {
nodename = name;
hostname = value.config.networking.fqdn;
tags = lib.concatStringsSep "," value.config.my.rundeck.tags;
username = "deployer";
osFamily = "unix";
osName = "Linux";
}) (lib.filterAttrs
(name: value: value.config.my.rundeck.expectedOnline)
depot.ops.nixos.systemConfigs
);
in {
text = builtins.toJSON content;
};
2021-03-19 20:28:24 +00:00
system.stateVersion = "21.05";
}