mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-13 10:33:35 +00:00
vendor updates
This commit is contained in:
3
vendor/github.com/container-storage-interface/spec/.gitignore
generated
vendored
3
vendor/github.com/container-storage-interface/spec/.gitignore
generated
vendored
@ -1,2 +1,3 @@
|
||||
/csi.proto.tmp
|
||||
*.tmp
|
||||
.DS_Store
|
||||
.build
|
||||
|
4
vendor/github.com/container-storage-interface/spec/Makefile
generated
vendored
4
vendor/github.com/container-storage-interface/spec/Makefile
generated
vendored
@ -8,9 +8,7 @@ CSI_PROTO := csi.proto
|
||||
# The temporary file is not versioned, and thus will always be
|
||||
# built on Travis-CI.
|
||||
$(CSI_PROTO).tmp: $(CSI_SPEC)
|
||||
cat $? | \
|
||||
sed -n -e '/```protobuf$$/,/```$$/ p' | \
|
||||
sed -e 's@^```.*$$@////////@g' > $@
|
||||
cat $? | sed -n -e '/```protobuf$$/,/^```$$/ p' | sed '/^```/d' > "$@"
|
||||
|
||||
# This is the target for building the CSI protobuf file.
|
||||
#
|
||||
|
456
vendor/github.com/container-storage-interface/spec/csi.proto
generated
vendored
456
vendor/github.com/container-storage-interface/spec/csi.proto
generated
vendored
@ -1,14 +1,16 @@
|
||||
////////
|
||||
syntax = "proto3";
|
||||
package csi;
|
||||
////////
|
||||
////////
|
||||
service Identity {
|
||||
rpc GetSupportedVersions (GetSupportedVersionsRequest)
|
||||
returns (GetSupportedVersionsResponse) {}
|
||||
package csi.v0;
|
||||
|
||||
option go_package = "csi";
|
||||
service Identity {
|
||||
rpc GetPluginInfo(GetPluginInfoRequest)
|
||||
returns (GetPluginInfoResponse) {}
|
||||
|
||||
rpc GetPluginCapabilities(GetPluginCapabilitiesRequest)
|
||||
returns (GetPluginCapabilitiesResponse) {}
|
||||
|
||||
rpc Probe (ProbeRequest)
|
||||
returns (ProbeResponse) {}
|
||||
}
|
||||
|
||||
service Controller {
|
||||
@ -33,14 +35,17 @@ service Controller {
|
||||
rpc GetCapacity (GetCapacityRequest)
|
||||
returns (GetCapacityResponse) {}
|
||||
|
||||
rpc ControllerProbe (ControllerProbeRequest)
|
||||
returns (ControllerProbeResponse) {}
|
||||
|
||||
rpc ControllerGetCapabilities (ControllerGetCapabilitiesRequest)
|
||||
returns (ControllerGetCapabilitiesResponse) {}
|
||||
}
|
||||
|
||||
service Node {
|
||||
rpc NodeStageVolume (NodeStageVolumeRequest)
|
||||
returns (NodeStageVolumeResponse) {}
|
||||
|
||||
rpc NodeUnstageVolume (NodeUnstageVolumeRequest)
|
||||
returns (NodeUnstageVolumeResponse) {}
|
||||
|
||||
rpc NodePublishVolume (NodePublishVolumeRequest)
|
||||
returns (NodePublishVolumeResponse) {}
|
||||
|
||||
@ -50,38 +55,10 @@ service Node {
|
||||
rpc NodeGetId (NodeGetIdRequest)
|
||||
returns (NodeGetIdResponse) {}
|
||||
|
||||
rpc NodeProbe (NodeProbeRequest)
|
||||
returns (NodeProbeResponse) {}
|
||||
|
||||
rpc NodeGetCapabilities (NodeGetCapabilitiesRequest)
|
||||
returns (NodeGetCapabilitiesResponse) {}
|
||||
}
|
||||
////////
|
||||
////////
|
||||
message GetSupportedVersionsRequest {
|
||||
}
|
||||
|
||||
message GetSupportedVersionsResponse {
|
||||
// All the CSI versions that the Plugin supports. This field is
|
||||
// REQUIRED.
|
||||
repeated Version supported_versions = 1;
|
||||
}
|
||||
|
||||
// Specifies a version in Semantic Version 2.0 format.
|
||||
// (http://semver.org/spec/v2.0.0.html)
|
||||
message Version {
|
||||
// The value of this field MUST NOT be negative.
|
||||
int32 major = 1; // This field is REQUIRED.
|
||||
// The value of this field MUST NOT be negative.
|
||||
int32 minor = 2; // This field is REQUIRED.
|
||||
// The value of this field MUST NOT be negative.
|
||||
int32 patch = 3; // This field is REQUIRED.
|
||||
}
|
||||
////////
|
||||
////////
|
||||
message GetPluginInfoRequest {
|
||||
// The API version assumed by the CO. This is a REQUIRED field.
|
||||
Version version = 1;
|
||||
}
|
||||
|
||||
message GetPluginInfoResponse {
|
||||
@ -100,12 +77,46 @@ message GetPluginInfoResponse {
|
||||
// This field is OPTIONAL. Values are opaque to the CO.
|
||||
map<string, string> manifest = 3;
|
||||
}
|
||||
////////
|
||||
////////
|
||||
message CreateVolumeRequest {
|
||||
// The API version assumed by the CO. This field is REQUIRED.
|
||||
Version version = 1;
|
||||
message GetPluginCapabilitiesRequest {
|
||||
}
|
||||
|
||||
message GetPluginCapabilitiesResponse {
|
||||
// All the capabilities that the controller service supports. This
|
||||
// field is OPTIONAL.
|
||||
repeated PluginCapability capabilities = 2;
|
||||
}
|
||||
|
||||
// Specifies a capability of the plugin.
|
||||
message PluginCapability {
|
||||
message Service {
|
||||
enum Type {
|
||||
UNKNOWN = 0;
|
||||
|
||||
// CONTROLLER_SERVICE indicates that the Plugin provides RPCs for
|
||||
// the ControllerService. Plugins SHOULD provide this capability.
|
||||
// In rare cases certain plugins may wish to omit the
|
||||
// ControllerService entirely from their implementation, but such
|
||||
// SHOULD NOT be the common case.
|
||||
// The presence of this capability determines whether the CO will
|
||||
// attempt to invoke the REQUIRED ControllerService RPCs, as well
|
||||
// as specific RPCs as indicated by ControllerGetCapabilities.
|
||||
CONTROLLER_SERVICE = 1;
|
||||
}
|
||||
Type type = 1;
|
||||
}
|
||||
|
||||
oneof type {
|
||||
// Service that the plugin supports.
|
||||
Service service = 1;
|
||||
}
|
||||
}
|
||||
message ProbeRequest {
|
||||
}
|
||||
|
||||
message ProbeResponse {
|
||||
// Intentionally empty.
|
||||
}
|
||||
message CreateVolumeRequest {
|
||||
// The suggested name for the storage space. This field is REQUIRED.
|
||||
// It serves two purposes:
|
||||
// 1) Idempotency - This name is generated by the CO to achieve
|
||||
@ -121,12 +132,12 @@ message CreateVolumeRequest {
|
||||
// an identifier by which to refer to the newly provisioned
|
||||
// storage. If a storage system supports this, it can optionally
|
||||
// use this name as the identifier for the new volume.
|
||||
string name = 2;
|
||||
string name = 1;
|
||||
|
||||
// This field is OPTIONAL. This allows the CO to specify the capacity
|
||||
// requirement of the volume to be provisioned. If not specified, the
|
||||
// Plugin MAY choose an implementation-defined capacity range.
|
||||
CapacityRange capacity_range = 3;
|
||||
CapacityRange capacity_range = 2;
|
||||
|
||||
// The capabilities that the provisioned volume MUST have: the Plugin
|
||||
// MUST provision a volume that could satisfy ALL of the
|
||||
@ -136,25 +147,31 @@ message CreateVolumeRequest {
|
||||
// early validation: if ANY of the specified volume capabilities are
|
||||
// not supported by the Plugin, the call SHALL fail. This field is
|
||||
// REQUIRED.
|
||||
repeated VolumeCapability volume_capabilities = 4;
|
||||
repeated VolumeCapability volume_capabilities = 3;
|
||||
|
||||
// Plugin specific parameters passed in as opaque key-value pairs.
|
||||
// This field is OPTIONAL. The Plugin is responsible for parsing and
|
||||
// validating these parameters. COs will treat these as opaque.
|
||||
map<string, string> parameters = 5;
|
||||
map<string, string> parameters = 4;
|
||||
|
||||
// Credentials used by Controller plugin to authenticate/authorize
|
||||
// volume creation request.
|
||||
// This field contains credential data, for example username and
|
||||
// password. Each key must consist of alphanumeric characters, '-',
|
||||
// '_' or '.'. Each value MUST contain a valid string. An SP MAY
|
||||
// choose to accept binary (non-string) data by using a binary-to-text
|
||||
// encoding scheme, like base64. An SP SHALL advertise the
|
||||
// requirements for credentials in documentation. COs SHALL permit
|
||||
// passing through the required credentials. This information is
|
||||
// sensitive and MUST be treated as such (not logged, etc.) by the CO.
|
||||
// Secrets required by plugin to complete volume creation request.
|
||||
// A secret is a string to string map where the key identifies the
|
||||
// name of the secret (e.g. "username" or "password"), and the value
|
||||
// contains the secret data (e.g. "bob" or "abc123").
|
||||
// Each key MUST consist of alphanumeric characters, '-', '_' or '.'.
|
||||
// Each value MUST contain a valid string. An SP MAY choose to accept
|
||||
// binary (non-string) data by using a binary-to-text encoding scheme,
|
||||
// like base64.
|
||||
// An SP SHALL advertise the requirements for required secret keys and
|
||||
// values in documentation.
|
||||
// CO SHALL permit passing through the required secrets.
|
||||
// A CO MAY pass the same secrets to all RPCs, therefore the keys for
|
||||
// all unique secrets that an SP expects must be unique across all CSI
|
||||
// operations.
|
||||
// This information is sensitive and MUST be treated as such (not
|
||||
// logged, etc.) by the CO.
|
||||
// This field is OPTIONAL.
|
||||
map<string, string> controller_create_credentials = 6;
|
||||
map<string, string> controller_create_secrets = 5;
|
||||
}
|
||||
|
||||
message CreateVolumeResponse {
|
||||
@ -263,126 +280,131 @@ message Volume {
|
||||
// be passed to volume validation and publishing calls.
|
||||
map<string,string> attributes = 3;
|
||||
}
|
||||
////////
|
||||
////////
|
||||
message DeleteVolumeRequest {
|
||||
// The API version assumed by the CO. This field is REQUIRED.
|
||||
Version version = 1;
|
||||
|
||||
// The ID of the volume to be deprovisioned.
|
||||
// This field is REQUIRED.
|
||||
string volume_id = 2;
|
||||
string volume_id = 1;
|
||||
|
||||
// Credentials used by Controller plugin to authenticate/authorize
|
||||
// volume deletion request.
|
||||
// This field contains credential data, for example username and
|
||||
// password. Each key must consist of alphanumeric characters, '-',
|
||||
// '_' or '.'. Each value MUST contain a valid string. An SP MAY
|
||||
// choose to accept binary (non-string) data by using a binary-to-text
|
||||
// encoding scheme, like base64. An SP SHALL advertise the
|
||||
// requirements for credentials in documentation. COs SHALL permit
|
||||
// passing through the required credentials. This information is
|
||||
// sensitive and MUST be treated as such (not logged, etc.) by the CO.
|
||||
// Secrets required by plugin to complete volume deletion request.
|
||||
// A secret is a string to string map where the key identifies the
|
||||
// name of the secret (e.g. "username" or "password"), and the value
|
||||
// contains the secret data (e.g. "bob" or "abc123").
|
||||
// Each key MUST consist of alphanumeric characters, '-', '_' or '.'.
|
||||
// Each value MUST contain a valid string. An SP MAY choose to accept
|
||||
// binary (non-string) data by using a binary-to-text encoding scheme,
|
||||
// like base64.
|
||||
// An SP SHALL advertise the requirements for required secret keys and
|
||||
// values in documentation.
|
||||
// CO SHALL permit passing through the required secrets.
|
||||
// A CO MAY pass the same secrets to all RPCs, therefore the keys for
|
||||
// all unique secrets that an SP expects must be unique across all CSI
|
||||
// operations.
|
||||
// This information is sensitive and MUST be treated as such (not
|
||||
// logged, etc.) by the CO.
|
||||
// This field is OPTIONAL.
|
||||
map<string, string> controller_delete_credentials = 3;
|
||||
map<string, string> controller_delete_secrets = 2;
|
||||
}
|
||||
|
||||
message DeleteVolumeResponse {}
|
||||
////////
|
||||
////////
|
||||
message DeleteVolumeResponse {
|
||||
}
|
||||
message ControllerPublishVolumeRequest {
|
||||
// The API version assumed by the CO. This field is REQUIRED.
|
||||
Version version = 1;
|
||||
|
||||
// The ID of the volume to be used on a node.
|
||||
// This field is REQUIRED.
|
||||
string volume_id = 2;
|
||||
string volume_id = 1;
|
||||
|
||||
// The ID of the node. This field is REQUIRED. The CO SHALL set this
|
||||
// field to match the node ID returned by `NodeGetId`.
|
||||
string node_id = 3;
|
||||
string node_id = 2;
|
||||
|
||||
// The capability of the volume the CO expects the volume to have.
|
||||
// This is a REQUIRED field.
|
||||
VolumeCapability volume_capability = 4;
|
||||
VolumeCapability volume_capability = 3;
|
||||
|
||||
// Whether to publish the volume in readonly mode. This field is
|
||||
// REQUIRED.
|
||||
bool readonly = 5;
|
||||
bool readonly = 4;
|
||||
|
||||
// Credentials used by Controller plugin to authenticate/authorize
|
||||
// controller publish request.
|
||||
// This field contains credential data, for example username and
|
||||
// password. Each key must consist of alphanumeric characters, '-',
|
||||
// '_' or '.'. Each value MUST contain a valid string. An SP MAY
|
||||
// choose to accept binary (non-string) data by using a binary-to-text
|
||||
// encoding scheme, like base64. An SP SHALL advertise the
|
||||
// requirements for credentials in documentation. COs SHALL permit
|
||||
// passing through the required credentials. This information is
|
||||
// sensitive and MUST be treated as such (not logged, etc.) by the CO.
|
||||
// Secrets required by plugin to complete controller publish volume
|
||||
// request.
|
||||
// A secret is a string to string map where the key identifies the
|
||||
// name of the secret (e.g. "username" or "password"), and the value
|
||||
// contains the secret data (e.g. "bob" or "abc123").
|
||||
// Each key MUST consist of alphanumeric characters, '-', '_' or '.'.
|
||||
// Each value MUST contain a valid string. An SP MAY choose to accept
|
||||
// binary (non-string) data by using a binary-to-text encoding scheme,
|
||||
// like base64.
|
||||
// An SP SHALL advertise the requirements for required secret keys and
|
||||
// values in documentation.
|
||||
// CO SHALL permit passing through the required secrets.
|
||||
// A CO MAY pass the same secrets to all RPCs, therefore the keys for
|
||||
// all unique secrets that an SP expects must be unique across all CSI
|
||||
// operations.
|
||||
// This information is sensitive and MUST be treated as such (not
|
||||
// logged, etc.) by the CO.
|
||||
// This field is OPTIONAL.
|
||||
map<string, string> controller_publish_credentials = 6;
|
||||
map<string, string> controller_publish_secrets = 5;
|
||||
|
||||
// Attributes of the volume to be used on a node. This field is
|
||||
// OPTIONAL and MUST match the attributes of the Volume identified
|
||||
// by `volume_id`.
|
||||
map<string,string> volume_attributes = 7;
|
||||
map<string,string> volume_attributes = 6;
|
||||
}
|
||||
|
||||
message ControllerPublishVolumeResponse {
|
||||
// The SP specific information that will be passed to the Plugin in
|
||||
// the subsequent `NodePublishVolume` call for the given volume.
|
||||
// the subsequent `NodeStageVolume` or `NodePublishVolume` calls
|
||||
// for the given volume.
|
||||
// This information is opaque to the CO. This field is OPTIONAL.
|
||||
map<string, string> publish_info = 1;
|
||||
}
|
||||
////////
|
||||
////////
|
||||
message ControllerUnpublishVolumeRequest {
|
||||
// The API version assumed by the CO. This field is REQUIRED.
|
||||
Version version = 1;
|
||||
|
||||
// The ID of the volume. This field is REQUIRED.
|
||||
string volume_id = 2;
|
||||
string volume_id = 1;
|
||||
|
||||
// The ID of the node. This field is OPTIONAL. The CO SHOULD set this
|
||||
// field to match the node ID returned by `NodeGetId` or leave it
|
||||
// unset. If the value is set, the SP MUST unpublish the volume from
|
||||
// the specified node. If the value is unset, the SP MUST unpublish
|
||||
// the volume from all nodes it is published to.
|
||||
string node_id = 3;
|
||||
string node_id = 2;
|
||||
|
||||
// Credentials used by Controller plugin to authenticate/authorize
|
||||
// controller unpublish request.
|
||||
// This field contains credential data, for example username and
|
||||
// password. Each key must consist of alphanumeric characters, '-',
|
||||
// '_' or '.'. Each value MUST contain a valid string. An SP MAY
|
||||
// choose to accept binary (non-string) data by using a binary-to-text
|
||||
// encoding scheme, like base64. An SP SHALL advertise the
|
||||
// requirements for credentials in documentation. COs SHALL permit
|
||||
// passing through the required credentials. This information is
|
||||
// sensitive and MUST be treated as such (not logged, etc.) by the CO.
|
||||
// Secrets required by plugin to complete controller unpublish volume
|
||||
// request. This SHOULD be the same secrets passed to the
|
||||
// ControllerPublishVolume.
|
||||
// call for the specified volume.
|
||||
// A secret is a string to string map where the key identifies the
|
||||
// name of the secret (e.g. "username" or "password"), and the value
|
||||
// contains the secret data (e.g. "bob" or "abc123").
|
||||
// Each key MUST consist of alphanumeric characters, '-', '_' or '.'.
|
||||
// Each value MUST contain a valid string. An SP MAY choose to accept
|
||||
// binary (non-string) data by using a binary-to-text encoding scheme,
|
||||
// like base64.
|
||||
// An SP SHALL advertise the requirements for required secret keys and
|
||||
// values in documentation.
|
||||
// CO SHALL permit passing through the required secrets.
|
||||
// A CO MAY pass the same secrets to all RPCs, therefore the keys for
|
||||
// all unique secrets that an SP expects must be unique across all CSI
|
||||
// operations.
|
||||
// This information is sensitive and MUST be treated as such (not
|
||||
// logged, etc.) by the CO.
|
||||
// This field is OPTIONAL.
|
||||
map<string, string> controller_unpublish_credentials = 4;
|
||||
map<string, string> controller_unpublish_secrets = 3;
|
||||
}
|
||||
|
||||
message ControllerUnpublishVolumeResponse {}
|
||||
////////
|
||||
////////
|
||||
message ControllerUnpublishVolumeResponse {
|
||||
}
|
||||
message ValidateVolumeCapabilitiesRequest {
|
||||
// The API version assumed by the CO. This is a REQUIRED field.
|
||||
Version version = 1;
|
||||
|
||||
// The ID of the volume to check. This field is REQUIRED.
|
||||
string volume_id = 2;
|
||||
string volume_id = 1;
|
||||
|
||||
// The capabilities that the CO wants to check for the volume. This
|
||||
// call SHALL return "supported" only if all the volume capabilities
|
||||
// specified below are supported. This field is REQUIRED.
|
||||
repeated VolumeCapability volume_capabilities = 3;
|
||||
repeated VolumeCapability volume_capabilities = 2;
|
||||
|
||||
// Attributes of the volume to check. This field is OPTIONAL and MUST
|
||||
// match the attributes of the Volume identified by `volume_id`.
|
||||
map<string,string> volume_attributes = 4;
|
||||
map<string,string> volume_attributes = 3;
|
||||
}
|
||||
|
||||
message ValidateVolumeCapabilitiesResponse {
|
||||
@ -395,12 +417,7 @@ message ValidateVolumeCapabilitiesResponse {
|
||||
// An empty string is equal to an unspecified field value.
|
||||
string message = 2;
|
||||
}
|
||||
////////
|
||||
////////
|
||||
message ListVolumesRequest {
|
||||
// The API version assumed by the CO. This field is REQUIRED.
|
||||
Version version = 1;
|
||||
|
||||
// If specified (non-zero value), the Plugin MUST NOT return more
|
||||
// entries than this number in the response. If the actual number of
|
||||
// entries is more than this number, the Plugin MUST set `next_token`
|
||||
@ -409,13 +426,13 @@ message ListVolumesRequest {
|
||||
// not specified (zero value), it means there is no restriction on the
|
||||
// number of entries that can be returned.
|
||||
// The value of this field MUST NOT be negative.
|
||||
int32 max_entries = 2;
|
||||
int32 max_entries = 1;
|
||||
|
||||
// A token to specify where to start paginating. Set this field to
|
||||
// `next_token` returned by a previous `ListVolumes` call to get the
|
||||
// next page of entries. This field is OPTIONAL.
|
||||
// An empty string is equal to an unspecified field value.
|
||||
string starting_token = 3;
|
||||
string starting_token = 2;
|
||||
}
|
||||
|
||||
message ListVolumesResponse {
|
||||
@ -433,24 +450,19 @@ message ListVolumesResponse {
|
||||
// An empty string is equal to an unspecified field value.
|
||||
string next_token = 2;
|
||||
}
|
||||
////////
|
||||
////////
|
||||
message GetCapacityRequest {
|
||||
// The API version assumed by the CO. This is a REQUIRED field.
|
||||
Version version = 1;
|
||||
|
||||
// If specified, the Plugin SHALL report the capacity of the storage
|
||||
// that can be used to provision volumes that satisfy ALL of the
|
||||
// specified `volume_capabilities`. These are the same
|
||||
// `volume_capabilities` the CO will use in `CreateVolumeRequest`.
|
||||
// This field is OPTIONAL.
|
||||
repeated VolumeCapability volume_capabilities = 2;
|
||||
repeated VolumeCapability volume_capabilities = 1;
|
||||
|
||||
// If specified, the Plugin SHALL report the capacity of the storage
|
||||
// that can be used to provision volumes with the given Plugin
|
||||
// specific `parameters`. These are the same `parameters` the CO will
|
||||
// use in `CreateVolumeRequest`. This field is OPTIONAL.
|
||||
map<string, string> parameters = 3;
|
||||
map<string, string> parameters = 2;
|
||||
}
|
||||
|
||||
message GetCapacityResponse {
|
||||
@ -462,19 +474,7 @@ message GetCapacityResponse {
|
||||
// The value of this field MUST NOT be negative.
|
||||
int64 available_capacity = 1;
|
||||
}
|
||||
////////
|
||||
////////
|
||||
message ControllerProbeRequest {
|
||||
// The API version assumed by the CO. This is a REQUIRED field.
|
||||
Version version = 1;
|
||||
}
|
||||
|
||||
message ControllerProbeResponse {}
|
||||
////////
|
||||
////////
|
||||
message ControllerGetCapabilitiesRequest {
|
||||
// The API version assumed by the CO. This is a REQUIRED field.
|
||||
Version version = 1;
|
||||
}
|
||||
|
||||
message ControllerGetCapabilitiesResponse {
|
||||
@ -502,21 +502,85 @@ message ControllerServiceCapability {
|
||||
RPC rpc = 1;
|
||||
}
|
||||
}
|
||||
////////
|
||||
////////
|
||||
message NodePublishVolumeRequest {
|
||||
// The API version assumed by the CO. This is a REQUIRED field.
|
||||
Version version = 1;
|
||||
|
||||
message NodeStageVolumeRequest {
|
||||
// The ID of the volume to publish. This field is REQUIRED.
|
||||
string volume_id = 2;
|
||||
string volume_id = 1;
|
||||
|
||||
// The CO SHALL set this field to the value returned by
|
||||
// `ControllerPublishVolume` if the corresponding Controller Plugin
|
||||
// has `PUBLISH_UNPUBLISH_VOLUME` controller capability, and SHALL be
|
||||
// left unset if the corresponding Controller Plugin does not have
|
||||
// this capability. This is an OPTIONAL field.
|
||||
map<string, string> publish_info = 3;
|
||||
map<string, string> publish_info = 2;
|
||||
|
||||
// The path to which the volume will be published. It MUST be an
|
||||
// absolute path in the root filesystem of the process serving this
|
||||
// request. The CO SHALL ensure that there is only one
|
||||
// staging_target_path per volume.
|
||||
// This is a REQUIRED field.
|
||||
string staging_target_path = 3;
|
||||
|
||||
// The capability of the volume the CO expects the volume to have.
|
||||
// This is a REQUIRED field.
|
||||
VolumeCapability volume_capability = 4;
|
||||
|
||||
// Secrets required by plugin to complete node stage volume request.
|
||||
// A secret is a string to string map where the key identifies the
|
||||
// name of the secret (e.g. "username" or "password"), and the value
|
||||
// contains the secret data (e.g. "bob" or "abc123").
|
||||
// Each key MUST consist of alphanumeric characters, '-', '_' or '.'.
|
||||
// Each value MUST contain a valid string. An SP MAY choose to accept
|
||||
// binary (non-string) data by using a binary-to-text encoding scheme,
|
||||
// like base64.
|
||||
// An SP SHALL advertise the requirements for required secret keys and
|
||||
// values in documentation.
|
||||
// CO SHALL permit passing through the required secrets.
|
||||
// A CO MAY pass the same secrets to all RPCs, therefore the keys for
|
||||
// all unique secrets that an SP expects must be unique across all CSI
|
||||
// operations.
|
||||
// This information is sensitive and MUST be treated as such (not
|
||||
// logged, etc.) by the CO.
|
||||
// This field is OPTIONAL.
|
||||
map<string, string> node_stage_secrets = 5;
|
||||
|
||||
// Attributes of the volume to publish. This field is OPTIONAL and
|
||||
// MUST match the attributes of the VolumeInfo identified by
|
||||
// `volume_id`.
|
||||
map<string,string> volume_attributes = 6;
|
||||
}
|
||||
|
||||
message NodeStageVolumeResponse {
|
||||
}
|
||||
message NodeUnstageVolumeRequest {
|
||||
// The ID of the volume. This field is REQUIRED.
|
||||
string volume_id = 1;
|
||||
|
||||
// The path at which the volume was published. It MUST be an absolute
|
||||
// path in the root filesystem of the process serving this request.
|
||||
// This is a REQUIRED field.
|
||||
string staging_target_path = 2;
|
||||
}
|
||||
|
||||
message NodeUnstageVolumeResponse {
|
||||
}
|
||||
message NodePublishVolumeRequest {
|
||||
// The ID of the volume to publish. This field is REQUIRED.
|
||||
string volume_id = 1;
|
||||
|
||||
// The CO SHALL set this field to the value returned by
|
||||
// `ControllerPublishVolume` if the corresponding Controller Plugin
|
||||
// has `PUBLISH_UNPUBLISH_VOLUME` controller capability, and SHALL be
|
||||
// left unset if the corresponding Controller Plugin does not have
|
||||
// this capability. This is an OPTIONAL field.
|
||||
map<string, string> publish_info = 2;
|
||||
|
||||
// The path to which the device was mounted by `NodeStageVolume`.
|
||||
// It MUST be an absolute path in the root filesystem of the process
|
||||
// serving this request.
|
||||
// It MUST be set if the Node Plugin implements the
|
||||
// `STAGE_UNSTAGE_VOLUME` node capability.
|
||||
// This is an OPTIONAL field.
|
||||
string staging_target_path = 3;
|
||||
|
||||
// The path to which the volume will be published. It MUST be an
|
||||
// absolute path in the root filesystem of the process serving this
|
||||
@ -534,18 +598,24 @@ message NodePublishVolumeRequest {
|
||||
// REQUIRED.
|
||||
bool readonly = 6;
|
||||
|
||||
// Credentials used by Node plugin to authenticate/authorize node
|
||||
// publish request.
|
||||
// This field contains credential data, for example username and
|
||||
// password. Each key must consist of alphanumeric characters, '-',
|
||||
// '_' or '.'. Each value MUST contain a valid string. An SP MAY
|
||||
// choose to accept binary (non-string) data by using a binary-to-text
|
||||
// encoding scheme, like base64. An SP SHALL advertise the
|
||||
// requirements for credentials in documentation. COs SHALL permit
|
||||
// passing through the required credentials. This information is
|
||||
// sensitive and MUST be treated as such (not logged, etc.) by the CO.
|
||||
// Secrets required by plugin to complete node publish volume request.
|
||||
// A secret is a string to string map where the key identifies the
|
||||
// name of the secret (e.g. "username" or "password"), and the value
|
||||
// contains the secret data (e.g. "bob" or "abc123").
|
||||
// Each key MUST consist of alphanumeric characters, '-', '_' or '.'.
|
||||
// Each value MUST contain a valid string. An SP MAY choose to accept
|
||||
// binary (non-string) data by using a binary-to-text encoding scheme,
|
||||
// like base64.
|
||||
// An SP SHALL advertise the requirements for required secret keys and
|
||||
// values in documentation.
|
||||
// CO SHALL permit passing through the required secrets.
|
||||
// A CO MAY pass the same secrets to all RPCs, therefore the keys for
|
||||
// all unique secrets that an SP expects must be unique across all CSI
|
||||
// operations.
|
||||
// This information is sensitive and MUST be treated as such (not
|
||||
// logged, etc.) by the CO.
|
||||
// This field is OPTIONAL.
|
||||
map<string, string> node_publish_credentials = 7;
|
||||
map<string, string> node_publish_secrets = 7;
|
||||
|
||||
// Attributes of the volume to publish. This field is OPTIONAL and
|
||||
// MUST match the attributes of the Volume identified by
|
||||
@ -553,41 +623,21 @@ message NodePublishVolumeRequest {
|
||||
map<string,string> volume_attributes = 8;
|
||||
}
|
||||
|
||||
message NodePublishVolumeResponse {}
|
||||
////////
|
||||
////////
|
||||
message NodePublishVolumeResponse {
|
||||
}
|
||||
message NodeUnpublishVolumeRequest {
|
||||
// The API version assumed by the CO. This is a REQUIRED field.
|
||||
Version version = 1;
|
||||
|
||||
// The ID of the volume. This field is REQUIRED.
|
||||
string volume_id = 2;
|
||||
string volume_id = 1;
|
||||
|
||||
// The path at which the volume was published. It MUST be an absolute
|
||||
// path in the root filesystem of the process serving this request.
|
||||
// This is a REQUIRED field.
|
||||
string target_path = 3;
|
||||
|
||||
// Credentials used by Node plugin to authenticate/authorize node
|
||||
// unpublish request.
|
||||
// This field contains credential data, for example username and
|
||||
// password. Each key must consist of alphanumeric characters, '-',
|
||||
// '_' or '.'. Each value MUST contain a valid string. An SP MAY
|
||||
// choose to accept binary (non-string) data by using a binary-to-text
|
||||
// encoding scheme, like base64. An SP SHALL advertise the
|
||||
// requirements for credentials in documentation. COs SHALL permit
|
||||
// passing through the required credentials. This information is
|
||||
// sensitive and MUST be treated as such (not logged, etc.) by the CO.
|
||||
// This field is OPTIONAL.
|
||||
map<string, string> node_unpublish_credentials = 4;
|
||||
string target_path = 2;
|
||||
}
|
||||
|
||||
message NodeUnpublishVolumeResponse {}
|
||||
////////
|
||||
////////
|
||||
message NodeUnpublishVolumeResponse {
|
||||
}
|
||||
message NodeGetIdRequest {
|
||||
// The API version assumed by the CO. This is a REQUIRED field.
|
||||
Version version = 1;
|
||||
}
|
||||
|
||||
message NodeGetIdResponse {
|
||||
@ -596,19 +646,7 @@ message NodeGetIdResponse {
|
||||
// This is a REQUIRED field.
|
||||
string node_id = 1;
|
||||
}
|
||||
////////
|
||||
////////
|
||||
message NodeProbeRequest {
|
||||
// The API version assumed by the CO. This is a REQUIRED field.
|
||||
Version version = 1;
|
||||
}
|
||||
|
||||
message NodeProbeResponse {}
|
||||
////////
|
||||
////////
|
||||
message NodeGetCapabilitiesRequest {
|
||||
// The API version assumed by the CO. This is a REQUIRED field.
|
||||
Version version = 1;
|
||||
}
|
||||
|
||||
message NodeGetCapabilitiesResponse {
|
||||
@ -622,6 +660,7 @@ message NodeServiceCapability {
|
||||
message RPC {
|
||||
enum Type {
|
||||
UNKNOWN = 0;
|
||||
STAGE_UNSTAGE_VOLUME = 1;
|
||||
}
|
||||
|
||||
Type type = 1;
|
||||
@ -632,4 +671,3 @@ message NodeServiceCapability {
|
||||
RPC rpc = 1;
|
||||
}
|
||||
}
|
||||
////////
|
||||
|
1
vendor/github.com/container-storage-interface/spec/lib/go/.gitignore
generated
vendored
1
vendor/github.com/container-storage-interface/spec/lib/go/.gitignore
generated
vendored
@ -1,4 +1,3 @@
|
||||
/protoc
|
||||
/protoc-gen-go
|
||||
/csi.a
|
||||
/csi/.build/
|
||||
|
11
vendor/github.com/container-storage-interface/spec/lib/go/Makefile
generated
vendored
11
vendor/github.com/container-storage-interface/spec/lib/go/Makefile
generated
vendored
@ -76,10 +76,11 @@ export PATH := $(shell pwd):$(PATH)
|
||||
########################################################################
|
||||
## BUILD ##
|
||||
########################################################################
|
||||
CSI_GO := csi/csi.pb.go
|
||||
CSI_A := csi.a
|
||||
CSI_PROTO := ../../csi.proto
|
||||
CSI_GO_TMP := csi/.build/csi.pb.go
|
||||
CSI_PKG := $(shell cat $(CSI_PROTO) | sed -n -e 's/^package.\([^;]*\);$$/\1/p'|tr '.' '/')
|
||||
CSI_GO := $(CSI_PKG)/csi.pb.go
|
||||
CSI_A := csi.a
|
||||
CSI_GO_TMP := $(CSI_PKG)/.build/csi.pb.go
|
||||
|
||||
# This recipe generates the go language bindings to a temp area.
|
||||
$(CSI_GO_TMP): $(CSI_PROTO) | $(PROTOC) $(PROTOC_GEN_GO)
|
||||
@ -104,8 +105,8 @@ endif
|
||||
# 3. Build the archive file.
|
||||
$(CSI_A): $(CSI_GO)
|
||||
go get -d ./...
|
||||
go install ./csi
|
||||
go build -o "$@" ./csi
|
||||
go install ./$(CSI_PKG)
|
||||
go build -o "$@" ./$(CSI_PKG)
|
||||
|
||||
build: $(CSI_A)
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
693
vendor/github.com/container-storage-interface/spec/spec.md
generated
vendored
693
vendor/github.com/container-storage-interface/spec/spec.md
generated
vendored
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user