For the cluster-manifests to be applied to a hub cluster, the user will need to choose the namespace to install them in. (Typically users create a namespace for each spoke cluster, though I don't think this is strictly required.)
It's probably reasonable to require users to create the namespace itself in the cluster (they'll also have to provide BaremetalHost resources as inventory), but we need an easy way of setting the namespace on all the manifests we generate in cluster-manifests.
One option would be to provide a kustomize.yaml file, so that the user can set the namespace there and then apply the whole directory with oc apply -k cluster-manifests.
Another option might be to select a namespace based on the cluster name.
These two options could be combined, with the cluster name being used as the default.