Skip to content

Commit dccf6f7

Browse files
author
Prasanna Kumar Kalever
committed
Healer: add auto-generated proto file
Fixes: csi-addons#20 Signed-off-by: Prasanna Kumar Kalever <[email protected]>
1 parent 84609df commit dccf6f7

File tree

3 files changed

+527
-0
lines changed

3 files changed

+527
-0
lines changed

healer/healer.proto

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
// Code generated by make; DO NOT EDIT.
2+
syntax = "proto3";
3+
package healer;
4+
5+
import "github.com/container-storage-interface/spec/lib/go/csi/csi.proto";
6+
import "google/protobuf/descriptor.proto";
7+
8+
option go_package = "github.com/csi-addons/spec/lib/go/healer";
9+
10+
// HealerNode holds the RPC method for running heal operations on the
11+
// active (staged/published) volume.
12+
service HealerNode {
13+
// NodeHealer is a procedure that gets called on the CSI NodePlugin.
14+
rpc NodeHealer (NodeHealerRequest)
15+
returns (NodeHealerResponse) {}
16+
}
17+
// NodeHealerRequest contains the information needed to identify the
18+
// location where the volume is mounted so that local filesystem or
19+
// block-device operations to heal volume can be executed.
20+
message NodeHealerRequest {
21+
// The ID of the volume. This field is REQUIRED.
22+
string volume_id = 1;
23+
24+
// The path on which volume is available. This field is REQUIRED.
25+
// This field overrides the general CSI size limit.
26+
// SP SHOULD support the maximum path length allowed by the operating
27+
// system/filesystem, but, at a minimum, SP MUST accept a max path
28+
// length of at least 128 bytes.
29+
string volume_path = 2;
30+
31+
// The path where the volume is staged, if the plugin has the
32+
// STAGE_UNSTAGE_VOLUME capability, otherwise empty.
33+
// If not empty, it MUST be an absolute path in the root
34+
// filesystem of the process serving this request.
35+
// This field is OPTIONAL.
36+
// This field overrides the general CSI size limit.
37+
// SP SHOULD support the maximum path length allowed by the operating
38+
// system/filesystem, but, at a minimum, SP MUST accept a max path
39+
// length of at least 128 bytes.
40+
string staging_target_path = 3;
41+
42+
// Volume capability describing how the CO intends to use this volume.
43+
// This allows SP to determine if volume is being used as a block
44+
// device or mounted file system. For example - if volume is being
45+
// used as a block device the SP MAY choose to skip calling filesystem
46+
// operations to healer. If volume_capability is omitted the SP MAY
47+
// determine access_type from given volume_path for the volume and
48+
// perform healing. This is an OPTIONAL field.
49+
csi.v1.VolumeCapability volume_capability = 4;
50+
51+
// Secrets required by plugin to complete the healer operation.
52+
// This field is OPTIONAL.
53+
map<string, string> secrets = 5 [(csi.v1.csi_secret) = true];
54+
55+
// Volume context as returned by SP in
56+
// CreateVolumeResponse.Volume.volume_context.
57+
// This field is OPTIONAL and MUST match the volume_context of the
58+
// volume identified by `volume_id`.
59+
map<string, string> volume_context = 6;
60+
}
61+
62+
// NodeHealerResponse holds the information about the result of the
63+
// NodeHealerRequest call.
64+
message NodeHealerResponse {
65+
// Normal volumes are available for use and operating optimally.
66+
// An abnormal volume does not meet these criteria.
67+
// This field is REQUIRED.
68+
bool abnormal = 1;
69+
70+
// The message describing the condition of the volume.
71+
// This field is REQUIRED.
72+
string message = 2;
73+
}

0 commit comments

Comments
 (0)