// Module included in the following assemblies:
//
// * installing/installing_with_agent_based_installer/installation-config-parameters-agent.adoc

:_mod-docs-content-type: CONCEPT
[id="agent-configuration-parameters_{context}"]
= Available Agent configuration parameters

[role="_abstract"]
To customize your cluster installation, configuration parameters are available to use in the `agent-config.yaml` file.

The following tables specify the required and optional Agent configuration parameters that you can set as part of the Agent-based installation process.

[NOTE]
====
These settings are used for installation only, and cannot be modified after installation.
====

[id="agent-configuration-parameters-required_{context}"]
== Required configuration parameters

Required Agent configuration parameters are described in the following table:

.Required parameters
[cols=".^l,.^a",options="header"]
|====
|Parameter|Description

|apiVersion:
|The API version for the `agent-config.yaml` content.
The current version is `v1beta1`.
The installation program might also support older API versions.

*Value:* String

|metadata:
|Kubernetes resource `ObjectMeta`, from which only the `name` parameter is consumed.

*Value:* Object

|metadata:
  name:
|The name of the cluster.
DNS records for the cluster are all subdomains of `{{.metadata.name}}.{{.baseDomain}}`.
The value entered in the `agent-config.yaml` file is ignored, and instead the value specified in the `install-config.yaml` file is used.
When you do not provide `metadata.name` through either the `install-config.yaml` or `agent-config.yaml` files, for example when you use only ZTP manifests, the cluster name is set to `agent-cluster`.

*Value:* String of lowercase letters and hyphens (`-`), such as `dev`.
|====


[id="agent-configuration-parameters-optional_{context}"]
== Optional configuration parameters

Optional Agent configuration parameters are described in the following table:

.Optional parameters
[cols=".^l,.^a",options="header"]
|====
|Parameter|Description

|rendezvousIP:
|The IP address of the node that performs the bootstrapping process as well as running the `assisted-service` component.
You must provide the rendezvous IP address when you do not specify at least one host's IP address in the `networkConfig` parameter.
If this address is not provided, one IP address is selected from the provided hosts' `networkConfig`.

*Value:* IPv4 or IPv6 address.

|bootArtifactsBaseURL:
|When you use the Agent-based Installer to generate a minimal ISO image, this parameter specifies a URL where the rootfs image file can be retrieved from during cluster installation. This parameter is optional for booting minimal ISO images in connected environments.

When you use the Agent-based Installer to generate an iPXE script, this parameter specifies the URL of the server to upload Preboot Execution Environment (PXE) assets to.
For more information, see "Preparing PXE assets for {product-title}".

*Value:* String.

|additionalNTPSources:
|A list of Network Time Protocol (NTP) sources to be added to all cluster hosts, which are added to any NTP sources that are configured through other means.

*Value:* List of hostnames or IP addresses.

|hosts:
|Host configuration.
An optional list of hosts.
The number of hosts defined must not exceed the total number of hosts defined in the `install-config.yaml` file, which is the sum of the values of the `compute.replicas` and `controlPlane.replicas` parameters.

*Value:* An array of host configuration objects.

|hosts:
  hostname:
|Hostname.
Overrides the hostname obtained from either the Dynamic Host Configuration Protocol (DHCP) or a reverse DNS lookup.
Each host must have a unique hostname supplied by one of these methods, although configuring a hostname through this parameter is optional.

*Value:* String.

|hosts:
  interfaces:
|Provides a table of the name and MAC address mappings for the interfaces on the host.
If a `NetworkConfig` section is provided in the `agent-config.yaml` file, this table must be included and the values must match the mappings provided in the `NetworkConfig` section.

*Value:* An array of host configuration objects.

|hosts:
  interfaces:
    name:
|The name of an interface on the host.
[NOTE]
====
This value does not need to match the device name.
====

*Value:* String.

|hosts:
  interfaces:
    macAddress:
|The MAC address of an interface on the host.

*Value:* A MAC address such as the following example: `00-B0-D0-63-C2-26`.

|hosts:
  role:
|Defines whether the host is a `master` or `worker` node.
If no role is defined in the `agent-config.yaml` file, roles will be assigned at random during cluster installation.

*Value:* `master` or `worker`.

|hosts:
  rootDeviceHints:
|Enables provisioning of the {op-system-first} image to a particular device.
The installation program examines the devices in the order it discovers them, and compares the discovered values with the hint values.
It uses the first discovered device that matches the hint value.
This is the device that the operating system is written on during installation.

*Value:* A dictionary of key-value pairs.
For more information, see "Root device hints" in the "Setting up the environment for an OpenShift installation" page.

|hosts:
  rootDeviceHints:
    deviceName:
|The name of the device the {op-system} image is provisioned to.

*Value:* String.

|hosts:
  networkConfig:
|The host network definition.
The configuration must match the Host Network Management API defined in the "Declarative Network API (nmstate documentation)".

*Value:* A dictionary of host network configuration objects.

|minimalISO:
|Defines whether the Agent-based Installer generates a full ISO or a minimal ISO image. When this parameter is set to `True`, the Agent-based Installer generates an ISO without a rootfs image file, and instead contains details about where to pull the rootfs file from.

When you generate a minimal ISO, if you do not specify a rootfs URL through the `bootArtifactsBaseURL` parameter, the Agent-based Installer embeds a default URL that is accessible in environments with an internet connection.

The default value is `False`.

*Value:* Boolean.
|====
