feat: update topology
Some checks failed
Build and Deploy / build (push) Has been cancelled
Flake check / Check flake (push) Has been cancelled
Build and Deploy / deploy (push) Has been cancelled

This commit is contained in:
Leon Schwarzäugl 2026-01-20 00:20:50 +01:00
parent 3422a39da5
commit f69363ab48
Signed by: swarsel
GPG key ID: 26A54C31F2A4FD84
11 changed files with 12 additions and 56 deletions

3
.github/README.md vendored
View file

@ -109,8 +109,7 @@
<details> <details>
<summary>Click here for a summary of my infrastructure</summary> <summary>Click here for a summary of my infrastructure</summary>
<img width="3854" height="7060" alt="topology" src="https://github.com/user-attachments/assets/fc557fdb-b779-4530-ae19-93ff019a2b29" /> <img width="4176" height="8367" alt="topology" src="https://github.com/user-attachments/assets/8b7f148d-8e49-4788-ba0f-4487482a483b" />
### Programs ### Programs

View file

@ -6207,7 +6207,7 @@ This machine mainly acts as my proxy server to stand before my local machines.
}; };
restic.targets = { restic.targets = {
SwarselMoonside = { SwarselMoonside = {
repository = config.repo.secrets.local.resticRepoState; repository = config.repo.secrets.local.resticRepo;
paths = [ paths = [
"/persist/opt/minecraft" "/persist/opt/minecraft"
]; ];
@ -12727,11 +12727,7 @@ This is the configuration to make [[#h:58c7563e-6954-42e6-a622-9d06523e8e24][Hin
sops.secrets.kavita-token = { inherit sopsFile; owner = serviceUser; }; sops.secrets.kavita-token = { inherit sopsFile; owner = serviceUser; };
# networking.firewall.allowedTCPPorts = [ servicePort ]; # networking.firewall.allowedTCPPorts = [ servicePort ];
topology.self.services.${serviceName} = { topology.self.services.${serviceName}.info = "https://${serviceDomain}";
name = "Kavita";
info = "https://${serviceDomain}";
icon = "${self}/files/topology-images/${serviceName}.png";
};
environment.persistence."/state" = lib.mkIf config.swarselsystems.isMicroVM { environment.persistence."/state" = lib.mkIf config.swarselsystems.isMicroVM {
directories = [{ directory = "/var/lib/${serviceName}"; user = serviceUser; group = serviceGroup; }]; directories = [{ directory = "/var/lib/${serviceName}"; user = serviceUser; group = serviceGroup; }];
@ -13148,11 +13144,7 @@ This is the configuration to make [[#h:58c7563e-6954-42e6-a622-9d06523e8e24][Hin
mpv mpv
]; ];
topology.self.services.${serviceName} = { topology.self.services.${serviceName}.info = "http://localhost:${builtins.toString servicePort}";
name = lib.toUpper serviceName;
info = "http://localhost:${builtins.toString servicePort}";
icon = "${self}/files/topology-images/${serviceName}.png";
};
environment.persistence."/state" = lib.mkIf config.swarselsystems.isMicroVM { environment.persistence."/state" = lib.mkIf config.swarselsystems.isMicroVM {
directories = [{ directory = "/var/lib/${serviceName}"; user = "mpd"; group = "mpd"; }]; directories = [{ directory = "/var/lib/${serviceName}"; user = "mpd"; group = "mpd"; }];
@ -13234,13 +13226,6 @@ This is the configuration to make [[#h:58c7563e-6954-42e6-a622-9d06523e8e24][Hin
options.swarselmodules.server.${serviceName} = lib.mkEnableOption "enable ${serviceName} on server"; options.swarselmodules.server.${serviceName} = lib.mkEnableOption "enable ${serviceName} on server";
config = lib.mkIf config.swarselmodules.server.${serviceName} { config = lib.mkIf config.swarselmodules.server.${serviceName} {
topology.self.services = {
${serviceName} = {
name = lib.swarselsystems.toCapitalized serviceName;
icon = "${self}/files/topology-images/${serviceName}.png";
};
};
services = { services = {
${serviceName} = { ${serviceName} = {
enable = true; enable = true;
@ -13388,19 +13373,13 @@ This is the configuration to make [[#h:58c7563e-6954-42e6-a622-9d06523e8e24][Hin
# networking.firewall.allowedTCPPorts = [ servicePort federationPort ]; # networking.firewall.allowedTCPPorts = [ servicePort federationPort ];
topology.self.services = { topology.self.services = lib.listToAttrs (map
${serviceName} = {
name = lib.swarselsystems.toCapitalized serviceName;
info = "https://${serviceDomain}";
icon = "${self}/files/topology-images/${serviceName}.png";
};
} // (lib.listToAttrs (map
(service: (service:
lib.nameValuePair "mautrix-${service}" { lib.nameValuePair "mautrix-${service}" {
name = "mautrix-${service}"; name = "mautrix-${service}";
icon = "${self}/files/topology-images/mautrix.png"; icon = "${self}/files/topology-images/mautrix.png";
}) })
[ "whatsapp" "signal" "telegram" ])); [ "whatsapp" "signal" "telegram" ]);
systemd = { systemd = {
timers."restart-bridges" = { timers."restart-bridges" = {
@ -37573,8 +37552,7 @@ Here lies defined the readme for GitHub and Forgejo:
<details> <details>
<summary>Click here for a summary of my infrastructure</summary> <summary>Click here for a summary of my infrastructure</summary>
<img width="3854" height="7060" alt="topology" src="https://github.com/user-attachments/assets/fc557fdb-b779-4530-ae19-93ff019a2b29" /> <img width="4176" height="8367" alt="topology" src="https://github.com/user-attachments/assets/8b7f148d-8e49-4788-ba0f-4487482a483b" />
### Programs ### Programs

Binary file not shown.

Before

Width:  |  Height:  |  Size: 870 KiB

After

Width:  |  Height:  |  Size: 379 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 870 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 3 MiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 147 KiB

Before After
Before After

View file

@ -84,7 +84,7 @@ in
}; };
restic.targets = { restic.targets = {
SwarselMoonside = { SwarselMoonside = {
repository = config.repo.secrets.local.resticRepoState; repository = config.repo.secrets.local.resticRepo;
paths = [ paths = [
"/persist/opt/minecraft" "/persist/opt/minecraft"
]; ];

View file

@ -23,11 +23,7 @@ in
sops.secrets.kavita-token = { inherit sopsFile; owner = serviceUser; }; sops.secrets.kavita-token = { inherit sopsFile; owner = serviceUser; };
# networking.firewall.allowedTCPPorts = [ servicePort ]; # networking.firewall.allowedTCPPorts = [ servicePort ];
topology.self.services.${serviceName} = { topology.self.services.${serviceName}.info = "https://${serviceDomain}";
name = "Kavita";
info = "https://${serviceDomain}";
icon = "${self}/files/topology-images/${serviceName}.png";
};
environment.persistence."/state" = lib.mkIf config.swarselsystems.isMicroVM { environment.persistence."/state" = lib.mkIf config.swarselsystems.isMicroVM {
directories = [{ directory = "/var/lib/${serviceName}"; user = serviceUser; group = serviceGroup; }]; directories = [{ directory = "/var/lib/${serviceName}"; user = serviceUser; group = serviceGroup; }];

View file

@ -63,19 +63,13 @@ in
# networking.firewall.allowedTCPPorts = [ servicePort federationPort ]; # networking.firewall.allowedTCPPorts = [ servicePort federationPort ];
topology.self.services = { topology.self.services = lib.listToAttrs (map
${serviceName} = {
name = lib.swarselsystems.toCapitalized serviceName;
info = "https://${serviceDomain}";
icon = "${self}/files/topology-images/${serviceName}.png";
};
} // (lib.listToAttrs (map
(service: (service:
lib.nameValuePair "mautrix-${service}" { lib.nameValuePair "mautrix-${service}" {
name = "mautrix-${service}"; name = "mautrix-${service}";
icon = "${self}/files/topology-images/mautrix.png"; icon = "${self}/files/topology-images/mautrix.png";
}) })
[ "whatsapp" "signal" "telegram" ])); [ "whatsapp" "signal" "telegram" ]);
systemd = { systemd = {
timers."restart-bridges" = { timers."restart-bridges" = {

View file

@ -30,11 +30,7 @@ in
mpv mpv
]; ];
topology.self.services.${serviceName} = { topology.self.services.${serviceName}.info = "http://localhost:${builtins.toString servicePort}";
name = lib.toUpper serviceName;
info = "http://localhost:${builtins.toString servicePort}";
icon = "${self}/files/topology-images/${serviceName}.png";
};
environment.persistence."/state" = lib.mkIf config.swarselsystems.isMicroVM { environment.persistence."/state" = lib.mkIf config.swarselsystems.isMicroVM {
directories = [{ directory = "/var/lib/${serviceName}"; user = "mpd"; group = "mpd"; }]; directories = [{ directory = "/var/lib/${serviceName}"; user = "mpd"; group = "mpd"; }];

View file

@ -8,13 +8,6 @@ in
options.swarselmodules.server.${serviceName} = lib.mkEnableOption "enable ${serviceName} on server"; options.swarselmodules.server.${serviceName} = lib.mkEnableOption "enable ${serviceName} on server";
config = lib.mkIf config.swarselmodules.server.${serviceName} { config = lib.mkIf config.swarselmodules.server.${serviceName} {
topology.self.services = {
${serviceName} = {
name = lib.swarselsystems.toCapitalized serviceName;
icon = "${self}/files/topology-images/${serviceName}.png";
};
};
services = { services = {
${serviceName} = { ${serviceName} = {
enable = true; enable = true;