Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs/user-guide: document the new installer.modules customization #100

Merged
merged 2 commits into from
Sep 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 62 additions & 1 deletion docs/user-guide/01-blueprint-reference.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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.

<Tabs values={tabValuesBootcOnly} defaultValue="bootc">
<TabItem value="on-premises" >
```
ℹ️ - Currently not supported
```
</TabItem>
<TabItem value="hosted" >
```
ℹ️ - Currently not supported
```
</TabItem>
<TabItem value="bootc" >
```json
{
"customizations": {
"installer": {
"modules": {
"enable": [
"org.fedoraproject.Anaconda.Modules.Localization"
],
"disable": [
"org.fedoraproject.Anaconda.Modules.Users"
]
}
}
}
}
```
</TabItem>
</Tabs>

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

Expand Down
6 changes: 6 additions & 0 deletions src/components/Highlight.js
Original file line number Diff line number Diff line change
Expand Up @@ -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' } },
Expand Down