//Module included in the following assemblies:
//
//*  microshift_updating/microshift-update-rpms.adoc

:_mod-docs-content-type: PROCEDURE
[id="microshift-updates-rpms-ostree_{context}"]
= Applying updates on an {op-system-ostree} system

[role="_abstract"]
To update {microshift-short} on {op-system-ostree-first}, embed the new version of {microshift-short} on a new operating system image.

include::snippets/microshift-rhel10-bootc-not-osbuild.adoc[leveloffset=1]

[IMPORTANT]
====
You cannot downgrade {microshift-short} with this process. Downgrades other than automatic rollbacks are not supported.
====

.Prerequisites

* The system requirements for installing {microshift-short} have been met.
* You have root user access to the host.
* The version of {microshift-short} you have is compatible with the {op-system-ostree} image you are preparing to use.

.Procedure

. Create an image builder configuration file for adding the `{rpm-repo-version}` RPM repository source required to pull {microshift-short} RPMs by running the following command:
+
[source,terminal,subs="attributes+"]
----
$ cat > {rpm-repo-version}.toml <<EOF
id = "{rpm-repo-version}"
name = "Red Hat OpenShift Container Platform {ocp-version} for RHEL {op-system-version-major}"
type = "yum-baseurl"
url = "https://cdn.redhat.com/content/dist/layered/rhel9/$(uname -m)/rhocp/{ocp-version}/os"
check_gpg = true
check_ssl = true
system = false
rhsm = true
EOF
----

. Add the update RPM source to the image builder by running the following command:
+
[source,terminal,subs="attributes+"]
----
$ sudo composer-cli sources add {rpm-repo-version}.toml
----

. Build a new image of {op-system-ostree} that contains the new version of {microshift-short}. To determine the steps required, use the following documentation:

* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/composing_installing_and_managing_rhel_for_edge_images/managing-rhel-for-edge-images_composing-installing-managing-rhel-for-edge-images#proc_building-a-commit-update_managing-rhel-for-edge-images[Building a commit update]

. Update the host to use the new image of {op-system-ostree}. To determine the steps required, use the following documentation:

* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/composing_installing_and_managing_rhel_for_edge_images/managing-rhel-for-edge-images_composing-installing-managing-rhel-for-edge-images#how-are-rhel-for-edge-image-updates-deployed_managing-rhel-for-edge-images[How RHEL for Edge image updates are deployed]

. Reboot the host to apply updates by running the following command:
+
[source,terminal]
----
$ sudo systemctl reboot
----
