// 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

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

These values are specified in the `agent-config.yaml` file.

[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=".^2l,.^3,.^5a",options="header"]
|====
|Parameter|Description|Values

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

|metadata:
|Kubernetes resource `ObjectMeta`, from which only the `name` parameter is consumed.
|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`.
|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=".^2l,.^4,.^4a",options="header"]
|====
|Parameter|Description|Values

|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`.
|IPv4 or IPv6 address.

|bootArtifactsBaseURL:
|The URL of the server to upload Preboot Execution Environment (PXE) assets to when using the Agent-based Installer to generate an iPXE script.
For more information, see "Preparing PXE assets for {product-title}".
|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.
|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.
|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.
|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.
|An array of host configuration objects.

|hosts:
  interfaces:
    name:
|The name of an interface on the host.
|String.

|hosts:
  interfaces:
    macAddress:
|The MAC address of an interface on the host.
|A MAC address such as the following example: `00-B0-D0-63-C2-26`

|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.
|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.
|String.

|hosts:
  networkConfig:
|The host network definition.
The configuration must match the Host Network Management API defined in the link:https://nmstate.io/[nmstate documentation].
|A dictionary of host network configuration objects.
|====