Skip to content

Commit

Permalink
Add StorageOS volume plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
croomes committed Jun 9, 2017
1 parent 810efa6 commit 5e2503e
Show file tree
Hide file tree
Showing 113 changed files with 15,428 additions and 3,003 deletions.
8 changes: 8 additions & 0 deletions Godeps/Godeps.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

106 changes: 106 additions & 0 deletions Godeps/LICENSES

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

58 changes: 58 additions & 0 deletions api/openapi-spec/swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -49239,6 +49239,10 @@
"description": "Name of StorageClass to which this persistent volume belongs. Empty value means that this volume does not belong to any StorageClass.",
"type": "string"
},
"storageos": {
"description": "StorageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod More info: https://releases.k8s.io/HEAD/examples/volumes/storageos/README.md",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.StorageOSPersistentVolumeSource"
},
"vsphereVolume": {
"description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.VsphereVirtualDiskVolumeSource"
Expand Down Expand Up @@ -50712,6 +50716,56 @@
}
}
},
"io.k8s.kubernetes.pkg.api.v1.StorageOSPersistentVolumeSource": {
"description": "Represents a StorageOS persistent volume resource.",
"properties": {
"fsType": {
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"readOnly": {
"description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"secretRef": {
"description": "SecretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ObjectReference"
},
"volumeName": {
"description": "VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.",
"type": "string"
},
"volumeNamespace": {
"description": "VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.",
"type": "string"
}
}
},
"io.k8s.kubernetes.pkg.api.v1.StorageOSVolumeSource": {
"description": "Represents a StorageOS persistent volume resource.",
"properties": {
"fsType": {
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"readOnly": {
"description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"secretRef": {
"description": "SecretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LocalObjectReference"
},
"volumeName": {
"description": "VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.",
"type": "string"
},
"volumeNamespace": {
"description": "VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.",
"type": "string"
}
}
},
"io.k8s.kubernetes.pkg.api.v1.TCPSocketAction": {
"description": "TCPSocketAction describes an action based on opening a socket",
"required": [
Expand Down Expand Up @@ -50893,6 +50947,10 @@
"description": "Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecretVolumeSource"
},
"storageos": {
"description": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.StorageOSVolumeSource"
},
"vsphereVolume": {
"description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.VsphereVirtualDiskVolumeSource"
Expand Down
30 changes: 30 additions & 0 deletions api/swagger-spec/apps_v1beta1.json
Original file line number Diff line number Diff line change
Expand Up @@ -3945,6 +3945,10 @@
"scaleIO": {
"$ref": "v1.ScaleIOVolumeSource",
"description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes."
},
"storageos": {
"$ref": "v1.StorageOSVolumeSource",
"description": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes."
}
}
},
Expand Down Expand Up @@ -4808,6 +4812,32 @@
}
}
},
"v1.StorageOSVolumeSource": {
"id": "v1.StorageOSVolumeSource",
"description": "Represents a StorageOS persistent volume resource.",
"properties": {
"volumeName": {
"type": "string",
"description": "VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace."
},
"volumeNamespace": {
"type": "string",
"description": "VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created."
},
"fsType": {
"type": "string",
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
},
"readOnly": {
"type": "boolean",
"description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts."
},
"secretRef": {
"$ref": "v1.LocalObjectReference",
"description": "SecretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted."
}
}
},
"v1.Container": {
"id": "v1.Container",
"description": "A single application container that you want to run within a pod.",
Expand Down
30 changes: 30 additions & 0 deletions api/swagger-spec/batch_v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -1692,6 +1692,10 @@
"scaleIO": {
"$ref": "v1.ScaleIOVolumeSource",
"description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes."
},
"storageos": {
"$ref": "v1.StorageOSVolumeSource",
"description": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes."
}
}
},
Expand Down Expand Up @@ -2555,6 +2559,32 @@
}
}
},
"v1.StorageOSVolumeSource": {
"id": "v1.StorageOSVolumeSource",
"description": "Represents a StorageOS persistent volume resource.",
"properties": {
"volumeName": {
"type": "string",
"description": "VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace."
},
"volumeNamespace": {
"type": "string",
"description": "VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created."
},
"fsType": {
"type": "string",
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
},
"readOnly": {
"type": "boolean",
"description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts."
},
"secretRef": {
"$ref": "v1.LocalObjectReference",
"description": "SecretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted."
}
}
},
"v1.Container": {
"id": "v1.Container",
"description": "A single application container that you want to run within a pod.",
Expand Down
30 changes: 30 additions & 0 deletions api/swagger-spec/batch_v2alpha1.json
Original file line number Diff line number Diff line change
Expand Up @@ -2773,6 +2773,10 @@
"scaleIO": {
"$ref": "v1.ScaleIOVolumeSource",
"description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes."
},
"storageos": {
"$ref": "v1.StorageOSVolumeSource",
"description": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes."
}
}
},
Expand Down Expand Up @@ -3636,6 +3640,32 @@
}
}
},
"v1.StorageOSVolumeSource": {
"id": "v1.StorageOSVolumeSource",
"description": "Represents a StorageOS persistent volume resource.",
"properties": {
"volumeName": {
"type": "string",
"description": "VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace."
},
"volumeNamespace": {
"type": "string",
"description": "VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created."
},
"fsType": {
"type": "string",
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
},
"readOnly": {
"type": "boolean",
"description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts."
},
"secretRef": {
"$ref": "v1.LocalObjectReference",
"description": "SecretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted."
}
}
},
"v1.Container": {
"id": "v1.Container",
"description": "A single application container that you want to run within a pod.",
Expand Down
30 changes: 30 additions & 0 deletions api/swagger-spec/extensions_v1beta1.json
Original file line number Diff line number Diff line change
Expand Up @@ -7417,6 +7417,10 @@
"scaleIO": {
"$ref": "v1.ScaleIOVolumeSource",
"description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes."
},
"storageos": {
"$ref": "v1.StorageOSVolumeSource",
"description": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes."
}
}
},
Expand Down Expand Up @@ -8280,6 +8284,32 @@
}
}
},
"v1.StorageOSVolumeSource": {
"id": "v1.StorageOSVolumeSource",
"description": "Represents a StorageOS persistent volume resource.",
"properties": {
"volumeName": {
"type": "string",
"description": "VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace."
},
"volumeNamespace": {
"type": "string",
"description": "VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created."
},
"fsType": {
"type": "string",
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
},
"readOnly": {
"type": "boolean",
"description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts."
},
"secretRef": {
"$ref": "v1.LocalObjectReference",
"description": "SecretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted."
}
}
},
"v1.Container": {
"id": "v1.Container",
"description": "A single application container that you want to run within a pod.",
Expand Down
Loading

0 comments on commit 5e2503e

Please sign in to comment.