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