readonly as ExtraFileDescriptorNames = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i ReloadSignal = ...;
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
+ readonly as RefreshOnReload = ['...', ...];
readonly t ExecMainStartTimestamp = ...;
readonly t ExecMainStartTimestampMonotonic = ...;
readonly t ExecMainExitTimestamp = ...;
<!--property ReloadSignal is not documented!-->
+ <!--property RefreshOnReload is not documented!-->
+
<!--property ExecCondition is not documented!-->
<!--property ExecConditionEx is not documented!-->
<variablelist class="dbus-property" generated="True" extra-ref="ReloadSignal"/>
+ <variablelist class="dbus-property" generated="True" extra-ref="RefreshOnReload"/>
+
<variablelist class="dbus-property" generated="True" extra-ref="ExecMainStartTimestamp"/>
<variablelist class="dbus-property" generated="True" extra-ref="ExecMainStartTimestampMonotonic"/>
<varname>ManagedOOMKills</varname>,
<varname>ExecReloadPost</varname>, and
<varname>ExecReloadPostEx</varname> were added in version 259.</para>
- <para><varname>BindNetworkInterface</varname>, and
- <varname>MemoryTHP</varname> were added in version 260.</para>
+ <para><varname>BindNetworkInterface</varname>,
+ <varname>MemoryTHP</varname>, and
+ <varname>RefreshOnReload</varname> were added in version 260.</para>
</refsect2>
<refsect2>
<title>Socket Unit Objects</title>
To disable the safety check that the extension-release file name matches the image file name, the
<varname>x-systemd.relax-extension-release-check</varname> mount option may be appended.</para>
- <para>This option can be used together with a <option>notify-reload</option> service type and
- <citerefentry><refentrytitle>systemd.v</refentrytitle><manvolnum>7</manvolnum></citerefentry>
- to manage configuration updates. When such a service carrying confext images is reloaded via
- <command>systemctl reload foo.service</command> or equivalent D-Bus method, the confext itself will
- be reloaded to pick up any changes. This only applies to confext extensions. Note that in case a
- service has this configuration enabled at first, and then it is subsequently removed in an update
- followed by a daemon-reload operation, reloading the confexts will be a no-op, and a full service
- restart is required instead. See
+ <para>If a service employs this option with
+ <citerefentry><refentrytitle>systemd.v</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ and has <option>RefreshOnReload=extensions</option> enabled (the default), the confexts will
+ be refreshed to pick up any changes on service reload. This only applies to confext extensions.
+ Note that in case a service has this configuration enabled at first, and then it is subsequently
+ removed in an update followed by a daemon-reload operation, reloading the confexts will be a no-op,
+ and a full service restart is required instead. See
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
also for details.</para>
or the host. See:
<citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
- <para>This option can be used together with a <option>notify-reload</option> service type and
- <citerefentry><refentrytitle>systemd.v</refentrytitle><manvolnum>7</manvolnum></citerefentry>
- to manage configuration updates. When such a service carrying confext directories is reloaded via
- <command>systemctl reload foo.service</command> or equivalent D-Bus method, the confext itself will
- be reloaded to pick up any changes. This only applies to confext extensions. Note that in case a
- service has this configuration enabled at first, and then it is subsequently removed in an update
- followed by a daemon-reload operation, reloading the confexts will be a no-op, and a full service
- restart is required instead. See
+ <para>If a service employs this option with
+ <citerefentry><refentrytitle>systemd.v</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ and has <option>RefreshOnReload=extensions</option> enabled (the default), the confexts will
+ be refreshed to pick up any changes on service reload. This only applies to confext extensions.
+ Note that in case a service has this configuration enabled at first, and then it is subsequently
+ removed in an update followed by a daemon-reload operation, reloading the confexts will be a no-op,
+ and a full service restart is required instead. See
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
also for details.</para>
<xi:include href="version-info.xml" xpointer="v253"/></listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>RefreshOnReload=</varname></term>
+
+ <listitem><para>Takes a boolean argument, or a list of resources defined in
+ <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ Possible values are <option>extensions</option> and <option>credentials</option>, separated by space.
+ Prepending the list with a single tilde character (<literal>~</literal>) inverts the effect.
+ Defaults to <option>extensions</option>. An empty assignment resets the list to default. If enabled,
+ the corresponding resources (<option>ExtensionImages=</option>/<option>ExtensionDirectories=</option>
+ for <option>extensions</option> and <option>LoadCredential=</option>/<option>ImportCredential=</option>/
+ <option>SetCredential=</option> (along with their <option>Encrypted</option> counterparts)
+ for <option>credentials</option>) will be refreshed on service reload. If <option>yes</option>,
+ all resources listed above that are used by the service shall be refreshed.</para>
+
+ <para>Specially, if this option is set explicitly, and the respective resources are in use,
+ the service may be reloaded without any actual reload mechanism (<option>ExecReload=</option>
+ or <option>Type=notify-reload</option>) for notifying the main process, in which case the reload
+ is considered complete immediately after refreshing.</para>
+
+ <xi:include href="version-info.xml" xpointer="v260"/></listitem>
+ </varlistentry>
+
</variablelist>
<para id='shared-unit-options'>Check