A non-transitory machine readable medium comprising instructions, which when executed by a machine comprising one or more processors, causes the machine to:
- retrieve, by a distributed control plane hosted within a container orchestration platform hosting applications running through containers, a custom resource definition for an object to create within distributed storage comprised of storage devices hosted by a plurality of worker nodes of a distributed storage architecture, wherein the distributed control plane hosts a plurality of pods each hosting a respective control plane controller that is paired with a respective worker node of the plurality of worker nodes;
- evaluate, by the distributed control plane, ownership of objects by the plurality of worker nodes to identify a worker node that is to be an owner of the object;
- extract, by the distributed control plane, attributes defined for the object from the custom resource definition, wherein the custom resource definition excludes executable steps for creating the object;
- execute, by a control plane controller paired with the identified worker node, functionality to convert the attributes defined for the object according to a declarative model through the custom resource definition into a sequence of executable steps for creating the object with the attributes as a control plane operation, wherein the sequence of executable steps are formatted according to an imperative model capable of being executed by the identified worker node through the distributed storage architecture;
- transmit, by the control plane controller, the sequence of executable steps as a reformatted command to the identified worker node for controlling the identified worker node to execute the executable steps to provision the object with the attributes;
- execute, by the identified worker node, the executable steps as programming commands to transition between programming states for provisioning the object within the distributed storage;
- and
- provision the object, with the attributes, within the distributed storage of the distributed storage architecture for use by the application running within a container.