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