nixos/deploy-rs: Show container unit log while deploying
This commit is contained in:
parent
30c8913c08
commit
3edb54fef6
64
nixos/boxes/colony/vms/shill/containers/chatterbox.nix
Normal file
64
nixos/boxes/colony/vms/shill/containers/chatterbox.nix
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
{ lib, ... }: {
|
||||||
|
nixos.systems.chatterbox = {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
nixpkgs = "mine";
|
||||||
|
|
||||||
|
assignments = {
|
||||||
|
internal = {
|
||||||
|
name = "chatterbox-ctr";
|
||||||
|
domain = lib.my.colony.domain;
|
||||||
|
ipv4.address = "${lib.my.colony.start.ctrs.v4}5";
|
||||||
|
ipv6 = {
|
||||||
|
iid = "::5";
|
||||||
|
address = "${lib.my.colony.start.ctrs.v6}5";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
configuration = { lib, pkgs, config, assignments, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) mkMerge mkIf;
|
||||||
|
inherit (lib.my) networkdAssignment;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkMerge [
|
||||||
|
{
|
||||||
|
my = {
|
||||||
|
deploy.enable = false;
|
||||||
|
server.enable = true;
|
||||||
|
|
||||||
|
secrets = {
|
||||||
|
#key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICkly/tnPmoX05lDjEpQOkllPqYA0PY92pOKqvx8Po02";
|
||||||
|
files."synapse.yaml" = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
firewall = {
|
||||||
|
tcp.allowed = [ 8008 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd = {
|
||||||
|
network.networks."80-container-host0" = networkdAssignment "host0" assignments.internal;
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
#matrix-synapse = {
|
||||||
|
# enable = true;
|
||||||
|
# withJemalloc = true;
|
||||||
|
# settings = {
|
||||||
|
|
||||||
|
# };
|
||||||
|
#};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
(mkIf config.my.build.isDevVM {
|
||||||
|
virtualisation = {
|
||||||
|
forwardPorts = [
|
||||||
|
{ from = "host"; host.port = 8080; guest.port = 80; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -27,6 +27,27 @@ let
|
|||||||
${keepGensSnippet "$PROFILE" cfg'.keepGenerations}
|
${keepGensSnippet "$PROFILE" cfg'.keepGenerations}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
systemdUtil = pkgs.writeShellApplication {
|
||||||
|
name = "systemd-util.sh";
|
||||||
|
text = ''
|
||||||
|
svcActionWatch() {
|
||||||
|
action="$1"
|
||||||
|
shift
|
||||||
|
unit="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
journalctl -o cat --no-pager -n 0 -f -u "$unit" &
|
||||||
|
jPid=$!
|
||||||
|
cleanup() {
|
||||||
|
kill $jPid
|
||||||
|
}
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
|
systemctl "$@" "$action" "$unit"
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
ctrProfiles = optionalAttrs cfg.generate.containers.enable (mapAttrs' (n: c:
|
ctrProfiles = optionalAttrs cfg.generate.containers.enable (mapAttrs' (n: c:
|
||||||
let
|
let
|
||||||
ctrConfig = systems."${n}".configuration.config;
|
ctrConfig = systems."${n}".configuration.config;
|
||||||
@ -35,6 +56,7 @@ let
|
|||||||
name = "container-${n}";
|
name = "container-${n}";
|
||||||
value = {
|
value = {
|
||||||
path = pkgs.deploy-rs.lib.activate.custom ctrConfig.my.buildAs.container ''
|
path = pkgs.deploy-rs.lib.activate.custom ctrConfig.my.buildAs.container ''
|
||||||
|
source ${systemdUtil}/bin/systemd-util.sh
|
||||||
${if c.hotReload then ''
|
${if c.hotReload then ''
|
||||||
if systemctl show -p StatusText systemd-nspawn@${n} | grep -q "Dummy container"; then
|
if systemctl show -p StatusText systemd-nspawn@${n} | grep -q "Dummy container"; then
|
||||||
action=restart
|
action=restart
|
||||||
@ -42,9 +64,9 @@ let
|
|||||||
action=reload
|
action=reload
|
||||||
fi
|
fi
|
||||||
|
|
||||||
systemctl "$action" systemd-nspawn@${n}
|
svcActionWatch "$action" systemd-nspawn@${n}
|
||||||
'' else ''
|
'' else ''
|
||||||
systemctl restart systemd-nspawn@${n}
|
svcActionWatch restart systemd-nspawn@${n}
|
||||||
''}
|
''}
|
||||||
|
|
||||||
${keepGensSnippet "$PROFILE" cfg.generate.containers.keepGenerations}
|
${keepGensSnippet "$PROFILE" cfg.generate.containers.keepGenerations}
|
||||||
|
10
secrets/synapse.yaml.age
Normal file
10
secrets/synapse.yaml.age
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-ed25519 FAIX7A 65LI0Fvoezo5osErygJNYp5d8LhvABZpD5SjjBlvCBc
|
||||||
|
jsez8jYQjFgR66hJtj3NfD+ugkfuc5CQ2PpLatOstMY
|
||||||
|
-> X25519 JpPee9xg9YoHwwUk8OCYuZQJdq0yYhsJtUFHwumHvSc
|
||||||
|
MZUCvUjHCS65dBvT/7eNtT+cydIAqa7BAXGBJrP1/Yg
|
||||||
|
-> j-grease `YENpG`_
|
||||||
|
7kJXScC89DIP3niPa5sEf8rQQfXCTztTrAyhq8fv/eIFUhWqE1P7TebzPCuE6XeA
|
||||||
|
p0WTNfd0xsZJ7d+PIK/HLhPFRS2wKaYfHXXCYtJsFK/tbRz522f9O/YH
|
||||||
|
--- EI8mVA7L/VX9EBG3hvME3sznKAVacRjqRFbcGDhvhSM
|
||||||
|
Ù;ó§'ÖÉ<C396>K}9D,h€<11>:l<><‹‘h“1DØæTEæ»ÿT3VÕ|u<>l4X™”_ÍXÍE\÷u! B2téZ¯Òu‘b5¿»ˆ‘h
;«
|
Loading…
Reference in New Issue
Block a user