diff --git a/image-builder/manifests/qcow-bundle-subcluster/README.md b/image-builder/manifests/qcow-bundle-subcluster/README.md
new file mode 100644
index 0000000..e5b8fe2
--- /dev/null
+++ b/image-builder/manifests/qcow-bundle-subcluster/README.md
@@ -0,0 +1,3 @@
+This folder represents a "QCOW bundle", i.e. a container image that will
+contain all of the target QCOW images needed for a particular subcluster
+deployment.
diff --git a/image-builder/manifests/qcow-bundle-subcluster/control-plane/README.md b/image-builder/manifests/qcow-bundle-subcluster/control-plane/README.md
new file mode 100644
index 0000000..52ddd13
--- /dev/null
+++ b/image-builder/manifests/qcow-bundle-subcluster/control-plane/README.md
@@ -0,0 +1,3 @@
+By default, the QCOW produced from this set of configs will be
+deployed to subcluster control-plane nodes in airshipctl
+deployment.
diff --git a/image-builder/manifests/qcow-bundle-subcluster/control-plane/osconfig-vars.yaml b/image-builder/manifests/qcow-bundle-subcluster/control-plane/osconfig-vars.yaml
new file mode 100644
index 0000000..5e3121a
--- /dev/null
+++ b/image-builder/manifests/qcow-bundle-subcluster/control-plane/osconfig-vars.yaml
@@ -0,0 +1,4 @@
+# Custom user-defined overrides to the `osconfig` playbook can be placed here.
+#
+# You would only use this if you needed to apply some settings uniques to
+# control-plane image. Ex: kernel boot params specific to non-worker nodes.
diff --git a/image-builder/manifests/qcow-bundle-subcluster/control-plane/qcow-vars.yaml b/image-builder/manifests/qcow-bundle-subcluster/control-plane/qcow-vars.yaml
new file mode 100644
index 0000000..68c01f2
--- /dev/null
+++ b/image-builder/manifests/qcow-bundle-subcluster/control-plane/qcow-vars.yaml
@@ -0,0 +1,3 @@
+# Custom user-defined overrides to the `qcow` playbook can be placed here.
+# Example, Changing disk size:
+#qcow_capacity: 200G
diff --git a/image-builder/manifests/qcow-bundle-subcluster/data-plane/README.md b/image-builder/manifests/qcow-bundle-subcluster/data-plane/README.md
new file mode 100644
index 0000000..680204c
--- /dev/null
+++ b/image-builder/manifests/qcow-bundle-subcluster/data-plane/README.md
@@ -0,0 +1,6 @@
+By default, the QCOW produced from this set of configs will be
+deployed to data-plane nodes in airshipctl subcluster 
+deployment.
+
+Currently these are symlinks since there is no difference, but
+this can be changed if/when worker nodes use a different config.
diff --git a/image-builder/manifests/qcow-bundle-subcluster/data-plane/osconfig-vars.yaml b/image-builder/manifests/qcow-bundle-subcluster/data-plane/osconfig-vars.yaml
new file mode 100644
index 0000000..b0e50fa
--- /dev/null
+++ b/image-builder/manifests/qcow-bundle-subcluster/data-plane/osconfig-vars.yaml
@@ -0,0 +1,18 @@
+# Custom user-defined overrides to the `osconfig` playbook can be placed here.
+#
+# You would only use this if you needed to apply some settings uniques to
+# data-plane image. Ex: hugepages and cpu pinning configuration
+
+# grub_cmdline_linux_default_append:
+#    - name: hugepagesz
+#      value: "1G"
+#    - name: hugepages
+#      value: "100"
+#    - name: default_hugepagesz
+#      value: "1G"
+#    - name: isolcpus
+#      value: "4-43,48-87"
+#    - name: rcu_nocbs
+#      value: "4-43,48-87"
+#    - name: transparent_hugepage
+#      value: "never"
diff --git a/image-builder/manifests/qcow-bundle-subcluster/data-plane/qcow-vars.yaml b/image-builder/manifests/qcow-bundle-subcluster/data-plane/qcow-vars.yaml
new file mode 120000
index 0000000..b53e28d
--- /dev/null
+++ b/image-builder/manifests/qcow-bundle-subcluster/data-plane/qcow-vars.yaml
@@ -0,0 +1 @@
+../control-plane/qcow-vars.yaml
\ No newline at end of file