// Module included in the following assemblies:
// * edge_computing/image-based-upgrade/cnf-understanding-image-based-upgrade.adoc

:_mod-docs-content-type: CONCEPT
[id="cnf-image-based-upgrade-extra-manifests-guide_{context}"]
= Extra manifest guidelines

[role="_abstract"]
Extra manifests enable the {lcao} to restore cluster-specific configurations after the upgrade pivot but before restoring application artifacts.

The {lcao} uses extra manifests to restore your target clusters after rebooting with the new stateroot deployment and before restoring application artifacts.

Different deployment methods require a different way to apply the extra manifests:

{ztp}:: You use the `lca.openshift.io/target-ocp-version: <target_ocp_version>` label to mark the extra manifests that the {lcao} must extract and apply after the pivot.
You can specify the number of manifests labeled with `lca.openshift.io/target-ocp-version` by using the `lca.openshift.io/target-ocp-version-manifest-count` annotation in the `ImageBasedUpgrade` CR.
If specified, the {lcao} verifies that the number of manifests extracted from policies matches the number provided in the annotation during the prep and upgrade stages.
+
.Example for the lca.openshift.io/target-ocp-version-manifest-count annotation
[source,yaml]
----
apiVersion: lca.openshift.io/v1
kind: ImageBasedUpgrade
metadata:
  annotations:
    lca.openshift.io/target-ocp-version-manifest-count: "5"
  name: upgrade
----

Non-Gitops:: You mark your extra manifests with the `lca.openshift.io/apply-wave` annotation to determine the apply order. The labeled extra manifests are wrapped in `ConfigMap` objects and referenced in the `ImageBasedUpgrade` CR that the {lcao} uses after the pivot.

If the target cluster uses custom catalog sources, you must include them as extra manifests that point to the correct release version.

[IMPORTANT]
====
You cannot apply the following items as extra manifests:

* `MachineConfig` objects
* OLM Operator subscriptions
====
