From 54dcd544b03104574a68ada548c146b2ec78c5f5 Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Tue, 7 Jun 2022 20:30:01 -0400
Subject: [PATCH 01/17] offline instruction link added to devfile registry
 assembly.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 docs/modules/user-guide/partials/assembly_devfile-registry.adoc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/modules/user-guide/partials/assembly_devfile-registry.adoc b/docs/modules/user-guide/partials/assembly_devfile-registry.adoc
index f0939831..9f9c095f 100644
--- a/docs/modules/user-guide/partials/assembly_devfile-registry.adoc
+++ b/docs/modules/user-guide/partials/assembly_devfile-registry.adoc
@@ -17,6 +17,7 @@ Get started with devfile registries:
 
 * xref:understanding-a-devfile-registry.adoc[]
 * xref:building-a-custom-devfile-registry.adoc[]
+* xref:installation-incluster-registry-offline.adoc[]
 * xref:deploying-a-devfile-registry.adoc[]
 * xref:adding-a-registry-schema.adoc[]
 * xref:creating-a-devfile-stack.adoc[]

From 8b48c9cc81f63721a8bb9c09430bc1c956ed2a14 Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Tue, 7 Jun 2022 20:31:15 -0400
Subject: [PATCH 02/17] offline instruction added.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 ...stallation-incluster-registry-offline.adoc |  18 ++
 .../partials/assembly_devfile-registry.adoc   |   2 +-
 ...-build-and-package-a-devfile-registry.adoc | 180 ++++++++++++++++++
 ...stall-a-devfile-registry-to-a-cluster.adoc |  35 ++++
 ...tegy-for-refreshing-registry-contents.adoc |   7 +
 5 files changed, 241 insertions(+), 1 deletion(-)
 create mode 100644 docs/modules/user-guide/pages/installation-incluster-registry-offline.adoc
 create mode 100644 docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
 create mode 100644 docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
 create mode 100644 docs/modules/user-guide/partials/proc_update-strategy-for-refreshing-registry-contents.adoc

diff --git a/docs/modules/user-guide/pages/installation-incluster-registry-offline.adoc b/docs/modules/user-guide/pages/installation-incluster-registry-offline.adoc
new file mode 100644
index 00000000..7bd6f2f3
--- /dev/null
+++ b/docs/modules/user-guide/pages/installation-incluster-registry-offline.adoc
@@ -0,0 +1,18 @@
+:description: Installation of In-Cluster Offline Devfile Registry
+:navtitle: Offline Devfile Registry
+:keywords: devfile, registry, stacks
+
+= Installation of In-Cluster Offline Devfile Registry
+
+A devfile refers to various resources, for example container images and starter projects. The current devfile registry currently does not store those supporting resources as part of the registry. This means that a user will need to have access to those resources when using those devfiles.
+
+To support the air gap installation of the devfile registry, the air gap scenario divides into 2 stages:
+
+. Build a devfile registry based on one or more source repositories, e.g. link:https://github.com/devfile/registry[devfile/registry], to build and package up a devfile registry that contains all the resources available for offline installation.
+. Install the devfile registry to a cluster to make it available for users to access the registry.
+
+include::partial$proc_stage-1-build-and-package-a-devfile-registry.adoc[]
+
+include::partial$proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc[]
+
+include::partial$proc_update-strategy-for-refreshing-registry-contents.adoc[]
diff --git a/docs/modules/user-guide/partials/assembly_devfile-registry.adoc b/docs/modules/user-guide/partials/assembly_devfile-registry.adoc
index 9f9c095f..1de7afb9 100644
--- a/docs/modules/user-guide/partials/assembly_devfile-registry.adoc
+++ b/docs/modules/user-guide/partials/assembly_devfile-registry.adoc
@@ -23,4 +23,4 @@ Get started with devfile registries:
 * xref:creating-a-devfile-stack.adoc[]
 * xref:adding-a-stack-yaml-file.adoc[]
 
-For more information on the devfile registry, see the link:https://github.com/devfile/registry-support/blob/main/index/server/registry-REST-API.adoc[Registry REST API].
+For more information about the devfile registry, see the link:https://github.com/devfile/registry-support/blob/main/index/server/registry-REST-API.adoc[Registry REST API].
diff --git a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
new file mode 100644
index 00000000..9e6a0057
--- /dev/null
+++ b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
@@ -0,0 +1,180 @@
+[id="stage-1-build-and-package-a-devfile-registry_{context}"]
+== Stage 1: Build and Package a Devfile Registry
+
+The main goal of this stage is:
+
+. Pull in resources into the registry as part of the registry build.
+. Modify the devfile to update references to those offline resources as part of the registry build.
+
+As part of the offline devfile registry build, we need to do a few steps.
+
+.Prerequisites
+
+* Golang 1.17.x or higher
+* Docker 17.05 or higher / Podman 4.0.x or higher
+* Git
+* Curl
+* Unzip
+
+=== Create Offline Registry
+
+Download / clone the link:https://github.com/devfile/registry[devfile/registry] repository.
+
+.Procedure: `git clone`
+
+* HTTP clone
++
+[source,bash]
+----
+git clone https://github.com/devfile/registry.git /path/to/registry
+----
++
+* SSH clone
++
+[source,bash]
+----
+git clone git@github.com:devfile/registry.git /path/to/registry
+----
+
+.Procedure: Download zip
+
+. Download link:https://github.com/devfile/registry[devfile/registry]
++
+[source,bash]
+----
+curl -L https://github.com/devfile/registry/archive/refs/heads/main.zip \
+  -o registry.zip
+----
++
+. Unzip registry
++
+[source,bash]
+----
+unzip registry.zip -d /path/to/registry
+----
+
+.Additional resources
+
+* Creating your own registry Git repository, see xref:building-a-custom-devfile-registry.adoc[Building a custom devfile registry]
+
+=== Packaging Starter Projects
+
+To package starter projects you will need to download them manually then place them under `/stacks/<stack>/<zip>-offline.zip`.
+
+*Note*: Starter projects must be packaged under a zip archive with the suffix `-offline` to be pulled into the registry.
+
+.Procedure
+
+. Zip - Download zip
++
+[source,bash]
+----
+curl -L <remote-url> -o <registry_root>/stacks/<stack>/<project>-offline.zip
+----
++
+Example
++
+[source,bash]
+----
+cd /path/to/registry
+curl -L https://code.quarkus.io/d?e=io.quarkus%3Aquarkus-resteasy&e=io.quarkus%3Aquarkus-micrometer&e=io.quarkus%3Aquarkus-smallrye-health&e=io.quarkus%3Aquarkus-openshift&cn=devfile \
+  -o stacks/java-quarkus/community-offline.zip
+----
++
+. Git - Package cloned contents into a zip
++
+[source,bash]
+----
+git clone <remote-url> <registry_root>/stacks/<stack>/<project>-offline.zip
+----
++
+Example
++
+[source,bash]
+----
+cd /path/to/registry
+git clone https://github.com/odo-devfiles/nodejs-ex.git \
+  stacks/nodejs/nodejs-starter-offline.zip
+----
++
+. GitHub - Download repository as a zip archive
++
+[source,bash]
+----
+curl -L https://github.com/<user|org>/<stack_repo_name>/archive/refs/heads/<main_branch>.zip \
+  -o <registry_root>/stacks/<stack>/<project>-offline.zip
+----
++
+Example
++
+[source,bash]
+----
+cd /path/to/registry
+curl -L https://github.com/odo-devfiles/nodejs-ex/archive/refs/heads/master.zip \
+  -o stacks/java-quarkus/nodejs-starter-offline.zip
+----
+
+=== Modify Devfile
+
+Modification is to the devfile will be needed to update references to those offline resources as part of the registry build. For all the items pulled into the registry, update the corresponding devfile entries to reference the resources within the offline version in the registry.
+
+.Procedure
+
+. Under `starterProjects`, find the starter project definition you want to make offline
+. Under the definition for the starter project find either `git` or `zip`, as seen here:
++
+.Starter Project Before
+====
+----
+...
+starterProjects:
+  - name: nodejs-starter
+    git:
+      remotes:
+        origin: https://github.com/odo-devfiles/nodejs-ex.git
+...
+----
+====
++
+. Do one of the following depending on the block type:
+  * If `git`, replace all of the `git` block with a `zip` block and add the `location` to be the path to the local file under the stack root directory (`<registry_root>/stacks/<stack>/`). 
+  * If `zip`, just replace the value of `location` to the same as mention for `git`. 
+. In either case, you should end up with something like as seen here:
++
+.Starter Project After
+====
+----
+...
+starterProjects:
+  - name: nodejs-starter
+    zip:
+      location: nodejs-starter-offline.zip
+...
+----
+====
+
+.Additional resources
+
+* More about starter projects in devfiles, see xref:adding-projects-to-a-devfile.adoc[Adding projects to a devfile]
+
+=== Build Registry
+
+.Procedure
+
+. Change to registry root (if not already there)
++
+[source,bash]
+----
+cd /path/to/registry
+----
++
+. Build Registry Image
++
+[source,bash]
+----
+bash .ci/build.sh
+----
+
+.Additional resources
+
+* For more information about building your own registry image, see xref:building-a-custom-devfile-registry.adoc[Building a custom devfile registry]
diff --git a/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
new file mode 100644
index 00000000..a215e402
--- /dev/null
+++ b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
@@ -0,0 +1,35 @@
+[id="stage-2-install-a-devfile-registry-to-a-cluster_{context}"]
+== Stage 2: Install a Devfile Registry to a cluster
+
+The main goal of this stage (on top of the existing devfile registry install mechanism) is to install the images to the image registry.
+
+.Prerequisites
+
+* Docker 17.05 or higher / Podman 4.0.x or higher
+* OpenShift Container Platform 4.6 or higher
+
+=== Install Image into Cluster Image Registry
+
+The process of installing the built images into an offline image registry will depend on which image registry has deployed / has access to.
+
+.Procedure
+
+. OpenShift Image Registry
++
+Retag image using the form `<registry_ip>:<port>/<project>/<image>`. This can be done using `docker tag` or `podman tag`:
++
+[source,bash]
+----
+podman tag localhost/devfile-index <registry_ip>:<port>/<project>/devfile-index
+----
++
+Now you can push the retagged image to the OpenShift Image Registry at `<registry_ip>:<port>` by using `docker push` or `podman push`:
++
+[source,bash]
+----
+podman push <registry_ip>:<port>/<project>/devfile-index
+----
+
+.Additional resources
+
+* For more on interacting with the OpenShift Image Registry, see link:https://docs.openshift.com/container-platform/4.10/registry/accessing-the-registry.html[Accessing the registry]
diff --git a/docs/modules/user-guide/partials/proc_update-strategy-for-refreshing-registry-contents.adoc b/docs/modules/user-guide/partials/proc_update-strategy-for-refreshing-registry-contents.adoc
new file mode 100644
index 00000000..2e3669cf
--- /dev/null
+++ b/docs/modules/user-guide/partials/proc_update-strategy-for-refreshing-registry-contents.adoc
@@ -0,0 +1,7 @@
+[id="update-strategy-for-refreshing-registry-contents_{context}"]
+== Update strategy for refreshing registry contents
+
+Steps to update an already deployed registry in the air gap scenario:
+
+. Rerun the registry build script to rebuild the devfile registry and package up the devfile registry that contains all the resources available for offline installation.
+. Update the existing devfile registry deployment with the new devfile registry to make it available for users to access the registry.

From 41c4f5de6dceda108fb9300f4e1abfa8888d02ff Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Tue, 14 Jun 2022 19:07:14 -0400
Subject: [PATCH 03/17] validation errors fixed and zip download steps for
 downloading registry removed.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 ...-build-and-package-a-devfile-registry.adoc | 29 ++++---------------
 1 file changed, 6 insertions(+), 23 deletions(-)

diff --git a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
index 9e6a0057..4e103a88 100644
--- a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
+++ b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
@@ -14,13 +14,13 @@ As part of the offline devfile registry build, we need to do a few steps.
 * Docker 17.05 or higher / Podman 4.0.x or higher
 * Git
 * Curl
-* Unzip
+* Archive Tools (such as `unzip`)
 
 === Create Offline Registry
 
 Download / clone the link:https://github.com/devfile/registry[devfile/registry] repository.
 
-.Procedure: `git clone`
+.Procedure
 
 * HTTP clone
 +
@@ -36,23 +36,6 @@ git clone https://github.com/devfile/registry.git /path/to/registry
 git clone git@github.com:devfile/registry.git /path/to/registry
 ----
 
-.Procedure: Download zip
-
-. Download link:https://github.com/devfile/registry[devfile/registry]
-+
-[source,bash]
-----
-curl -L https://github.com/devfile/registry/archive/refs/heads/main.zip \
-  -o registry.zip
-----
-+
-. Unzip registry
-+
-[source,bash]
-----
-unzip registry.zip -d /path/to/registry
-----
-
 .Additional resources
 
 * Creating your own registry Git repository, see xref:building-a-custom-devfile-registry.adoc[Building a custom devfile registry]
@@ -61,11 +44,11 @@ unzip registry.zip -d /path/to/registry
 
 To package starter projects you will need to download them manually then place them under `/stacks/<stack>/<zip>-offline.zip`.
 
-*Note*: Starter projects must be packaged under a zip archive with the suffix `-offline` to be pulled into the registry.
+*Note*: Starter projects must be packaged under an archive with the suffix `-offline` to be pulled into the registry.
 
 .Procedure
 
-. Zip - Download zip
+. `zip` - Download archive
 +
 [source,bash]
 ----
@@ -81,7 +64,7 @@ curl -L https://code.quarkus.io/d?e=io.quarkus%3Aquarkus-resteasy&e=io.quarkus%3
   -o stacks/java-quarkus/community-offline.zip
 ----
 +
-. Git - Package cloned contents into a zip
+. `git` - Package cloned contents into an archive
 +
 [source,bash]
 ----
@@ -97,7 +80,7 @@ git clone https://github.com/odo-devfiles/nodejs-ex.git \
   stacks/nodejs/nodejs-starter-offline.zip
 ----
 +
-. GitHub - Download repository as a zip archive
+. GitHub - Download repository as an archive
 +
 [source,bash]
 ----

From 460a4efc7a23c689593bfa9268d283e660ec4f09 Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Thu, 16 Jun 2022 11:28:51 -0400
Subject: [PATCH 04/17] fixed mistake found with packaging starter project with
 git repo procedure step.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 ...e-1-build-and-package-a-devfile-registry.adoc | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
index 4e103a88..0f1e8248 100644
--- a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
+++ b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
@@ -64,11 +64,19 @@ curl -L https://code.quarkus.io/d?e=io.quarkus%3Aquarkus-resteasy&e=io.quarkus%3
   -o stacks/java-quarkus/community-offline.zip
 ----
 +
-. `git` - Package cloned contents into an archive
+. `git` - Package cloned contents into a directory then archive
+.. Clone repository
 +
 [source,bash]
 ----
-git clone <remote-url> <registry_root>/stacks/<stack>/<project>-offline.zip
+git clone <remote-url> <registry_root>/stacks/<stack>/<project>-offline
+----
++
+.. Archive cloned repository
++
+[source,bash]
+----
+zip -r <registry_root>/stacks/<stack>/<project>-offline.zip <registry_root>/stacks/<stack>/<project>-offline
 ----
 +
 Example
@@ -77,7 +85,9 @@ Example
 ----
 cd /path/to/registry
 git clone https://github.com/odo-devfiles/nodejs-ex.git \
-  stacks/nodejs/nodejs-starter-offline.zip
+  stacks/nodejs/nodejs-starter-offline
+cd stacks/nodejs
+zip -r nodejs-starter-offline.zip nodejs-starter-offline
 ----
 +
 . GitHub - Download repository as an archive

From 8809d7823342209f0e5bf78dc81fce7d45d272c7 Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Thu, 16 Jun 2022 11:38:49 -0400
Subject: [PATCH 05/17] installation-incluster-registry-offline.adoc changed to
 installation-of-incluster-offline-devfile-registry.adoc to match page title.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 ... => installation-of-incluster-offline-devfile-registry.adoc} | 0
 docs/modules/user-guide/partials/assembly_devfile-registry.adoc | 2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename docs/modules/user-guide/pages/{installation-incluster-registry-offline.adoc => installation-of-incluster-offline-devfile-registry.adoc} (100%)

diff --git a/docs/modules/user-guide/pages/installation-incluster-registry-offline.adoc b/docs/modules/user-guide/pages/installation-of-incluster-offline-devfile-registry.adoc
similarity index 100%
rename from docs/modules/user-guide/pages/installation-incluster-registry-offline.adoc
rename to docs/modules/user-guide/pages/installation-of-incluster-offline-devfile-registry.adoc
diff --git a/docs/modules/user-guide/partials/assembly_devfile-registry.adoc b/docs/modules/user-guide/partials/assembly_devfile-registry.adoc
index 1de7afb9..74fc4bd4 100644
--- a/docs/modules/user-guide/partials/assembly_devfile-registry.adoc
+++ b/docs/modules/user-guide/partials/assembly_devfile-registry.adoc
@@ -17,7 +17,7 @@ Get started with devfile registries:
 
 * xref:understanding-a-devfile-registry.adoc[]
 * xref:building-a-custom-devfile-registry.adoc[]
-* xref:installation-incluster-registry-offline.adoc[]
+* xref:installation-of-incluster-offline-devfile-registry.adoc[]
 * xref:deploying-a-devfile-registry.adoc[]
 * xref:adding-a-registry-schema.adoc[]
 * xref:creating-a-devfile-stack.adoc[]

From 496f1b7ebf4da2624de9c3dbba9e7b3bb14023f1 Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Thu, 16 Jun 2022 11:51:33 -0400
Subject: [PATCH 06/17] installation-of-incluster-offline-devfile-registry.adoc
 revision changes: - IBM SG fix to first paragraph - "2 stages" changed to
 "two stages" - devfile/registry example and link removed from stage 1 summary

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 .../installation-of-incluster-offline-devfile-registry.adoc | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/docs/modules/user-guide/pages/installation-of-incluster-offline-devfile-registry.adoc b/docs/modules/user-guide/pages/installation-of-incluster-offline-devfile-registry.adoc
index 7bd6f2f3..e7834929 100644
--- a/docs/modules/user-guide/pages/installation-of-incluster-offline-devfile-registry.adoc
+++ b/docs/modules/user-guide/pages/installation-of-incluster-offline-devfile-registry.adoc
@@ -4,11 +4,11 @@
 
 = Installation of In-Cluster Offline Devfile Registry
 
-A devfile refers to various resources, for example container images and starter projects. The current devfile registry currently does not store those supporting resources as part of the registry. This means that a user will need to have access to those resources when using those devfiles.
+A devfile refers to various resources, such as container images and starter projects. The current devfile registry currently does not store those supporting resources. Therefore, you must have access to those resources when using those devfiles.
 
-To support the air gap installation of the devfile registry, the air gap scenario divides into 2 stages:
+To support the air gap installation of the devfile registry, the air gap scenario divides into two stages:
 
-. Build a devfile registry based on one or more source repositories, e.g. link:https://github.com/devfile/registry[devfile/registry], to build and package up a devfile registry that contains all the resources available for offline installation.
+. Build a devfile registry based on one or more source repositories so that the registry contains all the resources available for offline installation.
 . Install the devfile registry to a cluster to make it available for users to access the registry.
 
 include::partial$proc_stage-1-build-and-package-a-devfile-registry.adoc[]

From f355285b546c781883a0d9912ed2ba89c65c1915 Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Fri, 17 Jun 2022 14:51:43 -0400
Subject: [PATCH 07/17] proc_stage-1-build-and-package-a-devfile-registry.adoc
 revisions made.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 ...-build-and-package-a-devfile-registry.adoc | 29 ++++++++++---------
 1 file changed, 15 insertions(+), 14 deletions(-)

diff --git a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
index 0f1e8248..1dedfcf5 100644
--- a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
+++ b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
@@ -6,12 +6,10 @@ The main goal of this stage is:
 . Pull in resources into the registry as part of the registry build.
 . Modify the devfile to update references to those offline resources as part of the registry build.
 
-As part of the offline devfile registry build, we need to do a few steps.
-
 .Prerequisites
 
 * Golang 1.17.x or higher
-* Docker 17.05 or higher / Podman 4.0.x or higher
+* Docker 17.05 or higher or Podman 4.0.x or higher
 * Git
 * Curl
 * Archive Tools (such as `unzip`)
@@ -38,7 +36,7 @@ git clone git@github.com:devfile/registry.git /path/to/registry
 
 .Additional resources
 
-* Creating your own registry Git repository, see xref:building-a-custom-devfile-registry.adoc[Building a custom devfile registry]
+* To create your own registry Git repository, see xref:building-a-custom-devfile-registry.adoc[Building a custom devfile registry]
 
 === Packaging Starter Projects
 
@@ -109,12 +107,12 @@ curl -L https://github.com/odo-devfiles/nodejs-ex/archive/refs/heads/master.zip
 
 === Modify Devfile
 
-Modification is to the devfile will be needed to update references to those offline resources as part of the registry build. For all the items pulled into the registry, update the corresponding devfile entries to reference the resources within the offline version in the registry.
+Change the devfile so you can update references to those offline resources as part of the registry build. For all the items pulled into the registry, update the corresponding devfile entries to reference the resources within the offline version in the registry.
 
 .Procedure
 
-. Under `starterProjects`, find the starter project definition you want to make offline
-. Under the definition for the starter project find either `git` or `zip`, as seen here:
+. Under `starterProjects`, find the starter project definition you want to make offline.
+. Under the definition for the starter project find either `git` or `zip`:
 +
 .Starter Project Before
 ====
@@ -131,10 +129,13 @@ starterProjects:
 +
 . Do one of the following depending on the block type:
   * If `git`, replace all of the `git` block with a `zip` block and add the `location` to be the path to the local file under the stack root directory (`<registry_root>/stacks/<stack>/`). 
-  * If `zip`, just replace the value of `location` to the same as mention for `git`. 
-. In either case, you should end up with something like as seen here:
-+
-.Starter Project After
+  * If `zip`, just replace the value of `location` to the local file under the stack root directory (`<registry_root>/stacks/<stack>/`).
+
+.Verification step
+
+To confirm you modified your devfile, verify your altered starter project definition is similar to the following example:
+
+.Altered Starter Project Definition
 ====
 ----
 ...
@@ -148,20 +149,20 @@ starterProjects:
 
 .Additional resources
 
-* More about starter projects in devfiles, see xref:adding-projects-to-a-devfile.adoc[Adding projects to a devfile]
+* To learn more about starter projects in devfiles, see xref:adding-projects-to-a-devfile.adoc[Adding projects to a devfile]
 
 === Build Registry
 
 .Procedure
 
-. Change to registry root (if not already there)
+. If not already at the root of the registry, change to the root of the registry.
 +
 [source,bash]
 ----
 cd /path/to/registry
 ----
 +
-. Build Registry Image
+. Build the registry image.
 +
 [source,bash]
 ----

From a8843b2b8225751b54ba4bcb79e55a6fed4ddb7c Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Fri, 17 Jun 2022 15:07:05 -0400
Subject: [PATCH 08/17] 
 proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc revisions made.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 ...tage-2-install-a-devfile-registry-to-a-cluster.adoc | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
index a215e402..8784a81e 100644
--- a/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
+++ b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
@@ -1,29 +1,29 @@
 [id="stage-2-install-a-devfile-registry-to-a-cluster_{context}"]
 == Stage 2: Install a Devfile Registry to a cluster
 
-The main goal of this stage (on top of the existing devfile registry install mechanism) is to install the images to the image registry.
+In this stage, install the images to the offline image registry.
 
 .Prerequisites
 
-* Docker 17.05 or higher / Podman 4.0.x or higher
+* Docker 17.05 or higher or Podman 4.0.x or higher
 * OpenShift Container Platform 4.6 or higher
 
 === Install Image into Cluster Image Registry
 
-The process of installing the built images into an offline image registry will depend on which image registry has deployed / has access to.
+The process of installing the built images into an offline image registry depends on which image registry has deployed and which image registry you have access to.
 
 .Procedure
 
 . OpenShift Image Registry
 +
-Retag image using the form `<registry_ip>:<port>/<project>/<image>`. This can be done using `docker tag` or `podman tag`:
+Use the `docker tag` or the `podman tag` to retag the image using the form `<registry_ip>:<port>/<project>/<image>`:
 +
 [source,bash]
 ----
 podman tag localhost/devfile-index <registry_ip>:<port>/<project>/devfile-index
 ----
 +
-Now you can push the retagged image to the OpenShift Image Registry at `<registry_ip>:<port>` by using `docker push` or `podman push`:
+Use the `docker push` or `podman push` to push the retagged image to the OpenShift Image Registry at `<registry_ip>:<port>`:
 +
 [source,bash]
 ----

From c8a9b0b5500543e83f601f49b4304ee9fdf9bf4f Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Fri, 17 Jun 2022 15:12:01 -0400
Subject: [PATCH 09/17] Clone registry steps reworded.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 .../proc_stage-1-build-and-package-a-devfile-registry.adoc    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
index 1dedfcf5..e512d210 100644
--- a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
+++ b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
@@ -20,14 +20,14 @@ Download / clone the link:https://github.com/devfile/registry[devfile/registry]
 
 .Procedure
 
-* HTTP clone
+* Clone through HTTPS
 +
 [source,bash]
 ----
 git clone https://github.com/devfile/registry.git /path/to/registry
 ----
 +
-* SSH clone
+* Clone through SSH
 +
 [source,bash]
 ----

From 380519fb8c2c7f70f912708e18e6222b82c86be1 Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Fri, 24 Jun 2022 18:06:10 -0400
Subject: [PATCH 10/17] OpenShift image registry label for 'Install Image into
 Cluster Image Registry' example removed, example is just treated as generic.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 ...roc_stage-2-install-a-devfile-registry-to-a-cluster.adoc | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
index 8784a81e..ff5fda81 100644
--- a/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
+++ b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
@@ -14,16 +14,14 @@ The process of installing the built images into an offline image registry depend
 
 .Procedure
 
-. OpenShift Image Registry
-+
-Use the `docker tag` or the `podman tag` to retag the image using the form `<registry_ip>:<port>/<project>/<image>`:
+. Use the `docker tag` or the `podman tag` to retag the image using the form `<registry_ip>:<port>/<project>/<image>`:
 +
 [source,bash]
 ----
 podman tag localhost/devfile-index <registry_ip>:<port>/<project>/devfile-index
 ----
 +
-Use the `docker push` or `podman push` to push the retagged image to the OpenShift Image Registry at `<registry_ip>:<port>`:
+. Use the `docker push` or `podman push` to push the retagged image to the cluster image registry at `<registry_ip>:<port>`:
 +
 [source,bash]
 ----

From 702b04792a51163304c3bc642cd96cd669ee4351 Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Fri, 24 Jun 2022 18:09:29 -0400
Subject: [PATCH 11/17] 'registry_ip' changed to 'registry_host'.
 'localhost/devfile-index' changed to 'devfile-index'.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 ...c_stage-2-install-a-devfile-registry-to-a-cluster.adoc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
index ff5fda81..d5a8f7f2 100644
--- a/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
+++ b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
@@ -14,18 +14,18 @@ The process of installing the built images into an offline image registry depend
 
 .Procedure
 
-. Use the `docker tag` or the `podman tag` to retag the image using the form `<registry_ip>:<port>/<project>/<image>`:
+. Use the `docker tag` or the `podman tag` to retag the image using the form `<registry_host>:<port>/<project>/<image>`:
 +
 [source,bash]
 ----
-podman tag localhost/devfile-index <registry_ip>:<port>/<project>/devfile-index
+podman tag devfile-index <registry_host>:<port>/<project>/devfile-index
 ----
 +
-. Use the `docker push` or `podman push` to push the retagged image to the cluster image registry at `<registry_ip>:<port>`:
+. Use the `docker push` or `podman push` to push the retagged image to the cluster image registry at `<registry_host>:<port>`:
 +
 [source,bash]
 ----
-podman push <registry_ip>:<port>/<project>/devfile-index
+podman push <registry_host>:<port>/<project>/devfile-index
 ----
 
 .Additional resources

From dc8d1301f4a4606aaf7b7a7b605730179f40fca1 Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Fri, 24 Jun 2022 18:16:54 -0400
Subject: [PATCH 12/17] 'OpenShift Container Platform 4.6 or higher'
 prerequisite removed.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 .../proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc    | 1 -
 1 file changed, 1 deletion(-)

diff --git a/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
index d5a8f7f2..02d94357 100644
--- a/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
+++ b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
@@ -6,7 +6,6 @@ In this stage, install the images to the offline image registry.
 .Prerequisites
 
 * Docker 17.05 or higher or Podman 4.0.x or higher
-* OpenShift Container Platform 4.6 or higher
 
 === Install Image into Cluster Image Registry
 

From 92df1267c3d466c9a500ab9182f7e4aa2dc973cd Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Tue, 28 Jun 2022 12:46:38 -0400
Subject: [PATCH 13/17] just including link downloads and git cloning for
 packaging starter projects.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 ...-1-build-and-package-a-devfile-registry.adoc | 17 -----------------
 1 file changed, 17 deletions(-)

diff --git a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
index e512d210..0e26f7d2 100644
--- a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
+++ b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
@@ -87,23 +87,6 @@ git clone https://github.com/odo-devfiles/nodejs-ex.git \
 cd stacks/nodejs
 zip -r nodejs-starter-offline.zip nodejs-starter-offline
 ----
-+
-. GitHub - Download repository as an archive
-+
-[source,bash]
-----
-curl -L https://github.com/<user|org>/<stack_repo_name>/archive/refs/heads/<main_branch>.zip \
-  -o <registry_root>/stacks/<stack>/<project>-offline.zip
-----
-+
-Example
-+
-[source,bash]
-----
-cd /path/to/registry
-curl -L https://github.com/odo-devfiles/nodejs-ex/archive/refs/heads/master.zip \
-  -o stacks/java-quarkus/nodejs-starter-offline.zip
-----
 
 === Modify Devfile
 

From 30ea0c45f75a5de34ba8613a177d8906bdfa0224 Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Tue, 28 Jun 2022 12:48:20 -0400
Subject: [PATCH 14/17] just including examples and removing 'templated' steps
 for packaging starter projects.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 ...1-build-and-package-a-devfile-registry.adoc | 18 ------------------
 1 file changed, 18 deletions(-)

diff --git a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
index 0e26f7d2..3b194968 100644
--- a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
+++ b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
@@ -48,11 +48,6 @@ To package starter projects you will need to download them manually then place t
 
 . `zip` - Download archive
 +
-[source,bash]
-----
-curl -L <remote-url> -o <registry_root>/stacks/<stack>/<project>-offline.zip
-----
-+
 Example
 +
 [source,bash]
@@ -63,19 +58,6 @@ curl -L https://code.quarkus.io/d?e=io.quarkus%3Aquarkus-resteasy&e=io.quarkus%3
 ----
 +
 . `git` - Package cloned contents into a directory then archive
-.. Clone repository
-+
-[source,bash]
-----
-git clone <remote-url> <registry_root>/stacks/<stack>/<project>-offline
-----
-+
-.. Archive cloned repository
-+
-[source,bash]
-----
-zip -r <registry_root>/stacks/<stack>/<project>-offline.zip <registry_root>/stacks/<stack>/<project>-offline
-----
 +
 Example
 +

From c24828f58e45b08a4f08ece17b0a46fe8afb79f8 Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Tue, 28 Jun 2022 14:00:44 -0400
Subject: [PATCH 15/17] reduced ambiguity in a few noted statements.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 .../proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc | 2 +-
 ...proc_update-strategy-for-refreshing-registry-contents.adoc | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
index 02d94357..d4cdfa7f 100644
--- a/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
+++ b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
@@ -1,7 +1,7 @@
 [id="stage-2-install-a-devfile-registry-to-a-cluster_{context}"]
 == Stage 2: Install a Devfile Registry to a cluster
 
-In this stage, install the images to the offline image registry.
+In this stage, you will push the container images to a registry available to the offline cluster.
 
 .Prerequisites
 
diff --git a/docs/modules/user-guide/partials/proc_update-strategy-for-refreshing-registry-contents.adoc b/docs/modules/user-guide/partials/proc_update-strategy-for-refreshing-registry-contents.adoc
index 2e3669cf..74c6d658 100644
--- a/docs/modules/user-guide/partials/proc_update-strategy-for-refreshing-registry-contents.adoc
+++ b/docs/modules/user-guide/partials/proc_update-strategy-for-refreshing-registry-contents.adoc
@@ -3,5 +3,5 @@
 
 Steps to update an already deployed registry in the air gap scenario:
 
-. Rerun the registry build script to rebuild the devfile registry and package up the devfile registry that contains all the resources available for offline installation.
-. Update the existing devfile registry deployment with the new devfile registry to make it available for users to access the registry.
+. Follow offline registry instructions in the above sections and rerun the registry build script to rebuild the devfile registry.
+. Update the existing offline devfile registry deployment with a newly built and updated offline devfile registry image.

From 5be8e3aad7a46e603219b7d7a72c028072a095fc Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Tue, 28 Jun 2022 17:26:30 -0400
Subject: [PATCH 16/17] new section for missed instruction on installation of
 stack images added.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 ...-build-and-package-a-devfile-registry.adoc | 38 ++++++++++++++++++-
 1 file changed, 36 insertions(+), 2 deletions(-)

diff --git a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
index 3b194968..20af321e 100644
--- a/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
+++ b/docs/modules/user-guide/partials/proc_stage-1-build-and-package-a-devfile-registry.adoc
@@ -38,9 +38,40 @@ git clone git@github.com:devfile/registry.git /path/to/registry
 
 * To create your own registry Git repository, see xref:building-a-custom-devfile-registry.adoc[Building a custom devfile registry]
 
+=== Install Stack Images
+
+You will first need to collect all the image tags used in the stacks needed for offline access. The image tags collected are to each be pulled, re-tagged, and installed into the image repository accessible by the offline cluster. Procedure here will require you to **change the devfile**.
+
+.Procedure
+. Use the `docker pull` or the `podman pull` to pull down an image for a stack component:
++
+[source,bash]
+----
+podman pull registry.access.redhat.com/ubi8/nodejs-16:latest
+----
++
+. Use the `docker tag` or the `podman tag` to re-tag the image that uses the form `<registry_host>:<port>/<project>/<image>`:
++
+[source,bash]
+----
+podman tag registry.access.redhat.com/ubi8/nodejs-16:latest \
+  <registry_host>:<port>/<project>/nodejs-16:latest
+----
++
+. Use the `docker push` or `podman push` to push the re-tagged image to the image repository at `<registry_host>:<port>`:
++
+[source,bash]
+----
+podman push <registry_host>:<port>/<project>/nodejs-16:latest
+----
+
+.Additional resources
+
+* For more on interacting with the OpenShift Image Registry, see link:https://docs.openshift.com/container-platform/4.10/registry/accessing-the-registry.html[Accessing the registry]
+
 === Packaging Starter Projects
 
-To package starter projects you will need to download them manually then place them under `/stacks/<stack>/<zip>-offline.zip`.
+To package starter projects you will need to download them manually then place them under `/stacks/<stack>/<zip>-offline.zip`. Procedure here will require you to **change the devfile**.
 
 *Note*: Starter projects must be packaged under an archive with the suffix `-offline` to be pulled into the registry.
 
@@ -72,7 +103,10 @@ zip -r nodejs-starter-offline.zip nodejs-starter-offline
 
 === Modify Devfile
 
-Change the devfile so you can update references to those offline resources as part of the registry build. For all the items pulled into the registry, update the corresponding devfile entries to reference the resources within the offline version in the registry.
+Change the devfile so you can update references to those offline resources as part of the registry build. For all the items pulled into the registry, update the corresponding devfile entries to reference the resources within the offline version in the registry:
+
+. All location references to `starterProjects` will change to local paths relative to the stacks directory.
+. Stack component image references will change to use the offline accessible image repository.
 
 .Procedure
 

From ad85faadf734a41d53016802ffce2d87941f6497 Mon Sep 17 00:00:00 2001
From: Michael Valdron <mvaldron@redhat.com>
Date: Tue, 28 Jun 2022 17:27:38 -0400
Subject: [PATCH 17/17] minor spelling fixes.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
---
 .../proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
index d4cdfa7f..30528534 100644
--- a/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
+++ b/docs/modules/user-guide/partials/proc_stage-2-install-a-devfile-registry-to-a-cluster.adoc
@@ -13,14 +13,14 @@ The process of installing the built images into an offline image registry depend
 
 .Procedure
 
-. Use the `docker tag` or the `podman tag` to retag the image using the form `<registry_host>:<port>/<project>/<image>`:
+. Use the `docker tag` or the `podman tag` to re-tag the image using the form `<registry_host>:<port>/<project>/<image>`:
 +
 [source,bash]
 ----
 podman tag devfile-index <registry_host>:<port>/<project>/devfile-index
 ----
 +
-. Use the `docker push` or `podman push` to push the retagged image to the cluster image registry at `<registry_host>:<port>`:
+. Use the `docker push` or `podman push` to push the re-tagged image to the cluster image registry at `<registry_host>:<port>`:
 +
 [source,bash]
 ----