-
Notifications
You must be signed in to change notification settings - Fork 47
Array rather than Object for persistentVolume #181
Comments
@kanarip sorry for the delayed response. This makes perfect sense. |
The flow of thoughts was more like an application has a list of requirements. By now we only have one type of a requirements defined: a storage requirement. So it would be:
|
I agree with @goern as that let's us to add f.e. some networking requirements (OpenShift route, Docker networking plugins..) later. |
Maybe, what about this:
|
Sorry, I didn't meant to close it at all:/ And btw, what about this structure:
|
@vpavlin I agree with type. There's quite a few different types in Kubernetes as well as OpenShift and having that as an option needs to be addressed. For example, this is what Kubernetes and OpenShift supports:
And Docker:
|
@cdrage Is the type of underlying storage to use not environment specific, and therefore a question regardless? How would a storage type in a Nulecule application translate to deployment? I think @vpavlin meant to suggest the |
@kanarip you hit the nail on the coffin in regards to why it should be implemented. Yes, it is environment specific, however, if type was not included, Nulecule / Atomic App would not have a clue in regards of implementing persistent storage, by default it would most likely use HostPath or NFS. By providing a type, the Kuberneters or OpenShift provider within Nulecule will deploy that specific persistent storage. |
I think this will take more thought into how we are able to implement said persistent storage.. As usually you provide this within the specific Kubernetes / OpenShift artifact file. EDIT, ex: requirements:
- name: "var-lib-mongodb-data"
properties:
type: "nfs"
accessMode: "ReadWrite"
size: 4
nfs:
path: /tmp
server: 10.10.10.10 |
@cdrage I think what they were trying to say is lets have the Maybe something like this would work:
But then the user could use something like this if they didn't care what type of persistent storage it was:
|
|
We should avoid implementation specific details in a declaration of requirements, as that implies a certain way to implement things and takes away freedom from the implementator/plattform/provider. Having said that, I would delete
The application should really dont care how I do provide 4GiB of R/W storage. If these details are required by the provider as input, they should be in |
Continued in #193 :) let's keep the discussion there in relation to type and array stuff here. But I agree that we should have arrayed volumes in our spec. |
I am going to close this issue, as my reply #181 (comment) is true, the Nulecule Specification 0.0.2 allows (and has json schema definition to formally validate) what @kanarip asked for. |
In the example for Storage Requirement Objects, the persistentVolume entries seems to be an object, but may need to be or become an array -- so multiple persistentVolumes could be specified:
https://github.com/projectatomic/nulecule/tree/master/spec#storage-requirement-example
The text was updated successfully, but these errors were encountered: