]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - TODO
Update TODO
[thirdparty/systemd.git] / TODO
diff --git a/TODO b/TODO
index 9abee502bc3e4bc8bf46c0fcc6c2fe68a7eba35f..c885639d4d7b1ee67d21ed0a54ddfd9b9927bba8 100644 (file)
--- a/TODO
+++ b/TODO
@@ -24,10 +24,58 @@ Janitorial Clean-ups:
 
 Features:
 
+* let's log the "tainted" string at boot
+
+* Add NetworkNamespacePath= to specify a path to a network namespace
+
+* Add StandardInputData= and StandardInputText= for putting together data to
+  pass to a service through stdin
+
+* Add StandardInputPath=, StandardOutputPath=, StandardErrorPath= to connect a
+  service to a specific file. Be smart, and if the specified path refers to an
+  AF_UNIX socket, connect() to it.
+
+* maybe use SOURCE_DATE_EPOCH (i.e. the env var the reproducible builds folks
+  introduced) as the RTC epoch, instead of the mtime of NEWS.
+
+* Introduce GCMode= as unit file property or so, for tweaking the GC
+  logic. Specifically, there should be a way to tell systemd to collect
+  individual units even on failure. Then, make systemd-run --wait use this, so
+  that failed transient units in that case don't stick around.
+
+* add a way to lock down cgroup migration: a boolean, which when set for a unit
+  makes sure the processes in it can never migrate out of it
+
+* complain if a unit starts up and there are already processes in its cgroup
+
+* blog about fd store and restartable services
+
+* document Environment=SYSTEMD_LOG_LEVEL=debug drop-in in debugging document
+
+* add a way to remove fds from the fdstore by name, and make logind use it
+
+* in the long run: permit a system with /etc/machine-id linked to /dev/null, to
+  make it lose its identity, i.e. be anonymous. For this we'd have to patch
+  through the whole tree to make all code deal with the case where no machine
+  ID is available.
+
+* optionally, collect cgroup resource data, and store it in per-unit RRD files,
+  suitable for processing with rrdtool. Add bus API to access this data, and
+  possibly implement a CPULoad property based on it.
+
+* In journalctl add a way how "-o verbose" and suchlike can be tweaked to show
+  only a specific set of properties
+
+* beef up pam_systemd to take unit file settings such as cgroups properties as
+  parameters
+
 * export UID ranges nspawns's --private-user and DynamicUser= uses in
   the systemd.pc pkg-config file, the same way we already expose the system
   user boundary there
 
+* a new "systemd-analyze security" tool outputting a checklist of security
+  features a service does and does not implement
+
 * Whenever we check a UID against the system UID range, also check for the
   dynamic UID range
 
@@ -35,6 +83,10 @@ Features:
   the quota of a the user indicated in User= via unit file settings, like the
   other resource management concepts. Would mix nicely with DynamicUser=1
 
+* add dissect_image_warn() as a wrapper around dissect_image() that prints
+  friendly log messages for the returned errors, so that we don't have to
+  duplicate that in nspawn, systemd-dissect and PID 1.
+
 * maybe set a new set of env vars for services, based on RuntimeDirectory=,
   StateDirectory=, LogsDirectory=, CacheDirectory= and ConfigurationDirectory=
   automatically. For example, there could be $RUNTIME_DIRECTORY,
@@ -44,10 +96,6 @@ Features:
   taken if multiple dirs are configured. Maybe avoid setting the env vars in
   that case?
 
-* In a similar vein, consider adding unit specifiers that resolve to the root
-  directory used for state, logs, cache and configuration
-  directory. i.e. similar to %t, but for the root of the other special dirs.
-
 * expose IO accounting data on the bus, show it in systemd-run --wait and log
   about it in the resource log message
 
@@ -161,8 +209,6 @@ Features:
   then use that for the setting used in user@.service. It should be understood
   relative to the configured default value.
 
-* on cgroupsv2 add DelegateControllers=, to pick the precise cgroup controllers to delegate
-
 * in networkd, when matching device types, fix up DEVTYPE rubbish the kernel passes to us
 
 * enable LockMLOCK to take a percentage value relative to physical memory
@@ -258,8 +304,6 @@ Features:
   prefixed with /sys generally special.
   http://lists.freedesktop.org/archives/systemd-devel/2015-June/032962.html
 
-* man: document that unless you use StandardError=null the shell >/dev/stderr won't work in shell scripts in services
-
 * fstab-generator: default to tmpfs-as-root if only usr= is specified on the kernel cmdline
 
 * docs: bring http://www.freedesktop.org/wiki/Software/systemd/MyServiceCantGetRealtime up to date
@@ -325,8 +369,6 @@ Features:
 
 * introduce systemd-timesync-wait.service or so to sync on an NTP fix?
 
-* systemd --user should issue sd_notify() upon reaching basic.target, not on becoming idle
-
 * consider showing the unit names during boot up in the status output, not just the unit descriptions
 
 * maybe allow timer units with an empty Units= setting, so that they