// Module included in the following assemblies: // // * operators/understanding/olm-packaging-format.adoc :_mod-docs-content-type: CONCEPT [id="olm-rukpak-plain-bundle_{context}"] = Plain bundle spec A plain bundle in RukPak is a collection of static, arbitrary, Kubernetes YAML manifests in a given directory. The currently implemented plain bundle format is the `plain+v0` format. The name of the bundle format, `plain+v0`, combines the type of bundle (`plain`) with the current schema version (`v0`). [NOTE] ==== The `plain+v0` bundle format is at schema version `v0`, which means it is an experimental format that is subject to change. ==== For example, the following shows the file tree in a `plain+v0` bundle. It must have a `manifests/` directory containing the Kubernetes resources required to deploy an application. .Example `plain+v0` bundle file tree [source,terminal] ---- $ tree manifests manifests ├── namespace.yaml ├── service_account.yaml ├── cluster_role.yaml ├── cluster_role_binding.yaml └── deployment.yaml ---- The static manifests must be located in the `manifests/` directory with at least one resource in it for the bundle to be a valid `plain+v0` bundle that the provisioner can unpack. The `manifests/` directory must also be flat; all manifests must be at the top-level with no subdirectories. [IMPORTANT] ==== Do not include any content in the `manifests/` directory of a plain bundle that are not static manifests. Otherwise, a failure will occur when creating content on-cluster from that bundle. Any file that would not successfully apply with the `oc apply` command will result in an error. Multi-object YAML or JSON files are valid, as well. ====