-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathk8sMesg.proto
33 lines (25 loc) · 1.16 KB
/
k8sMesg.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
syntax = "proto3";
// following proto-def makes use of a message defined elsewhere.
// in particular, it uses k8s podspec defined in a file referenced by import statement.
// build this file as follows:
/*
mkdir -p mesg
protoc -I=${GOPATH}/src -I=. --go_out=mesg k8sMesg.proto
*/
// -I references two include paths: ${GOPATH}/src and .
// import filepath is searched relative to include paths.
/*
Managing errors:
Imported proto file may have other dependencies, all of which need to be available during build.
For instance a missing dependency may cause following error:
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto: File not found.
k8s.io/api/core/v1/generated.proto: Import "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto" was not found or had errors.
k8sMesg.proto: Import "k8s.io/api/core/v1/generated.proto" was not found or had errors.
k8sMesg.proto:18:5: "k8s.io.api.core.v1.Pod" is not defined.
which is fixed by making sure ${GOPATH}/src/k8s.io/apiextensions-apiserver folder is present
*/
package mesg;
import "k8s.io/api/core/v1/generated.proto";
message Data {
k8s.io.api.core.v1.Pod Pod = 1;
}