<p>Is it possible to configure which storageclasses can be used by namespace?</p>

<p>So for example I have a single cluster for production and development.</p>

<p>I want to configure a set of storageclasses for development and a different set of storageclasses for production.</p>

<p>I want to strictly configure that in development no one could use the storageclasses of production.</p>

<p>Is this possible?</p>

<p>I have only seen the option to use the resource quotas at namespace level, but it is not the same, with quotas I can configure the amount of disk that can be used in each storageclass, so if I create a new storageclass I will have to modify all the quotas in all the namespaces to add the constraints about the new storageclass.</p>

<p>A <a href="https://kubernetes.io/docs/concepts/storage/storage-classes/" rel="noreferrer">storage class</a> in Kubernetes is a cluster-wide resource, so you can't restrict the usage regarding a namespace out-of-the-box. What you can do, however, is to write a customer controller akin to what Banzai did with their <a href="https://banzaicloud.com/blog/pvc-operator/" rel="noreferrer">PVC Operator</a> or Raffaele Spazzoli's <a href="https://github.com/raffaelespazzoli/namespace-configuration-controller" rel="noreferrer">Namespace Configuration Controller</a>.</p>
