// Module included in the following assemblies:
//
// * installing/installing_with_agent_based_installer/installing-with-agent-basic.adoc

:_mod-docs-content-type: PROCEDURE
[id="installing-ocp-agent-basic-inputs_{context}"]
= Creating the configuration inputs


You must create the configuration files that are used by the installation program to create the agent image.

.Procedure

. Place the `openshift-install` binary in a directory that is on your PATH.

. Create a directory to store the install configuration by running the following command:
+
[source,terminal]
----
$ mkdir ~/<directory_name>
----

. Create the `install-config.yaml` file by running the following command:
+
--
[source,terminal]
----
$ cat << EOF > ./my-cluster/install-config.yaml
apiVersion: v1
baseDomain: test.example.com
compute:
- architecture: amd64 // <1>
  hyperthreading: Enabled
  name: worker
  replicas: 0
controlPlane:
  architecture: amd64
  hyperthreading: Enabled
  name: master
  replicas: 1
metadata:
  name: sno-cluster // <2>
networking:
  clusterNetwork:
  - cidr: fd01::/48
    hostPrefix: 64
  machineNetwork:
  - cidr: fd2e:6f44:5dd8:c956::/120
  networkType: OVNKubernetes // <3>
  serviceNetwork:
  - fd02::/112
platform: <4>
  none: {}
pullSecret: '<pull_secret>' // <5>
sshKey: '<ssh_pub_key>' // <6>
additionalTrustBundle: | // <7>
  -----BEGIN CERTIFICATE-----
  ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  -----END CERTIFICATE-----
imageContentSources: // <8>
- mirrors:
  - <local_registry>/<local_repository_name>/release
  source: quay.io/openshift-release-dev/ocp-release
- mirrors:
  - <local_registry>/<local_repository_name>/release
  source: quay.io/openshift-release-dev/ocp-v4.0-art-dev
EOF
----
<1> Specify the system architecture. Valid values are `amd64`, `arm64`, `ppc64le`, and `s390x`.
+
If you are using the release image with the `multi` payload, you can install the cluster on different architectures such as `arm64`, `amd64`, `s390x`, and `ppc64le`. Otherwise, you can install the cluster only on the `release architecture` displayed in the output of the `openshift-install version` command. For more information, see "Verifying the supported architecture for installing an Agent-based Installer cluster".
<2> Required. Specify your cluster name.
<3> The cluster network plugin to install. The default value `OVNKubernetes` is the only supported value.
<4> Specify your platform.
+
[NOTE]
====
For bare metal platforms, host settings made in the platform section of the `install-config.yaml` file are used by default, unless they are overridden by configurations made in the `agent-config.yaml` file.
====
<5> Specify your pull secret.
<6> Specify your SSH public key.
<7> Provide the contents of the certificate file that you used for your mirror registry.
The certificate file can be an existing, trusted certificate authority or the self-signed certificate that you generated for the mirror registry.
You must specify this parameter if you are using a disconnected mirror registry.
<8> Provide the `imageContentSources` section according to the output of the command that you used to mirror the repository.
You must specify this parameter if you are using a disconnected mirror registry.
+
[IMPORTANT]
====
* When using the `oc adm release mirror` command, use the output from the `imageContentSources` section.
* When using the `oc mirror` command, use the `repositoryDigestMirrors` section of the `ImageContentSourcePolicy` file that results from running the command.
* The `ImageContentSourcePolicy` resource is deprecated.
====
--

. Create the `agent-config.yaml` file by running the following command:
+
[source,terminal]
----
$ cat > agent-config.yaml << EOF
apiVersion: v1beta1
kind: AgentConfig
metadata:
  name: sno-cluster
rendezvousIP: fd2e:6f44:5dd8:c956::50 // <1>
EOF
----
+
<1> This IP address is used to determine which node 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 IP address in the `networkConfig` parameter. If this address is not provided, one IP address is selected from the provided host `networkConfig` parameter.
