forked from kubernetes/kubernetes
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create pkg/kubelet/apis/pluginregistration/v1beta1 directory
- Loading branch information
Renaud Gaubert
committed
Sep 4, 2018
1 parent
7548764
commit f8e80e4
Showing
6 changed files
with
109 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
// To regenerate api.pb.go run hack/update-generated-kubelet-plugin-registration.sh | ||
syntax = 'proto3'; | ||
|
||
package pluginregistration; | ||
|
||
import "github.com/gogo/protobuf/gogoproto/gogo.proto"; | ||
|
||
option (gogoproto.goproto_stringer_all) = false; | ||
option (gogoproto.stringer_all) = true; | ||
option (gogoproto.goproto_getters_all) = true; | ||
option (gogoproto.marshaler_all) = true; | ||
option (gogoproto.sizer_all) = true; | ||
option (gogoproto.unmarshaler_all) = true; | ||
option (gogoproto.goproto_unrecognized_all) = false; | ||
|
||
// PluginInfo is the message sent from a plugin to the Kubelet pluginwatcher for plugin registration | ||
message PluginInfo { | ||
// Type of the Plugin. CSIPlugin or DevicePlugin | ||
string type = 1; | ||
// Plugin name that uniquely identifies the plugin for the given plugin type. | ||
// For DevicePlugin, this is the resource name that the plugin manages and | ||
// should follow the extended resource name convention. | ||
// For CSI, this is the CSI driver registrar name. | ||
string name = 2; | ||
// Optional endpoint location. If found set by Kubelet component, | ||
// Kubelet component will use this endpoint for specific requests. | ||
// This allows the plugin to register using one endpoint and possibly use | ||
// a different socket for control operations. CSI uses this model to delegate | ||
// its registration external from the plugin. | ||
string endpoint = 3; | ||
// Plugin service API versions the plugin supports. | ||
// For DevicePlugin, this maps to the deviceplugin API versions the | ||
// plugin supports at the given socket. | ||
// The Kubelet component communicating with the plugin should be able | ||
// to choose any preferred version from this list, or returns an error | ||
// if none of the listed versions is supported. | ||
repeated string supported_versions = 4; | ||
} | ||
|
||
// RegistrationStatus is the message sent from Kubelet pluginwatcher to the plugin for notification on registration status | ||
message RegistrationStatus { | ||
// True if plugin gets registered successfully at Kubelet | ||
bool plugin_registered = 1; | ||
// Error message in case plugin fails to register, empty string otherwise | ||
string error = 2; | ||
} | ||
|
||
// RegistrationStatusResponse is sent by plugin to kubelet in response to RegistrationStatus RPC | ||
message RegistrationStatusResponse { | ||
} | ||
|
||
// InfoRequest is the empty request message from Kubelet | ||
message InfoRequest { | ||
} | ||
|
||
// Registration is the service advertised by the Plugins. | ||
service Registration { | ||
rpc GetInfo(InfoRequest) returns (PluginInfo) {} | ||
rpc NotifyRegistrationStatus(RegistrationStatus) returns (RegistrationStatusResponse) {} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
/* | ||
Copyright 2018 The Kubernetes Authors. | ||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://www.apache.org/licenses/LICENSE-2.0 | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
package pluginregistration | ||
|
||
const ( | ||
CSIPlugin = "CSIPlugin" | ||
DevicePlugin = "DevicePlugin" | ||
) |