diff --git a/docs/user-guide/01-blueprint-reference.md b/docs/user-guide/01-blueprint-reference.md index 407733eba..dc2eb8a51 100644 --- a/docs/user-guide/01-blueprint-reference.md +++ b/docs/user-guide/01-blueprint-reference.md @@ -1,6 +1,6 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -import Highlight, { tabValues, tabValuesOnPremiseOnly, tabValuesHostedOnly, tabValuesWithBootc } from '@site/src/components/Highlight'; +import Highlight, { tabValues, tabValuesOnPremiseOnly, tabValuesHostedOnly, tabValuesBootcOnly, tabValuesWithBootc } from '@site/src/components/Highlight'; import '@site/src/css/custom.css'; # Blueprint Reference @@ -1521,6 +1521,67 @@ network --bootproto=dhcp --device=link --activate --onboot=on Note that osbuild-composer will automatically add the command that installs the system (`liveimg` or `ostreesetup`) if one is relevant for the image type (`image-installer` and `edge-installer`/`iot-installer` respectively), so this line or any line that conflicts with it should not be included. See the relevant [Kickstart documentation](https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#ostreecontainer) for more information. This customization cannot be used in combination with any other installer customizations. +#### Anaconda Modules 🟣 {#anaconda-modules} + +The Anaconda installer can be configured by enabling or disabling its D-Bus modules. + + + +``` +ℹ️ - Currently not supported +``` + + +``` +ℹ️ - Currently not supported +``` + + +```json +{ + "customizations": { + "installer": { + "modules": { + "enable": [ + "org.fedoraproject.Anaconda.Modules.Localization" + ], + "disable": [ + "org.fedoraproject.Anaconda.Modules.Users" + ] + } + } + } +} +``` + + + +The following module names are known and supported: +- `org.fedoraproject.Anaconda.Modules.Localization` +- `org.fedoraproject.Anaconda.Modules.Network` +- `org.fedoraproject.Anaconda.Modules.Payloads` +- `org.fedoraproject.Anaconda.Modules.Runtime` +- `org.fedoraproject.Anaconda.Modules.Security` +- `org.fedoraproject.Anaconda.Modules.Services` +- `org.fedoraproject.Anaconda.Modules.Storage` +- `org.fedoraproject.Anaconda.Modules.Subscription` +- `org.fedoraproject.Anaconda.Modules.Timezone` +- `org.fedoraproject.Anaconda.Modules.Users` + +*Note: The values are **not validated**. Any name listed under `enable` will be added to the Anaconda configuration. This way, new or unknown modules can be enabled. However, it also means that mistyped or incorrect values may cause Anaconda to fail to start.* + +By default, the following modules are enabled for all Anaconda ISOs: +- `org.fedoraproject.Anaconda.Modules.Network` +- `org.fedoraproject.Anaconda.Modules.Payloads` +- `org.fedoraproject.Anaconda.Modules.Storage` + +Other modules are automatically enabled based on the ISO type and blueprint customizations. For example, adding a `user` customization to an ISO build will enable the `org.fedoraproject.Anaconda.Modules.Users` module. + +##### Enable vs Disable priority + +The `disable` list is processed after the `enable` list and therefore takes priority. In other words, adding the same module in both `enable` and `disable` will result in the module being **disabled**. +Furthermore, adding a module that is enabled by default to `disable` will result in the module being **disabled**. + ## Example Blueprints diff --git a/src/components/Highlight.js b/src/components/Highlight.js index 6a1fd793c..ca216d8d5 100644 --- a/src/components/Highlight.js +++ b/src/components/Highlight.js @@ -19,6 +19,12 @@ export const tabValuesHostedOnly = [ { label: '⚪ bootc', value: 'bootc', attributes: { className: 'highlight tab disabled' } }, ]; +export const tabValuesBootcOnly = [ + { label: '⚪ on premises', value: 'on-premises', attributes: { className: 'highlight tab disabled' } }, + { label: '⚪ hosted', value: 'hosted', attributes: { className: 'highlight tab disabled' } }, + { label: '🟣 bootc', value: 'bootc', attributes: { className: 'highlight tab bootc' } }, +]; + export const tabValuesWithBootc = [ { label: '🔵 on premises', value: 'on-premises', attributes: { className: 'highlight tab on-premises' } }, { label: '🟤 hosted', value: 'hosted', attributes: { className: 'highlight tab hosted' } },