]> git.ipfire.org Git - thirdparty/systemd.git/blob - docs/TRANSIENT-SETTINGS.md
build-sys: bump package/library versions
[thirdparty/systemd.git] / docs / TRANSIENT-SETTINGS.md
1 # What settings are currently available for transient units?
2
3 Our intention is to make all settings that are available as unit file settings
4 also available for transient units, through the D-Bus API. At the moment, some
5 unit types (device, swap, target) are not supported at all via unit types,
6 but most others are pretty well supported, with some notable omissions.
7
8 The lists below contain all settings currently available in unit files. The
9 ones currently available in transient units are prefixed with `✓`.
10
11 ## Generic Unit Settings
12
13 Most generic unit settings are available for transient units.
14
15 ```
16 ✓ Description=
17 ✓ Documentation=
18 ✓ SourcePath=
19 ✓ Requires=
20 ✓ Requisite=
21 ✓ Wants=
22 ✓ BindsTo=
23 ✓ Conflicts=
24 ✓ Before=
25 ✓ After=
26 ✓ OnFailure=
27 ✓ PropagatesReloadTo=
28 ✓ ReloadPropagatedFrom=
29 ✓ PartOf=
30 ✓ JoinsNamespaceOf=
31 ✓ RequiresMountsFor=
32 ✓ StopWhenUnneeded=
33 ✓ RefuseManualStart=
34 ✓ RefuseManualStop=
35 ✓ AllowIsolate=
36 ✓ DefaultDependencies=
37 ✓ OnFailureJobMode=
38 ✓ IgnoreOnIsolate=
39 ✓ JobTimeoutSec=
40 ✓ JobRunningTimeoutSec=
41 ✓ JobTimeoutAction=
42 ✓ JobTimeoutRebootArgument=
43 ✓ StartLimitIntervalSec=SECONDS
44 ✓ StartLimitBurst=UNSIGNED
45 ✓ StartLimitAction=ACTION
46 ✓ FailureAction=
47 ✓ SuccessAction=
48 ✓ FailureActionExitStatus=
49 ✓ SuccessActionExitStatus=
50 ✓ AddRef=
51 ✓ RebootArgument=STRING
52 ✓ ConditionPathExists=
53 ✓ ConditionPathExistsGlob=
54 ✓ ConditionPathIsDirectory=
55 ✓ ConditionPathIsSymbolicLink=
56 ✓ ConditionPathIsMountPoint=
57 ✓ ConditionPathIsReadWrite=
58 ✓ ConditionDirectoryNotEmpty=
59 ✓ ConditionFileNotEmpty=
60 ✓ ConditionFileIsExecutable=
61 ✓ ConditionNeedsUpdate=
62 ✓ ConditionFirstBoot=
63 ✓ ConditionKernelCommandLine=
64 ✓ ConditionKernelVersion=
65 ✓ ConditionArchitecture=
66 ✓ ConditionVirtualization=
67 ✓ ConditionSecurity=
68 ✓ ConditionCapability=
69 ✓ ConditionHost=
70 ✓ ConditionACPower=
71 ✓ ConditionUser=
72 ✓ ConditionGroup=
73 ✓ ConditionControlGroupController=
74 ✓ AssertPathExists=
75 ✓ AssertPathExistsGlob=
76 ✓ AssertPathIsDirectory=
77 ✓ AssertPathIsSymbolicLink=
78 ✓ AssertPathIsMountPoint=
79 ✓ AssertPathIsReadWrite=
80 ✓ AssertDirectoryNotEmpty=
81 ✓ AssertFileNotEmpty=
82 ✓ AssertFileIsExecutable=
83 ✓ AssertNeedsUpdate=
84 ✓ AssertFirstBoot=
85 ✓ AssertKernelCommandLine=
86 ✓ AssertKernelVersion=
87 ✓ AssertArchitecture=
88 ✓ AssertVirtualization=
89 ✓ AssertSecurity=
90 ✓ AssertCapability=
91 ✓ AssertHost=
92 ✓ AssertACPower=
93 ✓ AssertUser=
94 ✓ AssertGroup=
95 ✓ AssertControlGroupController=
96 ✓ CollectMode=
97 ```
98
99 ## Execution-Related Settings
100
101 All execution-related settings are available for transient units.
102
103 ```
104 ✓ WorkingDirectory=
105 ✓ RootDirectory=
106 ✓ RootImage=
107 ✓ User=
108 ✓ Group=
109 ✓ SupplementaryGroups=
110 ✓ Nice=
111 ✓ OOMScoreAdjust=
112 ✓ IOSchedulingClass=
113 ✓ IOSchedulingPriority=
114 ✓ CPUSchedulingPolicy=
115 ✓ CPUSchedulingPriority=
116 ✓ CPUSchedulingResetOnFork=
117 ✓ CPUAffinity=
118 ✓ UMask=
119 ✓ Environment=
120 ✓ EnvironmentFile=
121 ✓ PassEnvironment=
122 ✓ UnsetEnvironment=
123 ✓ DynamicUser=
124 ✓ RemoveIPC=
125 ✓ StandardInput=
126 ✓ StandardOutput=
127 ✓ StandardError=
128 ✓ StandardInputText=
129 ✓ StandardInputData=
130 ✓ TTYPath=
131 ✓ TTYReset=
132 ✓ TTYVHangup=
133 ✓ TTYVTDisallocate=
134 ✓ SyslogIdentifier=
135 ✓ SyslogFacility=
136 ✓ SyslogLevel=
137 ✓ SyslogLevelPrefix=
138 ✓ LogLevelMax=
139 ✓ LogExtraFields=
140 ✓ LogRateLimitIntervalSec=
141 ✓ LogRateLimitBurst=
142 ✓ SecureBits=
143 ✓ CapabilityBoundingSet=
144 ✓ AmbientCapabilities=
145 ✓ TimerSlackNSec=
146 ✓ NoNewPrivileges=
147 ✓ KeyringMode=
148 ✓ SystemCallFilter=
149 ✓ SystemCallArchitectures=
150 ✓ SystemCallErrorNumber=
151 ✓ MemoryDenyWriteExecute=
152 ✓ RestrictNamespaces=
153 ✓ RestrictRealtime=
154 ✓ RestrictAddressFamilies=
155 ✓ LockPersonality=
156 ✓ LimitCPU=
157 ✓ LimitFSIZE=
158 ✓ LimitDATA=
159 ✓ LimitSTACK=
160 ✓ LimitCORE=
161 ✓ LimitRSS=
162 ✓ LimitNOFILE=
163 ✓ LimitAS=
164 ✓ LimitNPROC=
165 ✓ LimitMEMLOCK=
166 ✓ LimitLOCKS=
167 ✓ LimitSIGPENDING=
168 ✓ LimitMSGQUEUE=
169 ✓ LimitNICE=
170 ✓ LimitRTPRIO=
171 ✓ LimitRTTIME=
172 ✓ ReadWritePaths=
173 ✓ ReadOnlyPaths=
174 ✓ InaccessiblePaths=
175 ✓ BindPaths=
176 ✓ BindReadOnlyPaths=
177 ✓ TemporaryFileSystem=
178 ✓ PrivateTmp=
179 ✓ PrivateDevices=
180 ✓ PrivateMounts=
181 ✓ ProtectKernelTunables=
182 ✓ ProtectKernelModules=
183 ✓ ProtectControlGroups=
184 ✓ PrivateNetwork=
185 ✓ PrivateUsers=
186 ✓ ProtectSystem=
187 ✓ ProtectHome=
188 ✓ MountFlags=
189 ✓ MountAPIVFS=
190 ✓ Personality=
191 ✓ RuntimeDirectoryPreserve=
192 ✓ RuntimeDirectoryMode=
193 ✓ RuntimeDirectory=
194 ✓ StateDirectoryMode=
195 ✓ StateDirectory=
196 ✓ CacheDirectoryMode=
197 ✓ CacheDirectory=
198 ✓ LogsDirectoryMode=
199 ✓ LogsDirectory=
200 ✓ ConfigurationDirectoryMode=
201 ✓ ConfigurationDirectory=
202 ✓ PAMName=
203 ✓ IgnoreSIGPIPE=
204 ✓ UtmpIdentifier=
205 ✓ UtmpMode=
206 ✓ SELinuxContext=
207 ✓ SmackProcessLabel=
208 ✓ AppArmorProfile=
209 ✓ Slice=
210 ```
211
212 ## Resource Control Settings
213
214 All cgroup/resource control settings are available for transient units
215
216 ```
217 ✓ CPUAccounting=
218 ✓ CPUWeight=
219 ✓ StartupCPUWeight=
220 ✓ CPUShares=
221 ✓ StartupCPUShares=
222 ✓ CPUQuota=
223 ✓ MemoryAccounting=
224 ✓ MemoryMin=
225 ✓ MemoryLow=
226 ✓ MemoryHigh=
227 ✓ MemoryMax=
228 ✓ MemorySwapMax=
229 ✓ MemoryLimit=
230 ✓ DeviceAllow=
231 ✓ DevicePolicy=
232 ✓ IOAccounting=
233 ✓ IOWeight=
234 ✓ StartupIOWeight=
235 ✓ IODeviceWeight=
236 ✓ IOReadBandwidthMax=
237 ✓ IOWriteBandwidthMax=
238 ✓ IOReadIOPSMax=
239 ✓ IOWriteIOPSMax=
240 ✓ BlockIOAccounting=
241 ✓ BlockIOWeight=
242 ✓ StartupBlockIOWeight=
243 ✓ BlockIODeviceWeight=
244 ✓ BlockIOReadBandwidth=
245 ✓ BlockIOWriteBandwidth=
246 ✓ TasksAccounting=
247 ✓ TasksMax=
248 ✓ Delegate=
249 ✓ IPAccounting=
250 ✓ IPAddressAllow=
251 ✓ IPAddressDeny=
252 ```
253
254 ## Process Killing Settings
255
256 All process killing settings are available for transient units:
257
258 ```
259 ✓ SendSIGKILL=
260 ✓ SendSIGHUP=
261 ✓ KillMode=
262 ✓ KillSignal=
263 ✓ FinalKillSignal=
264 ✓ WatchdogSignal=
265 ```
266
267 ## Service Unit Settings
268
269 Most service unit settings are available for transient units.
270
271 ```
272 ✓ PIDFile=
273 ✓ ExecStartPre=
274 ✓ ExecStart=
275 ✓ ExecStartPost=
276 ✓ ExecReload=
277 ✓ ExecStop=
278 ✓ ExecStopPost=
279 ✓ RestartSec=
280 ✓ TimeoutStartSec=
281 ✓ TimeoutStopSec=
282 ✓ TimeoutSec=
283 ✓ RuntimeMaxSec=
284 ✓ WatchdogSec=
285 ✓ Type=
286 ✓ Restart=
287 ✓ RootDirectoryStartOnly=
288 ✓ RemainAfterExit=
289 ✓ GuessMainPID=
290 ✓ RestartPreventExitStatus=
291 ✓ RestartForceExitStatus=
292 ✓ SuccessExitStatus=
293 ✓ NonBlocking=
294 ✓ BusName=
295 ✓ FileDescriptorStoreMax=
296 ✓ NotifyAccess=
297 Sockets=
298 ✓ USBFunctionDescriptors=
299 ✓ USBFunctionStrings=
300 ```
301
302 ## Mount Unit Settings
303
304 All mount unit settings are available to transient units:
305
306 ```
307 ✓ What=
308 ✓ Where=
309 ✓ Options=
310 ✓ Type=
311 ✓ TimeoutSec=
312 ✓ DirectoryMode=
313 ✓ SloppyOptions=
314 ✓ LazyUnmount=
315 ✓ ForceUnmount=
316 ```
317
318 ## Automount Unit Settings
319
320 All automount unit setting is available to transient units:
321
322 ```
323 ✓ Where=
324 ✓ DirectoryMode=
325 ✓ TimeoutIdleSec=
326 ```
327
328 ## Timer Unit Settings
329
330 Most timer unit settings are available to transient units.
331
332 ```
333 ✓ OnCalendar=
334 ✓ OnActiveSec=
335 ✓ OnBootSec=
336 ✓ OnStartupSec=
337 ✓ OnUnitActiveSec=
338 ✓ OnUnitInactiveSec=
339 ✓ Persistent=
340 ✓ WakeSystem=
341 ✓ RemainAfterElapse=
342 ✓ AccuracySec=
343 ✓ RandomizedDelaySec=
344 Unit=
345 ```
346
347 ## Slice Unit Settings
348
349 Slice units are fully supported as transient units, but they have no settings
350 of their own beyond the generic unit and resource control settings.
351
352 ## Scope Unit Settings
353
354 Scope units are fully supported as transient units (in fact they only exist as
355 such).
356
357 ```
358 ✓ TimeoutStopSec=
359 ```
360
361 ## Socket Unit Settings
362
363 Most socket unit settings are available to transient units.
364
365 ```
366 ✓ ListenStream=
367 ✓ ListenDatagram=
368 ✓ ListenSequentialPacket=
369 ✓ ListenFIFO=
370 ✓ ListenNetlink=
371 ✓ ListenSpecial=
372 ✓ ListenMessageQueue=
373 ✓ ListenUSBFunction=
374 ✓ SocketProtocol=
375 ✓ BindIPv6Only=
376 ✓ Backlog=
377 ✓ BindToDevice=
378 ✓ ExecStartPre=
379 ✓ ExecStartPost=
380 ✓ ExecStopPre=
381 ✓ ExecStopPost=
382 ✓ TimeoutSec=
383 ✓ SocketUser=
384 ✓ SocketGroup=
385 ✓ SocketMode=
386 ✓ DirectoryMode=
387 ✓ Accept=
388 ✓ Writable=
389 ✓ MaxConnections=
390 ✓ MaxConnectionsPerSource=
391 ✓ KeepAlive=
392 ✓ KeepAliveTimeSec=
393 ✓ KeepAliveIntervalSec=
394 ✓ KeepAliveProbes=
395 ✓ DeferAcceptSec=
396 ✓ NoDelay=
397 ✓ Priority=
398 ✓ ReceiveBuffer=
399 ✓ SendBuffer=
400 ✓ IPTOS=
401 ✓ IPTTL=
402 ✓ Mark=
403 ✓ PipeSize=
404 ✓ FreeBind=
405 ✓ Transparent=
406 ✓ Broadcast=
407 ✓ PassCredentials=
408 ✓ PassSecurity=
409 ✓ TCPCongestion=
410 ✓ ReusePort=
411 ✓ MessageQueueMaxMessages=
412 ✓ MessageQueueMessageSize=
413 ✓ RemoveOnStop=
414 ✓ Symlinks=
415 ✓ FileDescriptorName=
416 Service=
417 ✓ TriggerLimitIntervalSec=
418 ✓ TriggerLimitBurst=
419 ✓ SmackLabel=
420 ✓ SmackLabelIPIn=
421 ✓ SmackLabelIPOut=
422 ✓ SELinuxContextFromNet=
423 ```
424
425 ## Swap Unit Settings
426
427 Swap units are currently not available at all as transient units:
428
429 ```
430 What=
431 Priority=
432 Options=
433 TimeoutSec=
434 ```
435
436 ## Path Unit Settings
437
438 Most path unit settings are available to transient units.
439
440 ```
441 ✓ PathExists=
442 ✓ PathExistsGlob=
443 ✓ PathChanged=
444 ✓ PathModified=
445 ✓ DirectoryNotEmpty=
446 Unit=
447 ✓ MakeDirectory=
448 ✓ DirectoryMode=
449 ```
450
451 ## Install Section
452
453 The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
454
455 ```
456 Alias=
457 WantedBy=
458 RequiredBy=
459 Also=
460 DefaultInstance=
461 ```