Skip to content

Commit

Permalink
feat: updates options from upstream.
Browse files Browse the repository at this point in the history
  • Loading branch information
SEIAROTg committed Dec 17, 2024
1 parent e977174 commit 75a3064
Show file tree
Hide file tree
Showing 3 changed files with 212 additions and 30 deletions.
193 changes: 172 additions & 21 deletions container.nix
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,14 @@ let
property = "AutoUpdate";
};

cgroupsMode = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
example = "no-conmon";
description = "--cgroups";
property = "CgroupsMode";
};

name = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
Expand All @@ -62,6 +70,14 @@ let
property = "ContainerName";
};

modules = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "/etc/nvd.conf" ];
description = "--module";
property = "ContainersConfModule";
};

dns = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
Expand Down Expand Up @@ -94,6 +110,14 @@ let
property = "DropCapability";
};

entrypoint = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
example = "/foo.sh";
description = "--entrypoint";
property = "Entrypoint";
};

environments = quadletUtils.mkOption {
type = types.attrsOf types.str;
default = { };
Expand Down Expand Up @@ -135,20 +159,36 @@ let
property = "ExposeHostPort";
};

gidMaps = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "0:10000:10" ];
description = "--gidmap";
property = "GIDMap";
};

globalArgs = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "--log-level=debug" ];
description = "global args";
property = "GlobalArgs";
};

group = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
example = "1234";
description = "--user UID:...";
property = "Group";
};
gidMaps = quadletUtils.mkOption {

addGroups = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "0:10000:10" ];
description = "--gidmap";
property = "GIDMap";
default = [ ];
example = [ "keep-groups" ];
description = "--group-add";
property = "GroupAdd";
};

healthCmd = quadletUtils.mkOption {
Expand All @@ -167,6 +207,30 @@ let
property = "HealthInterval";
};

healthLogDestination = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
example = "/foo/log";
description = "--health-log-destination";
property = "HealthLogDestination";
};

healthMaxLogCount = quadletUtils.mkOption {
type = types.nullOr types.int;
default = null;
example = 5;
description = "--health-max-log-count";
property = "HealthMaxLogCount";
};

healthMaxLogSize = quadletUtils.mkOption {
type = types.nullOr types.int;
default = null;
example = 500;
description = " --health-max-log-size";
property = "HealthMaxLogSize";
};

healthOnFailure = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
Expand Down Expand Up @@ -286,6 +350,22 @@ let
property = "LogDriver";
};

logOptions = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "path=/var/log/mykube.json" ];
description = "--log-opt";
property = "LogOpt";
};

mask = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
example = "/proc/sys/foo:/proc/sys/bar";
description = "--security-opt mask=...";
property = "Mask";
};

mounts = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
Expand All @@ -302,28 +382,36 @@ let
property = "Network";
};

networkAliases = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "name" ];
description = "--network-alias";
property = "NetworkAlias";
};

noNewPrivileges = quadletUtils.mkOption {
type = types.nullOr types.bool;
default = null;
description = "--security-opt no-new-privileges";
property = "NoNewPrivileges";
};

rootfs = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
example = "/var/lib/rootfs";
description = "--rootfs";
property = "Rootfs";
};

notify = quadletUtils.mkOption {
type = types.enum [ null true false "healthy" ];
default = null;
description = "--sdnotify container";
property = "Notify";
};

pidsLimit = quadletUtils.mkOption {
type = types.nullOr types.int;
default = null;
example = 10000;
description = "--pids-limit";
property = "PidsLimit";
};

pod = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
Expand Down Expand Up @@ -362,6 +450,21 @@ let
property = "ReadOnly";
};

readOnlyTmpfs = quadletUtils.mkOption {
type = types.nullOr types.bool;
default = null;
description = "--read-only-tmpfs";
property = "ReadOnlyTmpfs";
};

rootfs = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
example = "/var/lib/rootfs";
description = "--rootfs";
property = "Rootfs";
};

runInit = quadletUtils.mkOption {
type = types.nullOr types.bool;
default = null;
Expand Down Expand Up @@ -431,6 +534,45 @@ let
property = "ShmSize";
};

startWithPod = quadletUtils.mkOption {
type = types.nullOr types.bool;
default = null;
description = "If pod is defined, container is started by pod";
property = "StartWithPod";
};

stopSignal = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
example = "SIGINT";
description = "--stop-signal";
property = "StopSignal";
};

stopTimeout = quadletUtils.mkOption {
type = types.nullOr types.int;
default = null;
example = 20;
description = "--stop-timeout";
property = "StopTimeout";
};

subGIDMap = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
example = "gtest";
description = "--subgidname";
property = "SubGIDMap";
};

subUIDMap = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
example = "utest";
description = "--subuidname";
property = "SubUIDMap";
};

sysctl = quadletUtils.mkOption {
type = types.attrsOf types.str;
default = { };
Expand Down Expand Up @@ -465,6 +607,22 @@ let
property = "UIDMap";
};

ulimits = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "nofile=1000:10000" ];
description = "--ulimit";
property = "Ulimit";
};

unmask = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
example = "ALL";
description = "--security-opt unmask=...";
property = "Unmask";
};

user = quadletUtils.mkOption {
type = types.nullOr types.str;
default = null;
Expand All @@ -481,13 +639,6 @@ let
property = "UserNS";
};

volatileTmp = quadletUtils.mkOption {
type = types.nullOr types.bool;
default = null;
description = "--tmpfs /tmp";
property = "VolatileTmp";
};

volumes = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
Expand Down
24 changes: 24 additions & 0 deletions network.nix
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,29 @@ let
inherit (lib) types mkOption getExe;

networkOpts = {
modules = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "/etc/nvd.conf" ];
description = "--module";
property = "ContainersConfModule";
};

disableDns = quadletUtils.mkOption {
type = types.nullOr types.bool;
default = null;
description = "--disable-dns";
property = "DisableDNS";
};

dns = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "192.168.55.1" ];
description = "--dns";
property = "DNS";
};

driver = quadletUtils.mkOption {
type = types.nullOr (
types.enum [
Expand All @@ -40,6 +56,14 @@ let
property = "Gateway";
};

globalArgs = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "--log-level=debug" ];
description = "global args";
property = "GlobalArgs";
};

internal = quadletUtils.mkOption {
type = types.nullOr types.bool;
default = null;
Expand Down
25 changes: 16 additions & 9 deletions pod.nix
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@ let
property = "AddHost";
};

modules = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "/etc/nvd.conf" ];
description = "--module";
property = "ContainersConfModule";
};

dns = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
Expand Down Expand Up @@ -57,14 +65,13 @@ let
property = "GIDMap";
};

# Not recommended to use by upstream:
# globalArgs = quadletUtils.mkOption {
# type = types.listOf types.str;
# default = [ ];
# example = [ "--log-level=debug" ];
# description = "";
# property = "GlobalArgs";
# };
globalArgs = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "--log-level=debug" ];
description = "global args";
property = "GlobalArgs";
};

ip = quadletUtils.mkOption {
type = types.nullOr types.str;
Expand Down Expand Up @@ -157,7 +164,7 @@ let
volumes = quadletUtils.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ ];
example = [ "/source:/dest" ];
description = "--volume";
property = "Volume";
};
Expand Down

0 comments on commit 75a3064

Please sign in to comment.