nixos/oci-containers: option to set the service name of a oci-ontainer (#370089)

This commit is contained in:
Gaétan Lepage
2025-01-04 15:39:41 +01:00
committed by GitHub

View File

@@ -14,7 +14,7 @@ let
defaultBackend = options.virtualisation.oci-containers.backend.default; defaultBackend = options.virtualisation.oci-containers.backend.default;
containerOptions = containerOptions =
{ ... }: { name, ... }:
{ {
options = { options = {
@@ -59,6 +59,13 @@ let
example = literalExpression "pkgs.dockerTools.streamLayeredImage {...};"; example = literalExpression "pkgs.dockerTools.streamLayeredImage {...};";
}; };
serviceName = mkOption {
type = types.str;
default = "${cfg.backend}-${name}";
defaultText = "<backend>-<name>";
description = "Systemd service name that manages the container";
};
login = { login = {
username = mkOption { username = mkOption {
@@ -525,9 +532,7 @@ in
config = lib.mkIf (cfg.containers != { }) ( config = lib.mkIf (cfg.containers != { }) (
lib.mkMerge [ lib.mkMerge [
{ {
systemd.services = mapAttrs' ( systemd.services = mapAttrs' (n: v: nameValuePair v.serviceName (mkService n v)) cfg.containers;
n: v: nameValuePair "${cfg.backend}-${n}" (mkService n v)
) cfg.containers;
assertions = assertions =
let let