-
Notifications
You must be signed in to change notification settings - Fork 19
/
nodeattestor_grpc.pb.go
175 lines (153 loc) · 6.44 KB
/
nodeattestor_grpc.pb.go
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
package nodeattestorv1
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
// NodeAttestorClient is the client API for NodeAttestor service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type NodeAttestorClient interface {
// AidAttestation facilitates attestation by returning the attestation
// payload and participating in attestation challenge/response.
//
// The attestation flow is as follows:
// 1. SPIRE Agent opens up a stream to the plugin via FetchAttestationData.
// 2. The plugin returns a response with the payload.
// 3. SPIRE Agent sends the payload to SPIRE Server.
// 4. Optionally, SPIRE Server responds with a challenge:
// 4a. SPIRE Agent sends the challenge to the plugin.
// 4b. The plugin responds with the challenge response.
// 4c. SPIRE Agent sends the challenge response to SPIRE Server.
// 4d. Step 4 is repeated until SPIRE Server is satisfied and does not
// respond with an additional challenge.
// 5. SPIRE Agent closes the stream.
//
// Note that SPIRE Agent does NOT send a request down the stream unless it
// needs to issue the challenge returned by SPIRE Server (step 4a).
//
// Plugins that do not need challenge/response as part of the attestation
// process may close the stream as soon as they send the attestation
// payload (step 2).
AidAttestation(ctx context.Context, opts ...grpc.CallOption) (NodeAttestor_AidAttestationClient, error)
}
type nodeAttestorClient struct {
cc grpc.ClientConnInterface
}
func NewNodeAttestorClient(cc grpc.ClientConnInterface) NodeAttestorClient {
return &nodeAttestorClient{cc}
}
func (c *nodeAttestorClient) AidAttestation(ctx context.Context, opts ...grpc.CallOption) (NodeAttestor_AidAttestationClient, error) {
stream, err := c.cc.NewStream(ctx, &NodeAttestor_ServiceDesc.Streams[0], "/spire.plugin.agent.nodeattestor.v1.NodeAttestor/AidAttestation", opts...)
if err != nil {
return nil, err
}
x := &nodeAttestorAidAttestationClient{stream}
return x, nil
}
type NodeAttestor_AidAttestationClient interface {
Send(*Challenge) error
Recv() (*PayloadOrChallengeResponse, error)
grpc.ClientStream
}
type nodeAttestorAidAttestationClient struct {
grpc.ClientStream
}
func (x *nodeAttestorAidAttestationClient) Send(m *Challenge) error {
return x.ClientStream.SendMsg(m)
}
func (x *nodeAttestorAidAttestationClient) Recv() (*PayloadOrChallengeResponse, error) {
m := new(PayloadOrChallengeResponse)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
// NodeAttestorServer is the server API for NodeAttestor service.
// All implementations must embed UnimplementedNodeAttestorServer
// for forward compatibility
type NodeAttestorServer interface {
// AidAttestation facilitates attestation by returning the attestation
// payload and participating in attestation challenge/response.
//
// The attestation flow is as follows:
// 1. SPIRE Agent opens up a stream to the plugin via FetchAttestationData.
// 2. The plugin returns a response with the payload.
// 3. SPIRE Agent sends the payload to SPIRE Server.
// 4. Optionally, SPIRE Server responds with a challenge:
// 4a. SPIRE Agent sends the challenge to the plugin.
// 4b. The plugin responds with the challenge response.
// 4c. SPIRE Agent sends the challenge response to SPIRE Server.
// 4d. Step 4 is repeated until SPIRE Server is satisfied and does not
// respond with an additional challenge.
// 5. SPIRE Agent closes the stream.
//
// Note that SPIRE Agent does NOT send a request down the stream unless it
// needs to issue the challenge returned by SPIRE Server (step 4a).
//
// Plugins that do not need challenge/response as part of the attestation
// process may close the stream as soon as they send the attestation
// payload (step 2).
AidAttestation(NodeAttestor_AidAttestationServer) error
mustEmbedUnimplementedNodeAttestorServer()
}
// UnimplementedNodeAttestorServer must be embedded to have forward compatible implementations.
type UnimplementedNodeAttestorServer struct {
}
func (UnimplementedNodeAttestorServer) AidAttestation(NodeAttestor_AidAttestationServer) error {
return status.Errorf(codes.Unimplemented, "method AidAttestation not implemented")
}
func (UnimplementedNodeAttestorServer) mustEmbedUnimplementedNodeAttestorServer() {}
// UnsafeNodeAttestorServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to NodeAttestorServer will
// result in compilation errors.
type UnsafeNodeAttestorServer interface {
mustEmbedUnimplementedNodeAttestorServer()
}
func RegisterNodeAttestorServer(s grpc.ServiceRegistrar, srv NodeAttestorServer) {
s.RegisterService(&NodeAttestor_ServiceDesc, srv)
}
func _NodeAttestor_AidAttestation_Handler(srv interface{}, stream grpc.ServerStream) error {
return srv.(NodeAttestorServer).AidAttestation(&nodeAttestorAidAttestationServer{stream})
}
type NodeAttestor_AidAttestationServer interface {
Send(*PayloadOrChallengeResponse) error
Recv() (*Challenge, error)
grpc.ServerStream
}
type nodeAttestorAidAttestationServer struct {
grpc.ServerStream
}
func (x *nodeAttestorAidAttestationServer) Send(m *PayloadOrChallengeResponse) error {
return x.ServerStream.SendMsg(m)
}
func (x *nodeAttestorAidAttestationServer) Recv() (*Challenge, error) {
m := new(Challenge)
if err := x.ServerStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
// NodeAttestor_ServiceDesc is the grpc.ServiceDesc for NodeAttestor service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var NodeAttestor_ServiceDesc = grpc.ServiceDesc{
ServiceName: "spire.plugin.agent.nodeattestor.v1.NodeAttestor",
HandlerType: (*NodeAttestorServer)(nil),
Methods: []grpc.MethodDesc{},
Streams: []grpc.StreamDesc{
{
StreamName: "AidAttestation",
Handler: _NodeAttestor_AidAttestation_Handler,
ServerStreams: true,
ClientStreams: true,
},
},
Metadata: "spire/plugin/agent/nodeattestor/v1/nodeattestor.proto",
}