refactor: Move kubeconfig to machined
This moves the Kubeconfig api endpoint to machined and consolidates the "read a file" code into machined. This also changes Kubeconfig to use the CopyOut method which changes Kubeconfig to a streaming grpc call. Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
This commit is contained in:
parent
3fd8abf426
commit
a4e1479b07
196
api/api.pb.go
196
api/api.pb.go
@ -389,18 +389,6 @@ func (p *ApiProxy) Proxy(ctx context.Context, method string, creds credentials.T
|
||||
resp.Response = append(resp.Response, msg.(*common.DataReply).Response[0])
|
||||
}
|
||||
response = resp
|
||||
case "/os.OS/Kubeconfig":
|
||||
// Initialize target clients
|
||||
clients, err := createOSClient(targets, creds, proxyMd)
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
resp := &common.DataReply{}
|
||||
msgs, err = proxyOSRunner(clients, in, proxyKubeconfig)
|
||||
for _, msg := range msgs {
|
||||
resp.Response = append(resp.Response, msg.(*common.DataReply).Response[0])
|
||||
}
|
||||
response = resp
|
||||
case "/os.OS/Processes":
|
||||
// Initialize target clients
|
||||
clients, err := createOSClient(targets, creds, proxyMd)
|
||||
@ -473,30 +461,6 @@ func (p *ApiProxy) Proxy(ctx context.Context, method string, creds credentials.T
|
||||
resp.Response = append(resp.Response, msg.(*machine.ResetReply).Response[0])
|
||||
}
|
||||
response = resp
|
||||
case "/machine.Machine/Shutdown":
|
||||
// Initialize target clients
|
||||
clients, err := createMachineClient(targets, creds, proxyMd)
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
resp := &machine.ShutdownReply{}
|
||||
msgs, err = proxyMachineRunner(clients, in, proxyShutdown)
|
||||
for _, msg := range msgs {
|
||||
resp.Response = append(resp.Response, msg.(*machine.ShutdownReply).Response[0])
|
||||
}
|
||||
response = resp
|
||||
case "/machine.Machine/Upgrade":
|
||||
// Initialize target clients
|
||||
clients, err := createMachineClient(targets, creds, proxyMd)
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
resp := &machine.UpgradeReply{}
|
||||
msgs, err = proxyMachineRunner(clients, in, proxyUpgrade)
|
||||
for _, msg := range msgs {
|
||||
resp.Response = append(resp.Response, msg.(*machine.UpgradeReply).Response[0])
|
||||
}
|
||||
response = resp
|
||||
case "/machine.Machine/ServiceList":
|
||||
// Initialize target clients
|
||||
clients, err := createMachineClient(targets, creds, proxyMd)
|
||||
@ -509,6 +473,18 @@ func (p *ApiProxy) Proxy(ctx context.Context, method string, creds credentials.T
|
||||
resp.Response = append(resp.Response, msg.(*machine.ServiceListReply).Response[0])
|
||||
}
|
||||
response = resp
|
||||
case "/machine.Machine/ServiceRestart":
|
||||
// Initialize target clients
|
||||
clients, err := createMachineClient(targets, creds, proxyMd)
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
resp := &machine.ServiceRestartReply{}
|
||||
msgs, err = proxyMachineRunner(clients, in, proxyServiceRestart)
|
||||
for _, msg := range msgs {
|
||||
resp.Response = append(resp.Response, msg.(*machine.ServiceRestartReply).Response[0])
|
||||
}
|
||||
response = resp
|
||||
case "/machine.Machine/ServiceStart":
|
||||
// Initialize target clients
|
||||
clients, err := createMachineClient(targets, creds, proxyMd)
|
||||
@ -533,16 +509,28 @@ func (p *ApiProxy) Proxy(ctx context.Context, method string, creds credentials.T
|
||||
resp.Response = append(resp.Response, msg.(*machine.ServiceStopReply).Response[0])
|
||||
}
|
||||
response = resp
|
||||
case "/machine.Machine/ServiceRestart":
|
||||
case "/machine.Machine/Shutdown":
|
||||
// Initialize target clients
|
||||
clients, err := createMachineClient(targets, creds, proxyMd)
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
resp := &machine.ServiceRestartReply{}
|
||||
msgs, err = proxyMachineRunner(clients, in, proxyServiceRestart)
|
||||
resp := &machine.ShutdownReply{}
|
||||
msgs, err = proxyMachineRunner(clients, in, proxyShutdown)
|
||||
for _, msg := range msgs {
|
||||
resp.Response = append(resp.Response, msg.(*machine.ServiceRestartReply).Response[0])
|
||||
resp.Response = append(resp.Response, msg.(*machine.ShutdownReply).Response[0])
|
||||
}
|
||||
response = resp
|
||||
case "/machine.Machine/Upgrade":
|
||||
// Initialize target clients
|
||||
clients, err := createMachineClient(targets, creds, proxyMd)
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
resp := &machine.UpgradeReply{}
|
||||
msgs, err = proxyMachineRunner(clients, in, proxyUpgrade)
|
||||
for _, msg := range msgs {
|
||||
resp.Response = append(resp.Response, msg.(*machine.UpgradeReply).Response[0])
|
||||
}
|
||||
response = resp
|
||||
case "/machine.Machine/Version":
|
||||
@ -690,17 +678,6 @@ func proxyDmesg(client *proxyOSClient, in interface{}, wg *sync.WaitGroup, respC
|
||||
respCh <- resp
|
||||
}
|
||||
|
||||
func proxyKubeconfig(client *proxyOSClient, in interface{}, wg *sync.WaitGroup, respCh chan proto.Message, errCh chan error) {
|
||||
defer wg.Done()
|
||||
resp, err := client.Conn.Kubeconfig(client.Context, in.(*empty.Empty))
|
||||
if err != nil {
|
||||
errCh <- err
|
||||
return
|
||||
}
|
||||
resp.Response[0].Metadata = &NodeMetadata{Hostname: client.Target}
|
||||
respCh <- resp
|
||||
}
|
||||
|
||||
func proxyProcesses(client *proxyOSClient, in interface{}, wg *sync.WaitGroup, respCh chan proto.Message, errCh chan error) {
|
||||
defer wg.Done()
|
||||
resp, err := client.Conn.Processes(client.Context, in.(*empty.Empty))
|
||||
@ -801,28 +778,6 @@ func proxyReset(client *proxyMachineClient, in interface{}, wg *sync.WaitGroup,
|
||||
respCh <- resp
|
||||
}
|
||||
|
||||
func proxyShutdown(client *proxyMachineClient, in interface{}, wg *sync.WaitGroup, respCh chan proto.Message, errCh chan error) {
|
||||
defer wg.Done()
|
||||
resp, err := client.Conn.Shutdown(client.Context, in.(*empty.Empty))
|
||||
if err != nil {
|
||||
errCh <- err
|
||||
return
|
||||
}
|
||||
resp.Response[0].Metadata = &NodeMetadata{Hostname: client.Target}
|
||||
respCh <- resp
|
||||
}
|
||||
|
||||
func proxyUpgrade(client *proxyMachineClient, in interface{}, wg *sync.WaitGroup, respCh chan proto.Message, errCh chan error) {
|
||||
defer wg.Done()
|
||||
resp, err := client.Conn.Upgrade(client.Context, in.(*machine.UpgradeRequest))
|
||||
if err != nil {
|
||||
errCh <- err
|
||||
return
|
||||
}
|
||||
resp.Response[0].Metadata = &NodeMetadata{Hostname: client.Target}
|
||||
respCh <- resp
|
||||
}
|
||||
|
||||
func proxyServiceList(client *proxyMachineClient, in interface{}, wg *sync.WaitGroup, respCh chan proto.Message, errCh chan error) {
|
||||
defer wg.Done()
|
||||
resp, err := client.Conn.ServiceList(client.Context, in.(*empty.Empty))
|
||||
@ -834,6 +789,17 @@ func proxyServiceList(client *proxyMachineClient, in interface{}, wg *sync.WaitG
|
||||
respCh <- resp
|
||||
}
|
||||
|
||||
func proxyServiceRestart(client *proxyMachineClient, in interface{}, wg *sync.WaitGroup, respCh chan proto.Message, errCh chan error) {
|
||||
defer wg.Done()
|
||||
resp, err := client.Conn.ServiceRestart(client.Context, in.(*machine.ServiceRestartRequest))
|
||||
if err != nil {
|
||||
errCh <- err
|
||||
return
|
||||
}
|
||||
resp.Response[0].Metadata = &NodeMetadata{Hostname: client.Target}
|
||||
respCh <- resp
|
||||
}
|
||||
|
||||
func proxyServiceStart(client *proxyMachineClient, in interface{}, wg *sync.WaitGroup, respCh chan proto.Message, errCh chan error) {
|
||||
defer wg.Done()
|
||||
resp, err := client.Conn.ServiceStart(client.Context, in.(*machine.ServiceStartRequest))
|
||||
@ -856,9 +822,20 @@ func proxyServiceStop(client *proxyMachineClient, in interface{}, wg *sync.WaitG
|
||||
respCh <- resp
|
||||
}
|
||||
|
||||
func proxyServiceRestart(client *proxyMachineClient, in interface{}, wg *sync.WaitGroup, respCh chan proto.Message, errCh chan error) {
|
||||
func proxyShutdown(client *proxyMachineClient, in interface{}, wg *sync.WaitGroup, respCh chan proto.Message, errCh chan error) {
|
||||
defer wg.Done()
|
||||
resp, err := client.Conn.ServiceRestart(client.Context, in.(*machine.ServiceRestartRequest))
|
||||
resp, err := client.Conn.Shutdown(client.Context, in.(*empty.Empty))
|
||||
if err != nil {
|
||||
errCh <- err
|
||||
return
|
||||
}
|
||||
resp.Response[0].Metadata = &NodeMetadata{Hostname: client.Target}
|
||||
respCh <- resp
|
||||
}
|
||||
|
||||
func proxyUpgrade(client *proxyMachineClient, in interface{}, wg *sync.WaitGroup, respCh chan proto.Message, errCh chan error) {
|
||||
defer wg.Done()
|
||||
resp, err := client.Conn.Upgrade(client.Context, in.(*machine.UpgradeRequest))
|
||||
if err != nil {
|
||||
errCh <- err
|
||||
return
|
||||
@ -1108,10 +1085,6 @@ func (r *Registrator) Dmesg(ctx context.Context, in *empty.Empty) (*common.DataR
|
||||
return r.OSClient.Dmesg(ctx, in)
|
||||
}
|
||||
|
||||
func (r *Registrator) Kubeconfig(ctx context.Context, in *empty.Empty) (*common.DataReply, error) {
|
||||
return r.OSClient.Kubeconfig(ctx, in)
|
||||
}
|
||||
|
||||
func (r *Registrator) Logs(in *os.LogsRequest, srv os.OS_LogsServer) error {
|
||||
client, err := r.OSClient.Logs(srv.Context(), in)
|
||||
if err != nil {
|
||||
@ -1142,8 +1115,13 @@ func (r *Registrator) CopyOut(in *machine.CopyOutRequest, srv machine.Machine_Co
|
||||
return copyClientServer(&msg, client, srv)
|
||||
}
|
||||
|
||||
func (r *Registrator) Mounts(ctx context.Context, in *empty.Empty) (*machine.MountsReply, error) {
|
||||
return r.MachineClient.Mounts(ctx, in)
|
||||
func (r *Registrator) Kubeconfig(in *empty.Empty, srv machine.Machine_KubeconfigServer) error {
|
||||
client, err := r.MachineClient.Kubeconfig(srv.Context(), in)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
var msg machine.StreamingData
|
||||
return copyClientServer(&msg, client, srv)
|
||||
}
|
||||
|
||||
func (r *Registrator) LS(in *machine.LSRequest, srv machine.Machine_LSServer) error {
|
||||
@ -1155,6 +1133,10 @@ func (r *Registrator) LS(in *machine.LSRequest, srv machine.Machine_LSServer) er
|
||||
return copyClientServer(&msg, client, srv)
|
||||
}
|
||||
|
||||
func (r *Registrator) Mounts(ctx context.Context, in *empty.Empty) (*machine.MountsReply, error) {
|
||||
return r.MachineClient.Mounts(ctx, in)
|
||||
}
|
||||
|
||||
func (r *Registrator) Reboot(ctx context.Context, in *empty.Empty) (*machine.RebootReply, error) {
|
||||
return r.MachineClient.Reboot(ctx, in)
|
||||
}
|
||||
@ -1163,18 +1145,14 @@ func (r *Registrator) Reset(ctx context.Context, in *empty.Empty) (*machine.Rese
|
||||
return r.MachineClient.Reset(ctx, in)
|
||||
}
|
||||
|
||||
func (r *Registrator) Shutdown(ctx context.Context, in *empty.Empty) (*machine.ShutdownReply, error) {
|
||||
return r.MachineClient.Shutdown(ctx, in)
|
||||
}
|
||||
|
||||
func (r *Registrator) Upgrade(ctx context.Context, in *machine.UpgradeRequest) (*machine.UpgradeReply, error) {
|
||||
return r.MachineClient.Upgrade(ctx, in)
|
||||
}
|
||||
|
||||
func (r *Registrator) ServiceList(ctx context.Context, in *empty.Empty) (*machine.ServiceListReply, error) {
|
||||
return r.MachineClient.ServiceList(ctx, in)
|
||||
}
|
||||
|
||||
func (r *Registrator) ServiceRestart(ctx context.Context, in *machine.ServiceRestartRequest) (*machine.ServiceRestartReply, error) {
|
||||
return r.MachineClient.ServiceRestart(ctx, in)
|
||||
}
|
||||
|
||||
func (r *Registrator) ServiceStart(ctx context.Context, in *machine.ServiceStartRequest) (*machine.ServiceStartReply, error) {
|
||||
return r.MachineClient.ServiceStart(ctx, in)
|
||||
}
|
||||
@ -1183,8 +1161,12 @@ func (r *Registrator) ServiceStop(ctx context.Context, in *machine.ServiceStopRe
|
||||
return r.MachineClient.ServiceStop(ctx, in)
|
||||
}
|
||||
|
||||
func (r *Registrator) ServiceRestart(ctx context.Context, in *machine.ServiceRestartRequest) (*machine.ServiceRestartReply, error) {
|
||||
return r.MachineClient.ServiceRestart(ctx, in)
|
||||
func (r *Registrator) Shutdown(ctx context.Context, in *empty.Empty) (*machine.ShutdownReply, error) {
|
||||
return r.MachineClient.Shutdown(ctx, in)
|
||||
}
|
||||
|
||||
func (r *Registrator) Upgrade(ctx context.Context, in *machine.UpgradeRequest) (*machine.UpgradeReply, error) {
|
||||
return r.MachineClient.Upgrade(ctx, in)
|
||||
}
|
||||
|
||||
func (r *Registrator) Start(ctx context.Context, in *machine.StartRequest) (*machine.StartReply, error) {
|
||||
@ -1239,10 +1221,6 @@ func (c *LocalOSClient) Dmesg(ctx context.Context, in *empty.Empty, opts ...grpc
|
||||
return c.OSClient.Dmesg(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalOSClient) Kubeconfig(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*common.DataReply, error) {
|
||||
return c.OSClient.Kubeconfig(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalOSClient) Logs(ctx context.Context, in *os.LogsRequest, opts ...grpc.CallOption) (os.OS_LogsClient, error) {
|
||||
return c.OSClient.Logs(ctx, in, opts...)
|
||||
}
|
||||
@ -1279,14 +1257,18 @@ func (c *LocalMachineClient) CopyOut(ctx context.Context, in *machine.CopyOutReq
|
||||
return c.MachineClient.CopyOut(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalMachineClient) Mounts(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*machine.MountsReply, error) {
|
||||
return c.MachineClient.Mounts(ctx, in, opts...)
|
||||
func (c *LocalMachineClient) Kubeconfig(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (machine.Machine_KubeconfigClient, error) {
|
||||
return c.MachineClient.Kubeconfig(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalMachineClient) LS(ctx context.Context, in *machine.LSRequest, opts ...grpc.CallOption) (machine.Machine_LSClient, error) {
|
||||
return c.MachineClient.LS(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalMachineClient) Mounts(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*machine.MountsReply, error) {
|
||||
return c.MachineClient.Mounts(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalMachineClient) Reboot(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*machine.RebootReply, error) {
|
||||
return c.MachineClient.Reboot(ctx, in, opts...)
|
||||
}
|
||||
@ -1295,18 +1277,14 @@ func (c *LocalMachineClient) Reset(ctx context.Context, in *empty.Empty, opts ..
|
||||
return c.MachineClient.Reset(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalMachineClient) Shutdown(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*machine.ShutdownReply, error) {
|
||||
return c.MachineClient.Shutdown(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalMachineClient) Upgrade(ctx context.Context, in *machine.UpgradeRequest, opts ...grpc.CallOption) (*machine.UpgradeReply, error) {
|
||||
return c.MachineClient.Upgrade(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalMachineClient) ServiceList(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*machine.ServiceListReply, error) {
|
||||
return c.MachineClient.ServiceList(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalMachineClient) ServiceRestart(ctx context.Context, in *machine.ServiceRestartRequest, opts ...grpc.CallOption) (*machine.ServiceRestartReply, error) {
|
||||
return c.MachineClient.ServiceRestart(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalMachineClient) ServiceStart(ctx context.Context, in *machine.ServiceStartRequest, opts ...grpc.CallOption) (*machine.ServiceStartReply, error) {
|
||||
return c.MachineClient.ServiceStart(ctx, in, opts...)
|
||||
}
|
||||
@ -1315,8 +1293,12 @@ func (c *LocalMachineClient) ServiceStop(ctx context.Context, in *machine.Servic
|
||||
return c.MachineClient.ServiceStop(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalMachineClient) ServiceRestart(ctx context.Context, in *machine.ServiceRestartRequest, opts ...grpc.CallOption) (*machine.ServiceRestartReply, error) {
|
||||
return c.MachineClient.ServiceRestart(ctx, in, opts...)
|
||||
func (c *LocalMachineClient) Shutdown(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*machine.ShutdownReply, error) {
|
||||
return c.MachineClient.Shutdown(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalMachineClient) Upgrade(ctx context.Context, in *machine.UpgradeRequest, opts ...grpc.CallOption) (*machine.UpgradeReply, error) {
|
||||
return c.MachineClient.Upgrade(ctx, in, opts...)
|
||||
}
|
||||
|
||||
func (c *LocalMachineClient) Start(ctx context.Context, in *machine.StartRequest, opts ...grpc.CallOption) (*machine.StartReply, error) {
|
||||
|
@ -2005,93 +2005,94 @@ func init() {
|
||||
func init() { proto.RegisterFile("machine/machine.proto", fileDescriptor_84b4f59d98cc997c) }
|
||||
|
||||
var fileDescriptor_84b4f59d98cc997c = []byte{
|
||||
// 1372 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xfd, 0x6e, 0x13, 0x47,
|
||||
0x10, 0x97, 0xed, 0xf8, 0x6b, 0x9c, 0x38, 0xb0, 0xf9, 0xa8, 0x31, 0xe1, 0xeb, 0xa0, 0x05, 0x21,
|
||||
0xc5, 0x41, 0x01, 0x2a, 0x0a, 0x6d, 0x05, 0x21, 0x20, 0xaa, 0x26, 0x01, 0x9d, 0x4b, 0xff, 0x68,
|
||||
0xab, 0x5a, 0x6b, 0x7b, 0x63, 0xaf, 0xb8, 0xbb, 0xbd, 0xde, 0xae, 0x83, 0x5c, 0xf5, 0x01, 0xaa,
|
||||
0xfe, 0xdb, 0x47, 0xe8, 0xcb, 0xf4, 0x35, 0xfa, 0x26, 0xd5, 0x7e, 0xdc, 0x7a, 0x7d, 0xce, 0x01,
|
||||
0x22, 0xfc, 0xe5, 0xdd, 0xd9, 0xd9, 0x99, 0xdf, 0x6f, 0x67, 0x76, 0x76, 0xce, 0xb0, 0x11, 0xe2,
|
||||
0xc1, 0x98, 0x46, 0x64, 0xc7, 0xfc, 0x76, 0xe2, 0x84, 0x09, 0x86, 0xaa, 0x66, 0xda, 0xbe, 0x38,
|
||||
0x62, 0x6c, 0x14, 0x90, 0x1d, 0x25, 0xee, 0x4f, 0x8e, 0x77, 0x48, 0x18, 0x8b, 0xa9, 0xd6, 0x6a,
|
||||
0x5f, 0xc9, 0x2e, 0x0a, 0x1a, 0x12, 0x2e, 0x70, 0x18, 0x1b, 0x85, 0xb5, 0x01, 0x0b, 0x43, 0x16,
|
||||
0xed, 0xe8, 0x1f, 0x2d, 0xf4, 0xf6, 0xa0, 0xe9, 0x93, 0x3e, 0x63, 0xc2, 0x27, 0x3c, 0x66, 0x11,
|
||||
0x27, 0xe8, 0x0e, 0xd4, 0x42, 0x22, 0xf0, 0x10, 0x0b, 0xdc, 0x2a, 0x5c, 0x2d, 0xdc, 0x6a, 0xec,
|
||||
0xae, 0x77, 0xcc, 0x96, 0x23, 0x36, 0x24, 0x87, 0x66, 0xcd, 0xb7, 0x5a, 0xde, 0x1e, 0x34, 0x52,
|
||||
0x1b, 0x71, 0x30, 0x45, 0x77, 0xa1, 0x96, 0x18, 0x63, 0xad, 0xc2, 0xd5, 0xd2, 0xad, 0xc6, 0xee,
|
||||
0x67, 0x9d, 0x94, 0xd0, 0xbc, 0x2f, 0xdf, 0x2a, 0x7a, 0x4f, 0x60, 0xc5, 0x27, 0x9c, 0x9c, 0x05,
|
||||
0xc6, 0x63, 0x00, 0x63, 0x42, 0xa2, 0xd8, 0x5d, 0x40, 0xb1, 0xe9, 0xa0, 0x70, 0x3c, 0x39, 0x20,
|
||||
0xf6, 0xe1, 0x5c, 0x77, 0x3c, 0x11, 0x43, 0xf6, 0x36, 0x3a, 0x03, 0x8e, 0xe7, 0xb0, 0x32, 0xb3,
|
||||
0x22, 0xa1, 0xdc, 0x5f, 0x80, 0x72, 0xc1, 0x42, 0xc9, 0xfa, 0x73, 0xd0, 0x7c, 0x01, 0xcd, 0xd7,
|
||||
0xf1, 0x28, 0xc1, 0x43, 0xe2, 0x93, 0xdf, 0x26, 0x84, 0x0b, 0xb4, 0x0e, 0x65, 0x1a, 0xe2, 0x11,
|
||||
0x51, 0x40, 0xea, 0xbe, 0x9e, 0x78, 0xaf, 0x61, 0xd5, 0xea, 0x7d, 0x2c, 0x68, 0x74, 0x0e, 0x4a,
|
||||
0x78, 0xf0, 0xa6, 0x55, 0x54, 0x86, 0xe5, 0xd0, 0xdb, 0x87, 0x65, 0x6b, 0x56, 0xb2, 0xb8, 0xb7,
|
||||
0xc0, 0xa2, 0x65, 0x59, 0x64, 0xfc, 0x3b, 0x24, 0xa6, 0xb0, 0xd6, 0x25, 0xc9, 0x09, 0x1d, 0x90,
|
||||
0x03, 0xca, 0xcf, 0x10, 0x5d, 0xb9, 0x83, 0x6b, 0x43, 0xbc, 0x55, 0x54, 0xee, 0xd7, 0x67, 0x87,
|
||||
0xa8, 0x17, 0xbe, 0x8b, 0x8e, 0x99, 0x6f, 0xb5, 0xbc, 0x03, 0x38, 0x37, 0xe7, 0x5a, 0x92, 0x78,
|
||||
0xb0, 0x40, 0x62, 0x2b, 0x6b, 0xc5, 0xc5, 0xe9, 0x10, 0xf9, 0xbb, 0x00, 0x0d, 0xc7, 0x0f, 0x6a,
|
||||
0x42, 0x91, 0x0e, 0x4d, 0x20, 0x8a, 0x74, 0x28, 0x63, 0xc3, 0x05, 0x16, 0xc4, 0x1c, 0xa1, 0x9e,
|
||||
0xa0, 0x0e, 0x54, 0xc8, 0x09, 0x89, 0x04, 0x6f, 0x95, 0x14, 0xcb, 0xcd, 0xac, 0xb7, 0x67, 0x6a,
|
||||
0xd5, 0x37, 0x5a, 0x52, 0x7f, 0x4c, 0x70, 0x20, 0xc6, 0xad, 0xa5, 0xd3, 0xf5, 0x5f, 0xa8, 0x55,
|
||||
0xdf, 0x68, 0x79, 0xdf, 0xc2, 0xca, 0x9c, 0x21, 0xb4, 0x6d, 0x1d, 0x6a, 0x7a, 0x1b, 0xa7, 0x3a,
|
||||
0x4c, 0xfd, 0x79, 0x7d, 0x58, 0x76, 0xe5, 0x32, 0x0d, 0x42, 0x3e, 0x32, 0xb4, 0xe4, 0x30, 0x87,
|
||||
0xd7, 0x6d, 0x28, 0x5a, 0x4e, 0xed, 0x8e, 0xae, 0x3c, 0x9d, 0xb4, 0xf2, 0x74, 0x7e, 0x48, 0x2b,
|
||||
0x8f, 0x5f, 0x14, 0xdc, 0xfb, 0xa7, 0x60, 0x41, 0x6a, 0xf4, 0xa8, 0x05, 0xd5, 0x49, 0xf4, 0x26,
|
||||
0x62, 0x6f, 0x23, 0xe5, 0xa9, 0xe6, 0xa7, 0x53, 0xb9, 0xa2, 0x99, 0x4d, 0x95, 0xbf, 0x9a, 0x9f,
|
||||
0x4e, 0xd1, 0x35, 0x58, 0x0e, 0x30, 0x17, 0xbd, 0x90, 0x70, 0x2e, 0xaf, 0x40, 0x49, 0xc1, 0x69,
|
||||
0x48, 0xd9, 0xa1, 0x16, 0xa1, 0x47, 0xa0, 0xa6, 0xbd, 0xc1, 0x18, 0x47, 0x23, 0x62, 0x4e, 0xf0,
|
||||
0x5d, 0xe8, 0x40, 0xaa, 0x3f, 0x55, 0xda, 0xde, 0xe7, 0x36, 0x51, 0xbb, 0x02, 0x27, 0x22, 0xbd,
|
||||
0x72, 0x99, 0x30, 0x7b, 0xbf, 0xc0, 0xfa, 0xbc, 0xda, 0x47, 0x27, 0x34, 0x82, 0x25, 0x99, 0x5c,
|
||||
0xe6, 0x5c, 0xd5, 0xd8, 0x3b, 0x82, 0xf3, 0xf3, 0xd6, 0x65, 0xce, 0x7e, 0xb5, 0x90, 0xb3, 0x97,
|
||||
0xb2, 0x41, 0x9d, 0xc3, 0xe2, 0x24, 0xed, 0x0d, 0x40, 0x56, 0x83, 0xc5, 0x79, 0x9c, 0x7e, 0x76,
|
||||
0xa8, 0x4b, 0xad, 0x4f, 0x4a, 0x69, 0x76, 0x0b, 0xb5, 0xf1, 0x0f, 0xbc, 0x85, 0x2e, 0x12, 0x87,
|
||||
0xd0, 0x4d, 0xd8, 0x30, 0x0a, 0xbe, 0x8c, 0x61, 0x7e, 0x9c, 0x7e, 0x85, 0xcd, 0xac, 0xe2, 0x27,
|
||||
0xa5, 0xe5, 0xdb, 0x33, 0xb3, 0xf6, 0x25, 0xb3, 0x47, 0x0b, 0xcc, 0xae, 0x64, 0x99, 0x65, 0xf0,
|
||||
0x38, 0xe4, 0x3c, 0x58, 0x7e, 0x57, 0xee, 0x3d, 0x2c, 0xb6, 0x0a, 0xde, 0x0d, 0x00, 0x27, 0x35,
|
||||
0x52, 0x64, 0x85, 0x19, 0x32, 0xa5, 0x75, 0x0d, 0x1a, 0xef, 0x08, 0xb8, 0x52, 0xb9, 0x0e, 0xf5,
|
||||
0x59, 0x40, 0xf2, 0xec, 0x7c, 0x03, 0x2b, 0x5d, 0x91, 0x10, 0x1c, 0xd2, 0x68, 0xb4, 0x2f, 0x8f,
|
||||
0x62, 0x1d, 0xca, 0xfd, 0xa9, 0x20, 0x5c, 0x69, 0x2e, 0xfb, 0x7a, 0x82, 0x36, 0xa1, 0x42, 0x92,
|
||||
0x84, 0x25, 0xdc, 0x1c, 0x91, 0x99, 0x79, 0xdb, 0xd0, 0x7c, 0xca, 0xe2, 0xe9, 0xcb, 0x89, 0xa5,
|
||||
0x74, 0x11, 0xea, 0x09, 0x63, 0xa2, 0x17, 0x63, 0x31, 0x36, 0xde, 0x6a, 0x52, 0xf0, 0x0a, 0x8b,
|
||||
0xb1, 0xd7, 0x87, 0xfa, 0x41, 0x37, 0xd5, 0x94, 0x90, 0x18, 0x13, 0x16, 0x12, 0x63, 0x42, 0x56,
|
||||
0x87, 0x84, 0x0c, 0x26, 0x09, 0x27, 0x69, 0x75, 0x30, 0x53, 0x74, 0x13, 0x56, 0xf5, 0x90, 0xb2,
|
||||
0xa8, 0x37, 0x24, 0xb1, 0x18, 0xab, 0x02, 0x51, 0xf6, 0x9b, 0x56, 0xbc, 0x2f, 0xa5, 0xde, 0xbf,
|
||||
0x05, 0xa8, 0x3d, 0xa7, 0x81, 0xae, 0xe1, 0x08, 0x96, 0x22, 0x1c, 0xa6, 0xcf, 0xa9, 0x1a, 0x4b,
|
||||
0x19, 0xa7, 0xbf, 0x6b, 0x07, 0x25, 0x5f, 0x8d, 0xa5, 0x2c, 0x64, 0x43, 0x5d, 0x73, 0x56, 0x7c,
|
||||
0x35, 0x46, 0x6d, 0xa8, 0x85, 0x6c, 0x48, 0x8f, 0x29, 0x19, 0xaa, 0x4a, 0x53, 0xf2, 0xed, 0x1c,
|
||||
0x6d, 0x40, 0x85, 0xf2, 0xde, 0x90, 0x26, 0xad, 0xb2, 0x82, 0x59, 0xa6, 0x7c, 0x9f, 0x26, 0xf2,
|
||||
0xf0, 0xd4, 0xc1, 0xb4, 0x2a, 0xba, 0x94, 0xaa, 0x89, 0x34, 0x1e, 0xd0, 0xe8, 0x4d, 0xab, 0xaa,
|
||||
0x41, 0xc8, 0x31, 0xba, 0x0e, 0x2b, 0x09, 0x09, 0xb0, 0xa0, 0x27, 0xa4, 0xa7, 0x10, 0xd6, 0xd4,
|
||||
0xe2, 0x72, 0x2a, 0x3c, 0xc2, 0x21, 0xf1, 0x02, 0x68, 0x1e, 0xb2, 0x89, 0x7c, 0x3d, 0x3e, 0x3e,
|
||||
0xb5, 0x6f, 0xe9, 0xea, 0x9e, 0x3e, 0xa9, 0xc8, 0x26, 0xab, 0xb2, 0xdc, 0x15, 0x58, 0xe8, 0x8a,
|
||||
0xcf, 0x65, 0x93, 0x97, 0x7a, 0x7b, 0x5f, 0x93, 0x37, 0x8f, 0xca, 0x49, 0xf0, 0x3f, 0xa0, 0x6e,
|
||||
0xed, 0xa2, 0xcb, 0x00, 0xc7, 0x34, 0x20, 0x7c, 0xca, 0x05, 0x09, 0x4d, 0x08, 0x1c, 0xc9, 0x5c,
|
||||
0x20, 0x96, 0x4c, 0x20, 0xb6, 0xa0, 0x8e, 0x4f, 0x30, 0x0d, 0x70, 0x3f, 0xd0, 0xd1, 0x58, 0xf2,
|
||||
0x67, 0x02, 0x74, 0x09, 0x20, 0x94, 0xe6, 0xc9, 0xb0, 0xc7, 0x22, 0x15, 0x94, 0xba, 0x5f, 0x37,
|
||||
0x92, 0x97, 0x91, 0xc7, 0x61, 0xf5, 0x47, 0xa2, 0x52, 0xe1, 0x0c, 0x07, 0xd6, 0x81, 0xea, 0x89,
|
||||
0x36, 0xa2, 0x80, 0xb9, 0x5d, 0x88, 0x31, 0xae, 0xba, 0x90, 0x54, 0x49, 0x76, 0x51, 0xd6, 0xe9,
|
||||
0xfb, 0xba, 0xa8, 0x0c, 0x3a, 0xe7, 0xe0, 0xfe, 0x2a, 0x40, 0xc3, 0x31, 0x2f, 0x9f, 0x69, 0x81,
|
||||
0xed, 0x33, 0x2d, 0xf0, 0x48, 0x4a, 0xf8, 0x18, 0xa7, 0xfd, 0x1b, 0x1f, 0xeb, 0xab, 0x3a, 0xa1,
|
||||
0x81, 0x30, 0x2f, 0xa5, 0x9e, 0xc8, 0x33, 0x1a, 0xb1, 0x5e, 0x4a, 0xc1, 0x9c, 0xd1, 0x88, 0x19,
|
||||
0xe3, 0xb2, 0x52, 0x30, 0xae, 0xb2, 0xb6, 0xee, 0x17, 0x19, 0x97, 0x41, 0xc0, 0xc9, 0x60, 0x6c,
|
||||
0x32, 0x56, 0x8d, 0x77, 0xff, 0xab, 0x40, 0xf5, 0x50, 0x43, 0x46, 0x5f, 0x43, 0xd5, 0xdc, 0x70,
|
||||
0x34, 0x8b, 0xff, 0xfc, 0x9d, 0x6f, 0x3b, 0x3d, 0x8c, 0x5b, 0x4b, 0xee, 0x14, 0xd0, 0x97, 0x50,
|
||||
0xd1, 0xb9, 0x82, 0x36, 0x17, 0x5e, 0xe9, 0x67, 0xf2, 0xd3, 0xa6, 0xbd, 0xbe, 0x90, 0x54, 0xf2,
|
||||
0x10, 0xb7, 0xa1, 0x78, 0xd0, 0x45, 0xb3, 0x64, 0xb5, 0x55, 0xa3, 0x7d, 0xde, 0xca, 0xd2, 0x4b,
|
||||
0xae, 0xdd, 0xe8, 0xef, 0x8e, 0x0f, 0x70, 0xe3, 0x7e, 0xc8, 0xdc, 0x83, 0xb2, 0xfa, 0x52, 0xc8,
|
||||
0xdd, 0xb6, 0x96, 0xfd, 0xa2, 0x90, 0xbb, 0x1e, 0x42, 0x2d, 0x6d, 0xea, 0x73, 0x37, 0x6e, 0x9e,
|
||||
0xd2, 0xff, 0xeb, 0xa7, 0xbe, 0x6a, 0x5a, 0x69, 0xe7, 0x38, 0xe7, 0x3f, 0x02, 0xda, 0x1b, 0x8b,
|
||||
0x0b, 0x72, 0xeb, 0x63, 0xdb, 0x9e, 0xca, 0x06, 0x36, 0xd7, 0xf3, 0x85, 0xd3, 0xdb, 0x5d, 0x69,
|
||||
0xe1, 0x85, 0xed, 0x05, 0xd5, 0x0b, 0x83, 0xb6, 0x72, 0xba, 0x0c, 0x0d, 0xa3, 0x9d, 0xb3, 0x2a,
|
||||
0x2d, 0x3d, 0xb3, 0x58, 0xe4, 0x13, 0x83, 0x2e, 0x9e, 0xfe, 0xb8, 0x6b, 0x3b, 0x17, 0x4e, 0x5f,
|
||||
0x94, 0x66, 0x8e, 0xa0, 0x39, 0xff, 0x66, 0xa2, 0xcb, 0xb9, 0x8f, 0xa9, 0x36, 0xb6, 0x95, 0xbb,
|
||||
0xae, 0xdb, 0x8e, 0xb2, 0x66, 0xe6, 0x34, 0xc5, 0xee, 0xee, 0xb5, 0xac, 0x38, 0x0e, 0xa6, 0x5e,
|
||||
0xe9, 0xcf, 0x62, 0x01, 0xdd, 0x87, 0x25, 0xc5, 0xc4, 0xf9, 0xe4, 0x70, 0x28, 0xa0, 0x8c, 0xd4,
|
||||
0x6e, 0x7b, 0x00, 0xd5, 0xf4, 0x62, 0xe5, 0xc5, 0x63, 0x63, 0xf1, 0xf6, 0xc7, 0xc1, 0x74, 0xef,
|
||||
0x7b, 0x58, 0x1d, 0xb0, 0xd0, 0xae, 0xe1, 0x98, 0xee, 0x81, 0xb9, 0x73, 0x4f, 0x62, 0xfa, 0xaa,
|
||||
0xf0, 0xd3, 0xed, 0x11, 0x15, 0xe3, 0x49, 0x5f, 0x56, 0xab, 0x1d, 0x81, 0x03, 0xc6, 0xb7, 0x75,
|
||||
0xd9, 0xe4, 0x7a, 0xb6, 0x83, 0x63, 0x9a, 0xfe, 0x8b, 0xd0, 0xaf, 0x28, 0x9f, 0x77, 0xff, 0x0f,
|
||||
0x00, 0x00, 0xff, 0xff, 0xa9, 0x42, 0x1a, 0x4f, 0x5f, 0x10, 0x00, 0x00,
|
||||
// 1388 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xe9, 0x6e, 0x1b, 0x37,
|
||||
0x10, 0x86, 0x24, 0xeb, 0x1a, 0xd9, 0x72, 0x42, 0x1f, 0x55, 0x14, 0xe7, 0xda, 0xa4, 0x4d, 0x10,
|
||||
0xc0, 0x72, 0xe0, 0x1c, 0xc8, 0xd1, 0x06, 0x89, 0xe3, 0x04, 0x29, 0x62, 0x3b, 0xc1, 0xaa, 0xe9,
|
||||
0x8f, 0xb6, 0xa8, 0x40, 0x49, 0xb4, 0x44, 0x64, 0x77, 0xb9, 0x5d, 0x52, 0x0e, 0x54, 0xf4, 0x01,
|
||||
0x8a, 0xfe, 0xed, 0x13, 0x14, 0x7d, 0x99, 0x3e, 0x56, 0xc1, 0x63, 0x29, 0x6a, 0x65, 0x39, 0x81,
|
||||
0x9d, 0x5f, 0x22, 0x87, 0xb3, 0x33, 0xdf, 0xc7, 0x19, 0x0e, 0x87, 0x82, 0xb5, 0x10, 0xf7, 0x86,
|
||||
0x34, 0x22, 0x5b, 0xe6, 0xb7, 0x15, 0x27, 0x4c, 0x30, 0x54, 0x36, 0xd3, 0xe6, 0xc5, 0x01, 0x63,
|
||||
0x83, 0x80, 0x6c, 0x29, 0x71, 0x77, 0x74, 0xb8, 0x45, 0xc2, 0x58, 0x8c, 0xb5, 0x56, 0xf3, 0x4a,
|
||||
0x76, 0x51, 0xd0, 0x90, 0x70, 0x81, 0xc3, 0xd8, 0x28, 0xac, 0xf4, 0x58, 0x18, 0xb2, 0x68, 0x4b,
|
||||
0xff, 0x68, 0xa1, 0xb7, 0x03, 0x75, 0x9f, 0x74, 0x19, 0x13, 0x3e, 0xe1, 0x31, 0x8b, 0x38, 0x41,
|
||||
0x77, 0xa0, 0x12, 0x12, 0x81, 0xfb, 0x58, 0xe0, 0x46, 0xee, 0x6a, 0xee, 0x56, 0x6d, 0x7b, 0xb5,
|
||||
0x65, 0x3e, 0x39, 0x60, 0x7d, 0xb2, 0x6f, 0xd6, 0x7c, 0xab, 0xe5, 0xed, 0x40, 0x2d, 0xb5, 0x11,
|
||||
0x07, 0x63, 0x74, 0x17, 0x2a, 0x89, 0x31, 0xd6, 0xc8, 0x5d, 0x2d, 0xdc, 0xaa, 0x6d, 0x7f, 0xd5,
|
||||
0x4a, 0x09, 0x4d, 0xfb, 0xf2, 0xad, 0xa2, 0xf7, 0x1c, 0x96, 0x7c, 0xc2, 0xc9, 0x59, 0x60, 0x3c,
|
||||
0x03, 0x30, 0x26, 0x24, 0x8a, 0xed, 0x19, 0x14, 0xeb, 0x0e, 0x0a, 0xc7, 0x93, 0x03, 0x62, 0x17,
|
||||
0xce, 0xb5, 0x87, 0x23, 0xd1, 0x67, 0x1f, 0xa3, 0x33, 0xe0, 0x78, 0x05, 0x4b, 0x13, 0x2b, 0x12,
|
||||
0xca, 0xfd, 0x19, 0x28, 0x17, 0x2c, 0x94, 0xac, 0x3f, 0x07, 0xcd, 0x37, 0x50, 0x7f, 0x1f, 0x0f,
|
||||
0x12, 0xdc, 0x27, 0x3e, 0xf9, 0x6d, 0x44, 0xb8, 0x40, 0xab, 0x50, 0xa4, 0x21, 0x1e, 0x10, 0x05,
|
||||
0xa4, 0xea, 0xeb, 0x89, 0xf7, 0x1e, 0x96, 0xad, 0xde, 0x69, 0x41, 0xa3, 0x73, 0x50, 0xc0, 0xbd,
|
||||
0x0f, 0x8d, 0xbc, 0x32, 0x2c, 0x87, 0xde, 0x2e, 0x2c, 0x5a, 0xb3, 0x92, 0xc5, 0xbd, 0x19, 0x16,
|
||||
0x0d, 0xcb, 0x22, 0xe3, 0xdf, 0x21, 0x31, 0x86, 0x95, 0x36, 0x49, 0x8e, 0x68, 0x8f, 0xec, 0x51,
|
||||
0x7e, 0x86, 0xe8, 0xca, 0x2f, 0xb8, 0x36, 0xc4, 0x1b, 0x79, 0xe5, 0x7e, 0x75, 0xb2, 0x89, 0x7a,
|
||||
0xe1, 0xfb, 0xe8, 0x90, 0xf9, 0x56, 0xcb, 0xdb, 0x83, 0x73, 0x53, 0xae, 0x25, 0x89, 0x87, 0x33,
|
||||
0x24, 0x36, 0xb2, 0x56, 0x5c, 0x9c, 0x0e, 0x91, 0xbf, 0x73, 0x50, 0x73, 0xfc, 0xa0, 0x3a, 0xe4,
|
||||
0x69, 0xdf, 0x04, 0x22, 0x4f, 0xfb, 0x32, 0x36, 0x5c, 0x60, 0x41, 0xcc, 0x16, 0xea, 0x09, 0x6a,
|
||||
0x41, 0x89, 0x1c, 0x91, 0x48, 0xf0, 0x46, 0x41, 0xb1, 0x5c, 0xcf, 0x7a, 0x7b, 0xa9, 0x56, 0x7d,
|
||||
0xa3, 0x25, 0xf5, 0x87, 0x04, 0x07, 0x62, 0xd8, 0x58, 0x38, 0x5e, 0xff, 0xb5, 0x5a, 0xf5, 0x8d,
|
||||
0x96, 0xf7, 0x14, 0x96, 0xa6, 0x0c, 0xa1, 0x4d, 0xeb, 0x50, 0xd3, 0x5b, 0x3b, 0xd6, 0x61, 0xea,
|
||||
0xcf, 0xeb, 0xc2, 0xa2, 0x2b, 0x97, 0x69, 0x10, 0xf2, 0x81, 0xa1, 0x25, 0x87, 0x73, 0x78, 0xdd,
|
||||
0x86, 0xbc, 0xe5, 0xd4, 0x6c, 0xe9, 0xca, 0xd3, 0x4a, 0x2b, 0x4f, 0xeb, 0x87, 0xb4, 0xf2, 0xf8,
|
||||
0x79, 0xc1, 0xbd, 0x7f, 0x73, 0x16, 0xa4, 0x46, 0x8f, 0x1a, 0x50, 0x1e, 0x45, 0x1f, 0x22, 0xf6,
|
||||
0x31, 0x52, 0x9e, 0x2a, 0x7e, 0x3a, 0x95, 0x2b, 0x9a, 0xd9, 0x58, 0xf9, 0xab, 0xf8, 0xe9, 0x14,
|
||||
0x5d, 0x83, 0xc5, 0x00, 0x73, 0xd1, 0x09, 0x09, 0xe7, 0xf2, 0x08, 0x14, 0x14, 0x9c, 0x9a, 0x94,
|
||||
0xed, 0x6b, 0x11, 0x7a, 0x02, 0x6a, 0xda, 0xe9, 0x0d, 0x71, 0x34, 0x20, 0x66, 0x07, 0x4f, 0x42,
|
||||
0x07, 0x52, 0xfd, 0x85, 0xd2, 0xf6, 0xbe, 0xb6, 0x89, 0xda, 0x16, 0x38, 0x11, 0xe9, 0x91, 0xcb,
|
||||
0x84, 0xd9, 0xfb, 0x05, 0x56, 0xa7, 0xd5, 0x4e, 0x9d, 0xd0, 0x08, 0x16, 0x64, 0x72, 0x99, 0x7d,
|
||||
0x55, 0x63, 0xef, 0x00, 0xce, 0x4f, 0x5b, 0x97, 0x39, 0xfb, 0x68, 0x26, 0x67, 0x2f, 0x65, 0x83,
|
||||
0x3a, 0x85, 0xc5, 0x49, 0xda, 0x1b, 0x80, 0xac, 0x06, 0x8b, 0xe7, 0x71, 0xfa, 0xd9, 0xa1, 0x2e,
|
||||
0xb5, 0xbe, 0x28, 0xa5, 0xc9, 0x29, 0xd4, 0xc6, 0x3f, 0xf3, 0x14, 0xba, 0x48, 0x1c, 0x42, 0x37,
|
||||
0x61, 0xcd, 0x28, 0xf8, 0x32, 0x86, 0xf3, 0xe3, 0xf4, 0x2b, 0xac, 0x67, 0x15, 0xbf, 0x28, 0x2d,
|
||||
0xdf, 0xee, 0x99, 0xb5, 0x2f, 0x99, 0x3d, 0x99, 0x61, 0x76, 0x25, 0xcb, 0x2c, 0x83, 0xc7, 0x21,
|
||||
0xe7, 0xc1, 0xe2, 0x49, 0xb9, 0xf7, 0x38, 0xdf, 0xc8, 0x79, 0x37, 0x00, 0x9c, 0xd4, 0x48, 0x91,
|
||||
0xe5, 0x26, 0xc8, 0x94, 0xd6, 0x35, 0xa8, 0x9d, 0x10, 0x70, 0xa5, 0x72, 0x1d, 0xaa, 0x93, 0x80,
|
||||
0xcc, 0xb3, 0xf3, 0x1d, 0x2c, 0xb5, 0x45, 0x42, 0x70, 0x48, 0xa3, 0xc1, 0xae, 0xdc, 0x8a, 0x55,
|
||||
0x28, 0x76, 0xc7, 0x82, 0x70, 0xa5, 0xb9, 0xe8, 0xeb, 0x09, 0x5a, 0x87, 0x12, 0x49, 0x12, 0x96,
|
||||
0x70, 0xb3, 0x45, 0x66, 0xe6, 0x6d, 0x42, 0xfd, 0x05, 0x8b, 0xc7, 0x6f, 0x47, 0x96, 0xd2, 0x45,
|
||||
0xa8, 0x26, 0x8c, 0x89, 0x4e, 0x8c, 0xc5, 0xd0, 0x78, 0xab, 0x48, 0xc1, 0x3b, 0x2c, 0x86, 0x5e,
|
||||
0x17, 0xaa, 0x7b, 0xed, 0x54, 0x53, 0x42, 0x62, 0x4c, 0x58, 0x48, 0x8c, 0x09, 0x59, 0x1d, 0x12,
|
||||
0xd2, 0x1b, 0x25, 0x9c, 0xa4, 0xd5, 0xc1, 0x4c, 0xd1, 0x4d, 0x58, 0xd6, 0x43, 0xca, 0xa2, 0x4e,
|
||||
0x9f, 0xc4, 0x62, 0xa8, 0x0a, 0x44, 0xd1, 0xaf, 0x5b, 0xf1, 0xae, 0x94, 0x7a, 0xff, 0xe5, 0xa0,
|
||||
0xf2, 0x8a, 0x06, 0xba, 0x86, 0x23, 0x58, 0x88, 0x70, 0x98, 0x5e, 0xa7, 0x6a, 0x2c, 0x65, 0x9c,
|
||||
0xfe, 0xae, 0x1d, 0x14, 0x7c, 0x35, 0x96, 0xb2, 0x90, 0xf5, 0x75, 0xcd, 0x59, 0xf2, 0xd5, 0x18,
|
||||
0x35, 0xa1, 0x12, 0xb2, 0x3e, 0x3d, 0xa4, 0xa4, 0xaf, 0x2a, 0x4d, 0xc1, 0xb7, 0x73, 0xb4, 0x06,
|
||||
0x25, 0xca, 0x3b, 0x7d, 0x9a, 0x34, 0x8a, 0x0a, 0x66, 0x91, 0xf2, 0x5d, 0x9a, 0xc8, 0xcd, 0x53,
|
||||
0x1b, 0xd3, 0x28, 0xe9, 0x52, 0xaa, 0x26, 0xd2, 0x78, 0x40, 0xa3, 0x0f, 0x8d, 0xb2, 0x06, 0x21,
|
||||
0xc7, 0xe8, 0x3a, 0x2c, 0x25, 0x24, 0xc0, 0x82, 0x1e, 0x91, 0x8e, 0x42, 0x58, 0x51, 0x8b, 0x8b,
|
||||
0xa9, 0xf0, 0x00, 0x87, 0xc4, 0x0b, 0xa0, 0xbe, 0xcf, 0x46, 0xf2, 0xf6, 0x38, 0x7d, 0x6a, 0xdf,
|
||||
0xd2, 0xd5, 0x3d, 0xbd, 0x52, 0x91, 0x4d, 0x56, 0x65, 0xb9, 0x2d, 0xb0, 0xd0, 0x15, 0x9f, 0xcb,
|
||||
0x26, 0x2f, 0xf5, 0xf6, 0xa9, 0x26, 0x6f, 0x1a, 0x95, 0x93, 0xe0, 0x7f, 0x40, 0xd5, 0xda, 0x45,
|
||||
0x97, 0x01, 0x0e, 0x69, 0x40, 0xf8, 0x98, 0x0b, 0x12, 0x9a, 0x10, 0x38, 0x92, 0xa9, 0x40, 0x2c,
|
||||
0x98, 0x40, 0x6c, 0x40, 0x15, 0x1f, 0x61, 0x1a, 0xe0, 0x6e, 0xa0, 0xa3, 0xb1, 0xe0, 0x4f, 0x04,
|
||||
0xe8, 0x12, 0x40, 0x28, 0xcd, 0x93, 0x7e, 0x87, 0x45, 0x2a, 0x28, 0x55, 0xbf, 0x6a, 0x24, 0x6f,
|
||||
0x23, 0x8f, 0xc3, 0xf2, 0x8f, 0x44, 0xa5, 0xc2, 0x19, 0x36, 0xac, 0x05, 0xe5, 0x23, 0x6d, 0x44,
|
||||
0x01, 0x73, 0xbb, 0x10, 0x63, 0x5c, 0x75, 0x21, 0xa9, 0x92, 0xec, 0xa2, 0xac, 0xd3, 0x4f, 0x75,
|
||||
0x51, 0x19, 0x74, 0xce, 0xc6, 0xfd, 0x95, 0x83, 0x9a, 0x63, 0x5e, 0x5e, 0xd3, 0x02, 0xdb, 0x6b,
|
||||
0x5a, 0xe0, 0x81, 0x94, 0xf0, 0x21, 0x4e, 0xfb, 0x37, 0x3e, 0xd4, 0x47, 0x75, 0x44, 0x03, 0x61,
|
||||
0x6e, 0x4a, 0x3d, 0x91, 0x7b, 0x34, 0x60, 0x9d, 0x94, 0x82, 0xd9, 0xa3, 0x01, 0x33, 0xc6, 0x65,
|
||||
0xa5, 0x60, 0x5c, 0x65, 0x6d, 0xd5, 0xcf, 0x33, 0x2e, 0x83, 0x80, 0x93, 0xde, 0xd0, 0x64, 0xac,
|
||||
0x1a, 0x6f, 0xff, 0x53, 0x86, 0xf2, 0xbe, 0x86, 0x8c, 0xbe, 0x85, 0xb2, 0x39, 0xe1, 0x68, 0x12,
|
||||
0xff, 0xe9, 0x33, 0xdf, 0x74, 0x7a, 0x18, 0xb7, 0x96, 0xdc, 0xc9, 0xa1, 0xa7, 0x00, 0x6f, 0x46,
|
||||
0x5d, 0xd2, 0x63, 0xd1, 0x21, 0x1d, 0xa0, 0xf5, 0x99, 0x9b, 0xfa, 0xa5, 0x7c, 0xde, 0x9c, 0xf0,
|
||||
0xfd, 0x26, 0xe4, 0xf7, 0xda, 0x68, 0x92, 0xb4, 0xb6, 0x7a, 0x34, 0xcf, 0x5b, 0x59, 0x7a, 0xd8,
|
||||
0xef, 0xe4, 0xd0, 0x03, 0x28, 0xe9, 0xd4, 0x9c, 0xeb, 0x6a, 0x75, 0x26, 0x87, 0x65, 0xcc, 0x1e,
|
||||
0x40, 0x49, 0xbf, 0x5b, 0x3e, 0xe3, 0x3b, 0xf7, 0x21, 0x74, 0x0f, 0x8a, 0xea, 0xa5, 0x31, 0xf7,
|
||||
0xb3, 0x95, 0xec, 0x8b, 0x44, 0x7e, 0xf5, 0xcc, 0xf6, 0x99, 0xb2, 0x13, 0x9d, 0xfb, 0xed, 0x85,
|
||||
0xe3, 0xfb, 0x56, 0x69, 0xe1, 0x00, 0xea, 0xd3, 0x77, 0x0d, 0xba, 0x3c, 0xf7, 0x12, 0xd2, 0xdb,
|
||||
0xb5, 0x31, 0x77, 0x5d, 0xda, 0x7b, 0x6d, 0x9b, 0x44, 0x75, 0xf5, 0xa0, 0x8d, 0x39, 0xed, 0x87,
|
||||
0xb6, 0xd5, 0x9c, 0xb3, 0x2a, 0x2d, 0xbd, 0xb4, 0xdc, 0xe4, 0xdd, 0x83, 0x2e, 0x1e, 0x7f, 0xeb,
|
||||
0x6b, 0x3b, 0x17, 0x8e, 0x5f, 0x94, 0x66, 0x1e, 0x43, 0x25, 0x7d, 0x37, 0x7d, 0x4e, 0xd6, 0x4c,
|
||||
0x3d, 0xc6, 0x1e, 0x41, 0xd9, 0xbc, 0x56, 0x9c, 0x8c, 0x9d, 0x7e, 0x67, 0x35, 0xd7, 0x66, 0x17,
|
||||
0x74, 0xdb, 0x52, 0xd4, 0x1b, 0xe0, 0x34, 0xd5, 0x2e, 0xf3, 0x95, 0xac, 0x38, 0x0e, 0xc6, 0x5e,
|
||||
0xe1, 0xcf, 0x7c, 0x0e, 0xdd, 0x87, 0x05, 0x45, 0xd8, 0x79, 0xb2, 0x38, 0x4c, 0x51, 0x46, 0x6a,
|
||||
0x3f, 0x7b, 0x08, 0xe5, 0xf4, 0x60, 0xce, 0xa3, 0xb9, 0x36, 0x5b, 0x3d, 0xe2, 0x60, 0xbc, 0xf3,
|
||||
0x06, 0x96, 0x7b, 0x2c, 0xb4, 0x6b, 0x38, 0xa6, 0x3b, 0x60, 0xce, 0xec, 0xf3, 0x98, 0xbe, 0xcb,
|
||||
0xfd, 0x74, 0x7b, 0x40, 0xc5, 0x70, 0xd4, 0x95, 0xd5, 0x6e, 0x4b, 0xe0, 0x80, 0xf1, 0x4d, 0x5d,
|
||||
0x76, 0xb9, 0x9e, 0x6d, 0xe1, 0x98, 0xa6, 0xff, 0x42, 0x74, 0x4b, 0xca, 0xe7, 0xdd, 0xff, 0x03,
|
||||
0x00, 0x00, 0xff, 0xff, 0x35, 0x80, 0xc3, 0xe3, 0x9f, 0x10, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
@ -2107,16 +2108,17 @@ const _ = grpc.SupportPackageIsVersion4
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type MachineClient interface {
|
||||
CopyOut(ctx context.Context, in *CopyOutRequest, opts ...grpc.CallOption) (Machine_CopyOutClient, error)
|
||||
Mounts(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*MountsReply, error)
|
||||
Kubeconfig(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (Machine_KubeconfigClient, error)
|
||||
LS(ctx context.Context, in *LSRequest, opts ...grpc.CallOption) (Machine_LSClient, error)
|
||||
Mounts(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*MountsReply, error)
|
||||
Reboot(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*RebootReply, error)
|
||||
Reset(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ResetReply, error)
|
||||
Shutdown(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ShutdownReply, error)
|
||||
Upgrade(ctx context.Context, in *UpgradeRequest, opts ...grpc.CallOption) (*UpgradeReply, error)
|
||||
ServiceList(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ServiceListReply, error)
|
||||
ServiceRestart(ctx context.Context, in *ServiceRestartRequest, opts ...grpc.CallOption) (*ServiceRestartReply, error)
|
||||
ServiceStart(ctx context.Context, in *ServiceStartRequest, opts ...grpc.CallOption) (*ServiceStartReply, error)
|
||||
ServiceStop(ctx context.Context, in *ServiceStopRequest, opts ...grpc.CallOption) (*ServiceStopReply, error)
|
||||
ServiceRestart(ctx context.Context, in *ServiceRestartRequest, opts ...grpc.CallOption) (*ServiceRestartReply, error)
|
||||
Shutdown(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ShutdownReply, error)
|
||||
Upgrade(ctx context.Context, in *UpgradeRequest, opts ...grpc.CallOption) (*UpgradeReply, error)
|
||||
Start(ctx context.Context, in *StartRequest, opts ...grpc.CallOption) (*StartReply, error)
|
||||
Stop(ctx context.Context, in *StopRequest, opts ...grpc.CallOption) (*StopReply, error)
|
||||
Version(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*VersionReply, error)
|
||||
@ -2162,17 +2164,40 @@ func (x *machineCopyOutClient) Recv() (*StreamingData, error) {
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func (c *machineClient) Mounts(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*MountsReply, error) {
|
||||
out := new(MountsReply)
|
||||
err := c.cc.Invoke(ctx, "/machine.Machine/Mounts", in, out, opts...)
|
||||
func (c *machineClient) Kubeconfig(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (Machine_KubeconfigClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &_Machine_serviceDesc.Streams[1], "/machine.Machine/Kubeconfig", opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
x := &machineKubeconfigClient{stream}
|
||||
if err := x.ClientStream.SendMsg(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := x.ClientStream.CloseSend(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return x, nil
|
||||
}
|
||||
|
||||
type Machine_KubeconfigClient interface {
|
||||
Recv() (*StreamingData, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
type machineKubeconfigClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *machineKubeconfigClient) Recv() (*StreamingData, error) {
|
||||
m := new(StreamingData)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func (c *machineClient) LS(ctx context.Context, in *LSRequest, opts ...grpc.CallOption) (Machine_LSClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &_Machine_serviceDesc.Streams[1], "/machine.Machine/LS", opts...)
|
||||
stream, err := c.cc.NewStream(ctx, &_Machine_serviceDesc.Streams[2], "/machine.Machine/LS", opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -2203,6 +2228,15 @@ func (x *machineLSClient) Recv() (*FileInfo, error) {
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func (c *machineClient) Mounts(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*MountsReply, error) {
|
||||
out := new(MountsReply)
|
||||
err := c.cc.Invoke(ctx, "/machine.Machine/Mounts", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *machineClient) Reboot(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*RebootReply, error) {
|
||||
out := new(RebootReply)
|
||||
err := c.cc.Invoke(ctx, "/machine.Machine/Reboot", in, out, opts...)
|
||||
@ -2221,24 +2255,6 @@ func (c *machineClient) Reset(ctx context.Context, in *empty.Empty, opts ...grpc
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *machineClient) Shutdown(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ShutdownReply, error) {
|
||||
out := new(ShutdownReply)
|
||||
err := c.cc.Invoke(ctx, "/machine.Machine/Shutdown", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *machineClient) Upgrade(ctx context.Context, in *UpgradeRequest, opts ...grpc.CallOption) (*UpgradeReply, error) {
|
||||
out := new(UpgradeReply)
|
||||
err := c.cc.Invoke(ctx, "/machine.Machine/Upgrade", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *machineClient) ServiceList(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ServiceListReply, error) {
|
||||
out := new(ServiceListReply)
|
||||
err := c.cc.Invoke(ctx, "/machine.Machine/ServiceList", in, out, opts...)
|
||||
@ -2248,6 +2264,15 @@ func (c *machineClient) ServiceList(ctx context.Context, in *empty.Empty, opts .
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *machineClient) ServiceRestart(ctx context.Context, in *ServiceRestartRequest, opts ...grpc.CallOption) (*ServiceRestartReply, error) {
|
||||
out := new(ServiceRestartReply)
|
||||
err := c.cc.Invoke(ctx, "/machine.Machine/ServiceRestart", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *machineClient) ServiceStart(ctx context.Context, in *ServiceStartRequest, opts ...grpc.CallOption) (*ServiceStartReply, error) {
|
||||
out := new(ServiceStartReply)
|
||||
err := c.cc.Invoke(ctx, "/machine.Machine/ServiceStart", in, out, opts...)
|
||||
@ -2266,9 +2291,18 @@ func (c *machineClient) ServiceStop(ctx context.Context, in *ServiceStopRequest,
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *machineClient) ServiceRestart(ctx context.Context, in *ServiceRestartRequest, opts ...grpc.CallOption) (*ServiceRestartReply, error) {
|
||||
out := new(ServiceRestartReply)
|
||||
err := c.cc.Invoke(ctx, "/machine.Machine/ServiceRestart", in, out, opts...)
|
||||
func (c *machineClient) Shutdown(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ShutdownReply, error) {
|
||||
out := new(ShutdownReply)
|
||||
err := c.cc.Invoke(ctx, "/machine.Machine/Shutdown", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *machineClient) Upgrade(ctx context.Context, in *UpgradeRequest, opts ...grpc.CallOption) (*UpgradeReply, error) {
|
||||
out := new(UpgradeReply)
|
||||
err := c.cc.Invoke(ctx, "/machine.Machine/Upgrade", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -2307,16 +2341,17 @@ func (c *machineClient) Version(ctx context.Context, in *empty.Empty, opts ...gr
|
||||
// MachineServer is the server API for Machine service.
|
||||
type MachineServer interface {
|
||||
CopyOut(*CopyOutRequest, Machine_CopyOutServer) error
|
||||
Mounts(context.Context, *empty.Empty) (*MountsReply, error)
|
||||
Kubeconfig(*empty.Empty, Machine_KubeconfigServer) error
|
||||
LS(*LSRequest, Machine_LSServer) error
|
||||
Mounts(context.Context, *empty.Empty) (*MountsReply, error)
|
||||
Reboot(context.Context, *empty.Empty) (*RebootReply, error)
|
||||
Reset(context.Context, *empty.Empty) (*ResetReply, error)
|
||||
Shutdown(context.Context, *empty.Empty) (*ShutdownReply, error)
|
||||
Upgrade(context.Context, *UpgradeRequest) (*UpgradeReply, error)
|
||||
ServiceList(context.Context, *empty.Empty) (*ServiceListReply, error)
|
||||
ServiceRestart(context.Context, *ServiceRestartRequest) (*ServiceRestartReply, error)
|
||||
ServiceStart(context.Context, *ServiceStartRequest) (*ServiceStartReply, error)
|
||||
ServiceStop(context.Context, *ServiceStopRequest) (*ServiceStopReply, error)
|
||||
ServiceRestart(context.Context, *ServiceRestartRequest) (*ServiceRestartReply, error)
|
||||
Shutdown(context.Context, *empty.Empty) (*ShutdownReply, error)
|
||||
Upgrade(context.Context, *UpgradeRequest) (*UpgradeReply, error)
|
||||
Start(context.Context, *StartRequest) (*StartReply, error)
|
||||
Stop(context.Context, *StopRequest) (*StopReply, error)
|
||||
Version(context.Context, *empty.Empty) (*VersionReply, error)
|
||||
@ -2347,22 +2382,25 @@ func (x *machineCopyOutServer) Send(m *StreamingData) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func _Machine_Mounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(empty.Empty)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
func _Machine_Kubeconfig_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
m := new(empty.Empty)
|
||||
if err := stream.RecvMsg(m); err != nil {
|
||||
return err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MachineServer).Mounts(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/machine.Machine/Mounts",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MachineServer).Mounts(ctx, req.(*empty.Empty))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
return srv.(MachineServer).Kubeconfig(m, &machineKubeconfigServer{stream})
|
||||
}
|
||||
|
||||
type Machine_KubeconfigServer interface {
|
||||
Send(*StreamingData) error
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type machineKubeconfigServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *machineKubeconfigServer) Send(m *StreamingData) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func _Machine_LS_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
@ -2386,6 +2424,24 @@ func (x *machineLSServer) Send(m *FileInfo) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func _Machine_Mounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(empty.Empty)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MachineServer).Mounts(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/machine.Machine/Mounts",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MachineServer).Mounts(ctx, req.(*empty.Empty))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Machine_Reboot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(empty.Empty)
|
||||
if err := dec(in); err != nil {
|
||||
@ -2422,42 +2478,6 @@ func _Machine_Reset_Handler(srv interface{}, ctx context.Context, dec func(inter
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Machine_Shutdown_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(empty.Empty)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MachineServer).Shutdown(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/machine.Machine/Shutdown",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MachineServer).Shutdown(ctx, req.(*empty.Empty))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Machine_Upgrade_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UpgradeRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MachineServer).Upgrade(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/machine.Machine/Upgrade",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MachineServer).Upgrade(ctx, req.(*UpgradeRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Machine_ServiceList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(empty.Empty)
|
||||
if err := dec(in); err != nil {
|
||||
@ -2476,6 +2496,24 @@ func _Machine_ServiceList_Handler(srv interface{}, ctx context.Context, dec func
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Machine_ServiceRestart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ServiceRestartRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MachineServer).ServiceRestart(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/machine.Machine/ServiceRestart",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MachineServer).ServiceRestart(ctx, req.(*ServiceRestartRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Machine_ServiceStart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ServiceStartRequest)
|
||||
if err := dec(in); err != nil {
|
||||
@ -2512,20 +2550,38 @@ func _Machine_ServiceStop_Handler(srv interface{}, ctx context.Context, dec func
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Machine_ServiceRestart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ServiceRestartRequest)
|
||||
func _Machine_Shutdown_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(empty.Empty)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MachineServer).ServiceRestart(ctx, in)
|
||||
return srv.(MachineServer).Shutdown(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/machine.Machine/ServiceRestart",
|
||||
FullMethod: "/machine.Machine/Shutdown",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MachineServer).ServiceRestart(ctx, req.(*ServiceRestartRequest))
|
||||
return srv.(MachineServer).Shutdown(ctx, req.(*empty.Empty))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Machine_Upgrade_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UpgradeRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MachineServer).Upgrade(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/machine.Machine/Upgrade",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MachineServer).Upgrade(ctx, req.(*UpgradeRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
@ -2600,18 +2656,14 @@ var _Machine_serviceDesc = grpc.ServiceDesc{
|
||||
MethodName: "Reset",
|
||||
Handler: _Machine_Reset_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "Shutdown",
|
||||
Handler: _Machine_Shutdown_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "Upgrade",
|
||||
Handler: _Machine_Upgrade_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ServiceList",
|
||||
Handler: _Machine_ServiceList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ServiceRestart",
|
||||
Handler: _Machine_ServiceRestart_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ServiceStart",
|
||||
Handler: _Machine_ServiceStart_Handler,
|
||||
@ -2621,8 +2673,12 @@ var _Machine_serviceDesc = grpc.ServiceDesc{
|
||||
Handler: _Machine_ServiceStop_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ServiceRestart",
|
||||
Handler: _Machine_ServiceRestart_Handler,
|
||||
MethodName: "Shutdown",
|
||||
Handler: _Machine_Shutdown_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "Upgrade",
|
||||
Handler: _Machine_Upgrade_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "Start",
|
||||
@ -2643,6 +2699,11 @@ var _Machine_serviceDesc = grpc.ServiceDesc{
|
||||
Handler: _Machine_CopyOut_Handler,
|
||||
ServerStreams: true,
|
||||
},
|
||||
{
|
||||
StreamName: "Kubeconfig",
|
||||
Handler: _Machine_Kubeconfig_Handler,
|
||||
ServerStreams: true,
|
||||
},
|
||||
{
|
||||
StreamName: "LS",
|
||||
Handler: _Machine_LS_Handler,
|
||||
|
@ -14,16 +14,17 @@ import "common/common.proto";
|
||||
// The machine service definition.
|
||||
service Machine {
|
||||
rpc CopyOut(CopyOutRequest) returns (stream StreamingData);
|
||||
rpc Mounts(google.protobuf.Empty) returns (MountsReply);
|
||||
rpc Kubeconfig(google.protobuf.Empty) returns (stream StreamingData);
|
||||
rpc LS(LSRequest) returns (stream FileInfo);
|
||||
rpc Mounts(google.protobuf.Empty) returns (MountsReply);
|
||||
rpc Reboot(google.protobuf.Empty) returns (RebootReply);
|
||||
rpc Reset(google.protobuf.Empty) returns (ResetReply);
|
||||
rpc Shutdown(google.protobuf.Empty) returns (ShutdownReply);
|
||||
rpc Upgrade(UpgradeRequest) returns (UpgradeReply);
|
||||
rpc ServiceList(google.protobuf.Empty) returns (ServiceListReply);
|
||||
rpc ServiceRestart(ServiceRestartRequest) returns (ServiceRestartReply);
|
||||
rpc ServiceStart(ServiceStartRequest) returns (ServiceStartReply);
|
||||
rpc ServiceStop(ServiceStopRequest) returns (ServiceStopReply);
|
||||
rpc ServiceRestart(ServiceRestartRequest) returns (ServiceRestartReply);
|
||||
rpc Shutdown(google.protobuf.Empty) returns (ShutdownReply);
|
||||
rpc Upgrade(UpgradeRequest) returns (UpgradeReply);
|
||||
|
||||
rpc Start(StartRequest) returns (StartReply) {
|
||||
option deprecated = true;
|
||||
|
142
api/os/os.pb.go
142
api/os/os.pb.go
@ -1001,61 +1001,60 @@ func init() {
|
||||
func init() { proto.RegisterFile("os/os.proto", fileDescriptor_b20a722d09fd3254) }
|
||||
|
||||
var fileDescriptor_b20a722d09fd3254 = []byte{
|
||||
// 853 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0x51, 0x6f, 0xdb, 0x36,
|
||||
0x10, 0x9e, 0x6c, 0xcb, 0xb2, 0xce, 0x89, 0xec, 0x30, 0x6d, 0xa1, 0xb9, 0x43, 0x91, 0x09, 0x28,
|
||||
0x9a, 0x76, 0x88, 0xd5, 0x79, 0x0f, 0x1d, 0xb0, 0x01, 0x43, 0x1a, 0xf7, 0x21, 0xd8, 0x9a, 0x14,
|
||||
0x6c, 0xf7, 0xb0, 0x3d, 0x2c, 0xa0, 0x25, 0xd6, 0x21, 0x66, 0x89, 0x9c, 0x48, 0x15, 0xf3, 0x3f,
|
||||
0xd9, 0xdb, 0x5e, 0xf6, 0xe7, 0xf6, 0x2f, 0x06, 0x92, 0x92, 0x2c, 0xa7, 0xdd, 0xda, 0x04, 0x58,
|
||||
0x9f, 0x24, 0x7e, 0x77, 0xbc, 0xe3, 0x7d, 0xf7, 0xf1, 0x08, 0x43, 0x2e, 0x63, 0x2e, 0xa7, 0xa2,
|
||||
0xe0, 0x8a, 0xa3, 0x0e, 0x97, 0x93, 0xbb, 0x4b, 0xce, 0x97, 0x2b, 0x1a, 0x1b, 0x64, 0x51, 0xbe,
|
||||
0x8e, 0x69, 0x26, 0xd4, 0xda, 0x3a, 0x4c, 0xf6, 0x13, 0x9e, 0x65, 0x3c, 0x8f, 0xed, 0xc7, 0x82,
|
||||
0xd1, 0x2f, 0xb0, 0x77, 0xc2, 0x73, 0x45, 0x58, 0x4e, 0x0b, 0x89, 0xe9, 0x6f, 0x25, 0x95, 0x0a,
|
||||
0x7d, 0x06, 0x7e, 0x4e, 0x32, 0x2a, 0x05, 0x49, 0x68, 0xe8, 0x1c, 0x38, 0x87, 0x3e, 0xde, 0x00,
|
||||
0xe8, 0x0b, 0xe8, 0xa7, 0x05, 0x7b, 0x43, 0x8b, 0xb0, 0x73, 0xe0, 0x1c, 0x06, 0xb3, 0xfd, 0x29,
|
||||
0x97, 0xd3, 0x26, 0xc8, 0xdc, 0x98, 0x70, 0xe5, 0x12, 0xfd, 0xe5, 0x80, 0xdf, 0xd8, 0xde, 0x13,
|
||||
0x38, 0x80, 0x0e, 0x4b, 0x4d, 0x50, 0x1f, 0x77, 0x58, 0x8a, 0x6e, 0x81, 0xcb, 0x32, 0xb2, 0xa4,
|
||||
0x61, 0xd7, 0x40, 0x76, 0x81, 0xc6, 0xd0, 0x15, 0x2c, 0x0d, 0x7b, 0x07, 0xce, 0xe1, 0x2e, 0xd6,
|
||||
0xbf, 0xe8, 0x0e, 0xf4, 0xa5, 0x22, 0xaa, 0x94, 0xa1, 0x6b, 0x1c, 0xab, 0x15, 0xba, 0x0d, 0x7d,
|
||||
0xc1, 0xd3, 0x0b, 0x96, 0x86, 0x7d, 0x1b, 0x40, 0xf0, 0xf4, 0x34, 0x45, 0x08, 0x7a, 0x3a, 0x67,
|
||||
0xe8, 0x19, 0xd0, 0xfc, 0x47, 0xaa, 0x45, 0x03, 0xa6, 0x52, 0xf0, 0x5c, 0x52, 0xf4, 0x18, 0x06,
|
||||
0x19, 0x55, 0x24, 0x25, 0x8a, 0x98, 0xc3, 0x0e, 0x67, 0xb7, 0xa6, 0x15, 0x79, 0x67, 0x3c, 0xa5,
|
||||
0xcf, 0x2b, 0x1b, 0x6e, 0xbc, 0xd0, 0x11, 0x40, 0xd2, 0xb0, 0x19, 0x76, 0x0e, 0xba, 0x87, 0xc3,
|
||||
0xd9, 0xee, 0x16, 0x3d, 0xb8, 0xe5, 0x10, 0xcd, 0x61, 0xd4, 0x26, 0x5f, 0xac, 0xd6, 0xe8, 0x4b,
|
||||
0x18, 0x14, 0x55, 0xfe, 0xd0, 0x31, 0xfb, 0x6f, 0x6f, 0xef, 0xaf, 0x8c, 0xb8, 0x71, 0x8b, 0x2e,
|
||||
0x61, 0xf8, 0x03, 0x5f, 0x7e, 0x60, 0xf3, 0xae, 0x72, 0xbc, 0x69, 0x66, 0xf7, 0xfd, 0xcd, 0x44,
|
||||
0x30, 0x7e, 0x51, 0xf0, 0x84, 0x4a, 0x49, 0xeb, 0x74, 0xd1, 0x31, 0x04, 0x2d, 0x4c, 0x97, 0x10,
|
||||
0xbf, 0x55, 0x82, 0x09, 0x5a, 0x79, 0xbd, 0xa3, 0x80, 0x1c, 0x46, 0x57, 0x8c, 0x37, 0xa0, 0xfe,
|
||||
0x21, 0xf8, 0xa2, 0x3e, 0x47, 0xc5, 0xfc, 0xb0, 0x9d, 0x76, 0x63, 0x8d, 0xfe, 0xe8, 0x80, 0x57,
|
||||
0xc1, 0xb5, 0x9a, 0x74, 0x0e, 0xd7, 0xaa, 0x09, 0x41, 0x4f, 0x88, 0x8a, 0x23, 0x17, 0x9b, 0x7f,
|
||||
0xad, 0x44, 0xad, 0xa9, 0x46, 0x89, 0x66, 0x81, 0x42, 0xf0, 0xd4, 0x65, 0x41, 0x49, 0x2a, 0x8d,
|
||||
0x1a, 0x5d, 0x5c, 0x2f, 0xd1, 0xa7, 0x30, 0x48, 0x44, 0x79, 0xa1, 0x58, 0x46, 0x8d, 0x26, 0x1d,
|
||||
0xec, 0x25, 0xa2, 0x7c, 0xc5, 0x32, 0x8a, 0xee, 0x43, 0xf0, 0x86, 0x15, 0xaa, 0x24, 0xab, 0x8b,
|
||||
0x8c, 0x66, 0xbc, 0x58, 0x1b, 0x71, 0xf6, 0xf0, 0x6e, 0x85, 0x3e, 0x37, 0x20, 0x7a, 0x00, 0xa3,
|
||||
0x82, 0x4a, 0x96, 0xd2, 0x5c, 0xd5, 0x7e, 0x9e, 0xf1, 0x0b, 0x6a, 0xb8, 0x72, 0x0c, 0xc1, 0xd3,
|
||||
0xc4, 0x90, 0x3c, 0x0d, 0x07, 0xe6, 0x70, 0xf5, 0x12, 0xdd, 0x03, 0xa0, 0xbf, 0xd3, 0xa4, 0x54,
|
||||
0x64, 0xb1, 0xa2, 0xa1, 0x6f, 0x8c, 0x2d, 0x44, 0x17, 0x4a, 0x8a, 0xa5, 0x0c, 0xc1, 0xde, 0x03,
|
||||
0xfd, 0x1f, 0xfd, 0x0a, 0x01, 0xa6, 0x52, 0x91, 0x42, 0x7d, 0x04, 0x39, 0x9d, 0xc0, 0xa8, 0x49,
|
||||
0x76, 0xd3, 0xbe, 0x47, 0xdf, 0xc1, 0x4e, 0x13, 0xe4, 0x3f, 0xd4, 0x77, 0x25, 0x51, 0x4b, 0x7d,
|
||||
0x3f, 0xc1, 0xce, 0x4b, 0x45, 0xd4, 0xff, 0x31, 0xfc, 0x08, 0xec, 0x56, 0xa1, 0x6f, 0x2c, 0xeb,
|
||||
0x7b, 0x56, 0x79, 0xb5, 0xa4, 0x07, 0x3a, 0x9d, 0x8e, 0x69, 0x35, 0x28, 0xa3, 0x6f, 0x00, 0xaa,
|
||||
0x14, 0xba, 0xf8, 0xa3, 0xb7, 0x8a, 0xdf, 0xab, 0x37, 0xbc, 0xeb, 0xe2, 0xfd, 0xe9, 0x40, 0x4f,
|
||||
0xdb, 0xae, 0xd9, 0xe4, 0xcf, 0x61, 0xc7, 0x4a, 0xf2, 0xa2, 0x94, 0x7a, 0x3c, 0xf7, 0x8c, 0x30,
|
||||
0x87, 0x16, 0xfb, 0x51, 0x43, 0xe8, 0x2e, 0xf8, 0xfa, 0x02, 0x58, 0xbb, 0x6b, 0xec, 0xfa, 0x46,
|
||||
0x58, 0xe3, 0x87, 0xcf, 0xe5, 0x47, 0x8f, 0x5a, 0x13, 0xd2, 0x92, 0x8b, 0x02, 0x80, 0x93, 0xf3,
|
||||
0xb3, 0x57, 0xc7, 0xa7, 0x67, 0xcf, 0xf0, 0x7c, 0xfc, 0x09, 0xf2, 0xa0, 0x7b, 0x82, 0x4f, 0xc7,
|
||||
0xce, 0xec, 0xef, 0x0e, 0x74, 0xce, 0x5f, 0xa2, 0xaf, 0x01, 0x36, 0x43, 0x15, 0x6d, 0x4f, 0xcf,
|
||||
0xba, 0xc9, 0x93, 0xfd, 0xab, 0xb0, 0x66, 0x6f, 0x06, 0xee, 0x3c, 0xa3, 0x72, 0x89, 0xee, 0x4c,
|
||||
0xed, 0x3b, 0x3a, 0xad, 0xdf, 0xd1, 0xe9, 0x33, 0xfd, 0x8e, 0x4e, 0xf6, 0xea, 0x66, 0xcd, 0x75,
|
||||
0x93, 0xcc, 0x9e, 0x27, 0x00, 0xdf, 0x97, 0x0b, 0x9a, 0xf0, 0xfc, 0x35, 0xbb, 0xd6, 0xc6, 0x07,
|
||||
0xd0, 0xd3, 0x53, 0x1b, 0x8d, 0xf4, 0x49, 0x5a, 0xf3, 0x7b, 0xb2, 0xd3, 0xf6, 0x7d, 0xec, 0xa0,
|
||||
0x27, 0xe0, 0x37, 0x03, 0xf6, 0x5f, 0x13, 0xa0, 0xd6, 0xa8, 0xdb, 0xcc, 0x61, 0xaf, 0x52, 0x3d,
|
||||
0x42, 0x5b, 0x57, 0xc0, 0xe6, 0x19, 0x6f, 0x61, 0x7a, 0xc3, 0x43, 0x70, 0x8d, 0x52, 0xd0, 0xb8,
|
||||
0x25, 0x1a, 0xeb, 0x1c, 0xb4, 0x10, 0xb1, 0x5a, 0x3f, 0xfd, 0x56, 0x3f, 0x74, 0x99, 0x06, 0x89,
|
||||
0x60, 0x4f, 0xdd, 0x73, 0x79, 0x2c, 0xd8, 0x0b, 0xe7, 0xe7, 0xfb, 0x4b, 0xa6, 0x2e, 0xcb, 0x85,
|
||||
0xae, 0x20, 0x56, 0x64, 0xc5, 0xe5, 0x91, 0x5c, 0x4b, 0x45, 0x33, 0x69, 0x57, 0x31, 0x11, 0x2c,
|
||||
0xe6, 0x72, 0xd1, 0x37, 0xa7, 0xff, 0xea, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xde, 0xde, 0x4b,
|
||||
0x15, 0xc0, 0x08, 0x00, 0x00,
|
||||
// 839 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0x51, 0x8f, 0xdb, 0x44,
|
||||
0x10, 0xc6, 0x4e, 0x1c, 0xc7, 0x93, 0x3b, 0x27, 0xb7, 0xd7, 0x56, 0x26, 0x45, 0x55, 0xb0, 0x54,
|
||||
0x35, 0x2d, 0xba, 0xb8, 0x84, 0x07, 0x90, 0x40, 0x42, 0xd7, 0xa4, 0x0f, 0x27, 0xd1, 0xbb, 0x6a,
|
||||
0x5b, 0x1e, 0xe0, 0x81, 0x68, 0x13, 0x2f, 0x39, 0x8b, 0xd8, 0xbb, 0x78, 0xd7, 0x15, 0xf9, 0x27,
|
||||
0xbc, 0xf1, 0xc2, 0x0f, 0xe0, 0x27, 0xa2, 0xdd, 0xb5, 0x1d, 0x27, 0x2d, 0xf4, 0x38, 0x89, 0x3e,
|
||||
0xd9, 0xfb, 0xcd, 0xec, 0xcc, 0xce, 0x37, 0xdf, 0xce, 0x42, 0x8f, 0x89, 0x88, 0x89, 0x09, 0xcf,
|
||||
0x99, 0x64, 0xc8, 0x66, 0x62, 0x78, 0x7f, 0xcd, 0xd8, 0x7a, 0x43, 0x23, 0x8d, 0x2c, 0x8b, 0x9f,
|
||||
0x23, 0x9a, 0x72, 0xb9, 0x35, 0x0e, 0xc3, 0xd3, 0x15, 0x4b, 0x53, 0x96, 0x45, 0xe6, 0x63, 0xc0,
|
||||
0xf0, 0x27, 0x38, 0x99, 0xb1, 0x4c, 0x92, 0x24, 0xa3, 0xb9, 0xc0, 0xf4, 0xd7, 0x82, 0x0a, 0x89,
|
||||
0x3e, 0x01, 0x2f, 0x23, 0x29, 0x15, 0x9c, 0xac, 0x68, 0x60, 0x8d, 0xac, 0xb1, 0x87, 0x77, 0x00,
|
||||
0xfa, 0x0c, 0x3a, 0x71, 0x9e, 0xbc, 0xa1, 0x79, 0x60, 0x8f, 0xac, 0xb1, 0x3f, 0x3d, 0x9d, 0x30,
|
||||
0x31, 0xa9, 0x83, 0xcc, 0xb5, 0x09, 0x97, 0x2e, 0xe1, 0x9f, 0x16, 0x78, 0xb5, 0xed, 0x3d, 0x81,
|
||||
0x7d, 0xb0, 0x93, 0x58, 0x07, 0xf5, 0xb0, 0x9d, 0xc4, 0xe8, 0x0e, 0x38, 0x49, 0x4a, 0xd6, 0x34,
|
||||
0x68, 0x69, 0xc8, 0x2c, 0xd0, 0x00, 0x5a, 0x3c, 0x89, 0x83, 0xf6, 0xc8, 0x1a, 0x1f, 0x63, 0xf5,
|
||||
0x8b, 0xee, 0x41, 0x47, 0x48, 0x22, 0x0b, 0x11, 0x38, 0xda, 0xb1, 0x5c, 0xa1, 0xbb, 0xd0, 0xe1,
|
||||
0x2c, 0x5e, 0x24, 0x71, 0xd0, 0x31, 0x01, 0x38, 0x8b, 0x2f, 0x62, 0x84, 0xa0, 0xad, 0x72, 0x06,
|
||||
0xae, 0x06, 0xf5, 0x7f, 0x28, 0x1b, 0x34, 0x60, 0x2a, 0x38, 0xcb, 0x04, 0x45, 0x4f, 0xa1, 0x9b,
|
||||
0x52, 0x49, 0x62, 0x22, 0x89, 0x3e, 0x6c, 0x6f, 0x7a, 0x67, 0x52, 0x92, 0x77, 0xc9, 0x62, 0xfa,
|
||||
0xa2, 0xb4, 0xe1, 0xda, 0x0b, 0x9d, 0x01, 0xac, 0x6a, 0x36, 0x03, 0x7b, 0xd4, 0x1a, 0xf7, 0xa6,
|
||||
0xc7, 0x7b, 0xf4, 0xe0, 0x86, 0x43, 0x38, 0x87, 0x7e, 0x93, 0x7c, 0xbe, 0xd9, 0xa2, 0xcf, 0xa1,
|
||||
0x9b, 0x97, 0xf9, 0x03, 0x4b, 0xef, 0xbf, 0xbb, 0xbf, 0xbf, 0x34, 0xe2, 0xda, 0x2d, 0xbc, 0x86,
|
||||
0xde, 0x77, 0x6c, 0x7d, 0xc3, 0xe6, 0x1d, 0x72, 0xbc, 0x6b, 0x66, 0xeb, 0xfd, 0xcd, 0x44, 0x30,
|
||||
0x78, 0x99, 0xb3, 0x15, 0x15, 0x82, 0x56, 0xe9, 0xc2, 0x73, 0xf0, 0x1b, 0x98, 0x2a, 0x21, 0x7a,
|
||||
0xab, 0x04, 0x1d, 0xb4, 0xf4, 0x7a, 0x47, 0x01, 0x19, 0xf4, 0x0f, 0x8c, 0xb7, 0xa0, 0xfe, 0x31,
|
||||
0x78, 0xbc, 0x3a, 0x47, 0xc9, 0x7c, 0xaf, 0x99, 0x76, 0x67, 0x0d, 0x7f, 0xb7, 0xc1, 0x2d, 0xe1,
|
||||
0x4a, 0x4d, 0x2a, 0x87, 0x63, 0xd4, 0x84, 0xa0, 0xcd, 0x79, 0xc9, 0x91, 0x83, 0xf5, 0xbf, 0x52,
|
||||
0xa2, 0xd2, 0x54, 0xad, 0x44, 0xbd, 0x40, 0x01, 0xb8, 0xf2, 0x3a, 0xa7, 0x24, 0x16, 0x5a, 0x8d,
|
||||
0x0e, 0xae, 0x96, 0xe8, 0x63, 0xe8, 0xae, 0x78, 0xb1, 0x90, 0x49, 0x4a, 0xb5, 0x26, 0x2d, 0xec,
|
||||
0xae, 0x78, 0xf1, 0x3a, 0x49, 0x29, 0x7a, 0x08, 0xfe, 0x9b, 0x24, 0x97, 0x05, 0xd9, 0x2c, 0x52,
|
||||
0x9a, 0xb2, 0x7c, 0xab, 0xc5, 0xd9, 0xc6, 0xc7, 0x25, 0xfa, 0x42, 0x83, 0xe8, 0x11, 0xf4, 0x73,
|
||||
0x2a, 0x92, 0x98, 0x66, 0xb2, 0xf2, 0x73, 0xb5, 0x9f, 0x5f, 0xc1, 0xa5, 0x63, 0x00, 0xae, 0x22,
|
||||
0x86, 0x64, 0x71, 0xd0, 0xd5, 0x87, 0xab, 0x96, 0xe8, 0x01, 0x00, 0xfd, 0x8d, 0xae, 0x0a, 0x49,
|
||||
0x96, 0x1b, 0x1a, 0x78, 0xda, 0xd8, 0x40, 0x54, 0xa1, 0x24, 0x5f, 0x8b, 0x00, 0xcc, 0x3d, 0x50,
|
||||
0xff, 0xe1, 0x2f, 0xe0, 0x63, 0x2a, 0x24, 0xc9, 0xe5, 0x07, 0x90, 0xd3, 0x0c, 0xfa, 0x75, 0xb2,
|
||||
0xdb, 0xf6, 0x3d, 0xfc, 0x16, 0x8e, 0xea, 0x20, 0xff, 0xa2, 0xbe, 0x83, 0x44, 0x0d, 0xf5, 0xfd,
|
||||
0x00, 0x47, 0xaf, 0x24, 0x91, 0xff, 0xc7, 0xf0, 0x23, 0x70, 0x5c, 0x86, 0xbe, 0xb5, 0xac, 0x1f,
|
||||
0x18, 0xe5, 0x55, 0x92, 0xee, 0xaa, 0x74, 0x2a, 0xa6, 0xd1, 0xa0, 0x08, 0xbf, 0x06, 0x28, 0x53,
|
||||
0xa8, 0xe2, 0xcf, 0xde, 0x2a, 0xfe, 0xa4, 0xda, 0xf0, 0xae, 0x8b, 0xf7, 0x87, 0x05, 0x6d, 0x65,
|
||||
0xfb, 0x8f, 0x4d, 0xfe, 0x14, 0x8e, 0x8c, 0x24, 0x17, 0x85, 0x50, 0xe3, 0xb9, 0xad, 0x85, 0xd9,
|
||||
0x33, 0xd8, 0xf7, 0x0a, 0x42, 0xf7, 0xc1, 0x53, 0x17, 0xc0, 0xd8, 0x1d, 0x6d, 0x57, 0x37, 0xc2,
|
||||
0x18, 0x6f, 0x3e, 0x97, 0x9f, 0x3c, 0x69, 0x4c, 0x48, 0x43, 0x2e, 0xf2, 0x01, 0x66, 0x57, 0x97,
|
||||
0xaf, 0xcf, 0x2f, 0x2e, 0x9f, 0xe3, 0xf9, 0xe0, 0x23, 0xe4, 0x42, 0x6b, 0x86, 0x2f, 0x06, 0xd6,
|
||||
0xf4, 0x2f, 0x1b, 0xec, 0xab, 0x57, 0xe8, 0x2b, 0x80, 0xdd, 0x50, 0x45, 0xfb, 0xd3, 0xb3, 0x6a,
|
||||
0xf2, 0xf0, 0xf4, 0x10, 0x56, 0xec, 0x4d, 0xc1, 0x99, 0xa7, 0x54, 0xac, 0xd1, 0xbd, 0x89, 0x79,
|
||||
0x47, 0x27, 0xd5, 0x3b, 0x3a, 0x79, 0xae, 0xde, 0xd1, 0xe1, 0x49, 0xd5, 0xac, 0xb9, 0x6a, 0x92,
|
||||
0xde, 0xf3, 0x08, 0xda, 0x6a, 0xf8, 0xa2, 0xbe, 0x0a, 0xd8, 0x18, 0xc3, 0xc3, 0xa3, 0xa6, 0xef,
|
||||
0x53, 0x0b, 0x7d, 0x09, 0x5e, 0x3d, 0x27, 0xff, 0x31, 0x01, 0x6a, 0x4c, 0xac, 0xdd, 0x38, 0x75,
|
||||
0x4b, 0xf1, 0x22, 0xb4, 0xa7, 0x64, 0x93, 0x67, 0xb0, 0x87, 0xa9, 0x0d, 0x8f, 0xc1, 0xd1, 0x0d,
|
||||
0x47, 0x83, 0x46, 0xef, 0x8d, 0xb3, 0xdf, 0x40, 0xf8, 0x66, 0xfb, 0xec, 0x1b, 0xf5, 0x5e, 0xa5,
|
||||
0x0a, 0x24, 0x3c, 0x79, 0xe6, 0x5c, 0x89, 0x73, 0x9e, 0xbc, 0xb4, 0x7e, 0x7c, 0xb8, 0x4e, 0xe4,
|
||||
0x75, 0xb1, 0x54, 0x15, 0x44, 0x92, 0x6c, 0x98, 0x38, 0x13, 0x5b, 0x21, 0x69, 0x2a, 0xcc, 0x2a,
|
||||
0x22, 0x3c, 0x89, 0x98, 0x58, 0x76, 0xf4, 0xe9, 0xbf, 0xf8, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x53,
|
||||
0xad, 0xbd, 0x10, 0x87, 0x08, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
@ -1072,7 +1071,6 @@ const _ = grpc.SupportPackageIsVersion4
|
||||
type OSClient interface {
|
||||
Containers(ctx context.Context, in *ContainersRequest, opts ...grpc.CallOption) (*ContainersReply, error)
|
||||
Dmesg(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*common.DataReply, error)
|
||||
Kubeconfig(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*common.DataReply, error)
|
||||
Logs(ctx context.Context, in *LogsRequest, opts ...grpc.CallOption) (OS_LogsClient, error)
|
||||
Processes(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ProcessesReply, error)
|
||||
Restart(ctx context.Context, in *RestartRequest, opts ...grpc.CallOption) (*RestartReply, error)
|
||||
@ -1105,15 +1103,6 @@ func (c *oSClient) Dmesg(ctx context.Context, in *empty.Empty, opts ...grpc.Call
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *oSClient) Kubeconfig(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*common.DataReply, error) {
|
||||
out := new(common.DataReply)
|
||||
err := c.cc.Invoke(ctx, "/os.OS/Kubeconfig", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *oSClient) Logs(ctx context.Context, in *LogsRequest, opts ...grpc.CallOption) (OS_LogsClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &_OS_serviceDesc.Streams[0], "/os.OS/Logs", opts...)
|
||||
if err != nil {
|
||||
@ -1177,7 +1166,6 @@ func (c *oSClient) Stats(ctx context.Context, in *StatsRequest, opts ...grpc.Cal
|
||||
type OSServer interface {
|
||||
Containers(context.Context, *ContainersRequest) (*ContainersReply, error)
|
||||
Dmesg(context.Context, *empty.Empty) (*common.DataReply, error)
|
||||
Kubeconfig(context.Context, *empty.Empty) (*common.DataReply, error)
|
||||
Logs(*LogsRequest, OS_LogsServer) error
|
||||
Processes(context.Context, *empty.Empty) (*ProcessesReply, error)
|
||||
Restart(context.Context, *RestartRequest) (*RestartReply, error)
|
||||
@ -1224,24 +1212,6 @@ func _OS_Dmesg_Handler(srv interface{}, ctx context.Context, dec func(interface{
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _OS_Kubeconfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(empty.Empty)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(OSServer).Kubeconfig(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/os.OS/Kubeconfig",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(OSServer).Kubeconfig(ctx, req.(*empty.Empty))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _OS_Logs_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
m := new(LogsRequest)
|
||||
if err := stream.RecvMsg(m); err != nil {
|
||||
@ -1329,10 +1299,6 @@ var _OS_serviceDesc = grpc.ServiceDesc{
|
||||
MethodName: "Dmesg",
|
||||
Handler: _OS_Dmesg_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "Kubeconfig",
|
||||
Handler: _OS_Kubeconfig_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "Processes",
|
||||
Handler: _OS_Processes_Handler,
|
||||
|
@ -16,7 +16,6 @@ import "common/common.proto";
|
||||
service OS {
|
||||
rpc Containers(ContainersRequest) returns (ContainersReply);
|
||||
rpc Dmesg(google.protobuf.Empty) returns (common.DataReply);
|
||||
rpc Kubeconfig(google.protobuf.Empty) returns (common.DataReply);
|
||||
rpc Logs(LogsRequest) returns (stream common.Data);
|
||||
rpc Processes(google.protobuf.Empty) returns (ProcessesReply);
|
||||
rpc Restart(RestartRequest) returns (RestartReply);
|
||||
|
@ -5,8 +5,6 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"archive/tar"
|
||||
"compress/gzip"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
@ -81,59 +79,7 @@ captures ownership and permission bits.`,
|
||||
}
|
||||
}
|
||||
|
||||
zr, err := gzip.NewReader(r)
|
||||
if err != nil {
|
||||
helpers.Fatalf("error initializing gzip: %s", err)
|
||||
}
|
||||
tr := tar.NewReader(zr)
|
||||
|
||||
for {
|
||||
hdr, err := tr.Next()
|
||||
if err != nil {
|
||||
if err == io.EOF {
|
||||
break
|
||||
}
|
||||
helpers.Fatalf("error reading tar header: %s", err)
|
||||
}
|
||||
|
||||
path := filepath.Clean(filepath.Join(localPath, hdr.Name))
|
||||
// TODO: do we need to clean up any '..' references?
|
||||
|
||||
switch hdr.Typeflag {
|
||||
case tar.TypeDir:
|
||||
mode := hdr.FileInfo().Mode()
|
||||
mode |= 0700 // make rwx for the owner
|
||||
if err = os.Mkdir(path, mode); err != nil {
|
||||
helpers.Fatalf("error creating directory %q mode %s: %s", path, mode, err)
|
||||
}
|
||||
if err = os.Chmod(path, mode); err != nil {
|
||||
helpers.Fatalf("error updating mode %s for %q: %s", mode, path, err)
|
||||
}
|
||||
case tar.TypeSymlink:
|
||||
if err = os.Symlink(hdr.Linkname, path); err != nil {
|
||||
helpers.Fatalf("error creating symlink %q -> %q: %s", path, hdr.Linkname, err)
|
||||
}
|
||||
default:
|
||||
mode := hdr.FileInfo().Mode()
|
||||
fp, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_EXCL, mode)
|
||||
if err != nil {
|
||||
helpers.Fatalf("error creating file %q mode %s: %s", path, mode, err)
|
||||
}
|
||||
|
||||
_, err = io.Copy(fp, tr)
|
||||
if err != nil {
|
||||
helpers.Fatalf("error copying data to %q: %s", path, err)
|
||||
}
|
||||
|
||||
if err = fp.Close(); err != nil {
|
||||
helpers.Fatalf("error closing %q: %s", path, err)
|
||||
}
|
||||
|
||||
if err = os.Chmod(path, mode); err != nil {
|
||||
helpers.Fatalf("error updating mode %s for %q: %s", mode, path, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
extractTarGz(localPath, r)
|
||||
})
|
||||
},
|
||||
}
|
||||
|
@ -8,9 +8,10 @@ package cmd
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sync"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
"google.golang.org/grpc/metadata"
|
||||
|
||||
"github.com/talos-systems/talos/cmd/osctl/pkg/client"
|
||||
"github.com/talos-systems/talos/cmd/osctl/pkg/helpers"
|
||||
@ -18,31 +19,44 @@ import (
|
||||
|
||||
// kubeconfigCmd represents the kubeconfig command
|
||||
var kubeconfigCmd = &cobra.Command{
|
||||
Use: "kubeconfig",
|
||||
Use: "kubeconfig [local-path]",
|
||||
Short: "Download the admin kubeconfig from the node",
|
||||
Long: ``,
|
||||
Long: `Download the admin kubeconfig from the node.
|
||||
Kubeconfig will be written to PWD/kubeconfig or [local-path]/kubeconfig if specified.`,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
if len(args) != 0 {
|
||||
if len(args) > 1 {
|
||||
helpers.Should(cmd.Usage())
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
setupClient(func(c *client.Client) {
|
||||
md := metadata.New(make(map[string]string))
|
||||
md.Set("targets", target...)
|
||||
reply, err := c.Kubeconfig(metadata.NewOutgoingContext(globalCtx, md))
|
||||
r, errCh, err := c.Kubeconfig(globalCtx)
|
||||
if err != nil {
|
||||
helpers.Fatalf("error fetching kubeconfig: %s", err)
|
||||
helpers.Fatalf("error copying: %s", err)
|
||||
}
|
||||
|
||||
for _, resp := range reply.Response {
|
||||
if len(reply.Response) > 1 {
|
||||
fmt.Println(resp.Metadata.Hostname)
|
||||
var wg sync.WaitGroup
|
||||
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
for err := range errCh {
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
}
|
||||
}()
|
||||
|
||||
_, err = os.Stdout.Write(resp.Bytes.Bytes)
|
||||
helpers.Should(err)
|
||||
defer wg.Wait()
|
||||
|
||||
localPath, err := os.Getwd()
|
||||
if err != nil {
|
||||
helpers.Fatalf("error getting current working directory: %s", err)
|
||||
}
|
||||
|
||||
if len(args) == 1 {
|
||||
localPath = args[0]
|
||||
}
|
||||
|
||||
extractTarGz(filepath.Clean(localPath), r)
|
||||
})
|
||||
},
|
||||
}
|
||||
|
@ -5,11 +5,15 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"archive/tar"
|
||||
"compress/gzip"
|
||||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"os/signal"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"syscall"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
@ -125,3 +129,67 @@ func setupClient(action func(*client.Client)) {
|
||||
|
||||
action(c)
|
||||
}
|
||||
|
||||
// nolint: gocyclo
|
||||
func extractTarGz(localPath string, r io.Reader) {
|
||||
zr, err := gzip.NewReader(r)
|
||||
if err != nil {
|
||||
helpers.Fatalf("error initializing gzip: %s", err)
|
||||
}
|
||||
|
||||
tr := tar.NewReader(zr)
|
||||
|
||||
for {
|
||||
hdr, err := tr.Next()
|
||||
if err != nil {
|
||||
if err == io.EOF {
|
||||
break
|
||||
}
|
||||
|
||||
helpers.Fatalf("error reading tar header: %s", err)
|
||||
}
|
||||
|
||||
path := filepath.Clean(filepath.Join(localPath, hdr.Name))
|
||||
// TODO: do we need to clean up any '..' references?
|
||||
|
||||
switch hdr.Typeflag {
|
||||
case tar.TypeDir:
|
||||
mode := hdr.FileInfo().Mode()
|
||||
mode |= 0700 // make rwx for the owner
|
||||
|
||||
if err = os.Mkdir(path, mode); err != nil {
|
||||
helpers.Fatalf("error creating directory %q mode %s: %s", path, mode, err)
|
||||
}
|
||||
|
||||
if err = os.Chmod(path, mode); err != nil {
|
||||
helpers.Fatalf("error updating mode %s for %q: %s", mode, path, err)
|
||||
}
|
||||
|
||||
case tar.TypeSymlink:
|
||||
if err = os.Symlink(hdr.Linkname, path); err != nil {
|
||||
helpers.Fatalf("error creating symlink %q -> %q: %s", path, hdr.Linkname, err)
|
||||
}
|
||||
|
||||
default:
|
||||
mode := hdr.FileInfo().Mode()
|
||||
|
||||
fp, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_EXCL, mode)
|
||||
if err != nil {
|
||||
helpers.Fatalf("error creating file %q mode %s: %s", path, mode, err)
|
||||
}
|
||||
|
||||
_, err = io.Copy(fp, tr)
|
||||
if err != nil {
|
||||
helpers.Fatalf("error copying data to %q: %s", path, err)
|
||||
}
|
||||
|
||||
if err = fp.Close(); err != nil {
|
||||
helpers.Fatalf("error closing %q: %s", path, err)
|
||||
}
|
||||
|
||||
if err = os.Chmod(path, mode); err != nil {
|
||||
helpers.Fatalf("error updating mode %s for %q: %s", mode, path, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -146,8 +146,13 @@ func (c *Client) Close() error {
|
||||
}
|
||||
|
||||
// Kubeconfig implements the proto.OSClient interface.
|
||||
func (c *Client) Kubeconfig(ctx context.Context) (*common.DataReply, error) {
|
||||
return c.client.Kubeconfig(ctx, &empty.Empty{})
|
||||
func (c *Client) Kubeconfig(ctx context.Context) (io.Reader, <-chan error, error) {
|
||||
stream, err := c.MachineClient.Kubeconfig(ctx, &empty.Empty{})
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
return readStream(stream)
|
||||
}
|
||||
|
||||
// Stats implements the proto.OSClient interface.
|
||||
@ -254,40 +259,7 @@ func (c *Client) CopyOut(ctx context.Context, rootPath string) (io.Reader, <-cha
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
errCh := make(chan error)
|
||||
|
||||
pr, pw := io.Pipe()
|
||||
|
||||
go func() {
|
||||
//nolint: errcheck
|
||||
defer pw.Close()
|
||||
defer close(errCh)
|
||||
|
||||
for {
|
||||
data, err := stream.Recv()
|
||||
if err != nil {
|
||||
if err == io.EOF || status.Code(err) == codes.Canceled {
|
||||
return
|
||||
}
|
||||
//nolint: errcheck
|
||||
pw.CloseWithError(err)
|
||||
return
|
||||
}
|
||||
|
||||
if data.Bytes != nil {
|
||||
_, err = pw.Write(data.Bytes)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if data.Errors != "" {
|
||||
errCh <- errors.New(data.Errors)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
return pr, errCh, nil
|
||||
return readStream(stream)
|
||||
}
|
||||
|
||||
// Upgrade initiates a Talos upgrade ... and implements the proto.OSClient
|
||||
@ -333,3 +305,44 @@ func (c *Client) Time(ctx context.Context) (*timeapi.TimeReply, error) {
|
||||
func (c *Client) TimeCheck(ctx context.Context, server string) (*timeapi.TimeReply, error) {
|
||||
return c.TimeClient.TimeCheck(ctx, &timeapi.TimeRequest{Server: server})
|
||||
}
|
||||
|
||||
type machineStream interface {
|
||||
Recv() (*machineapi.StreamingData, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func readStream(stream machineStream) (io.Reader, <-chan error, error) {
|
||||
errCh := make(chan error)
|
||||
pr, pw := io.Pipe()
|
||||
|
||||
go func() {
|
||||
//nolint: errcheck
|
||||
defer pw.Close()
|
||||
defer close(errCh)
|
||||
|
||||
for {
|
||||
data, err := stream.Recv()
|
||||
if err != nil {
|
||||
if err == io.EOF || status.Code(err) == codes.Canceled {
|
||||
return
|
||||
}
|
||||
//nolint: errcheck
|
||||
pw.CloseWithError(err)
|
||||
return
|
||||
}
|
||||
|
||||
if data.Bytes != nil {
|
||||
_, err = pw.Write(data.Bytes)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if data.Errors != "" {
|
||||
errCh <- errors.New(data.Errors)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
return pr, errCh, nil
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ run "timeout=\$((\$(date +%s) + ${TIMEOUT}))
|
||||
|
||||
## Fetch kubeconfig
|
||||
run "timeout=\$((\$(date +%s) + ${TIMEOUT}))
|
||||
until osctl kubeconfig > ${KUBECONFIG}; do
|
||||
until osctl kubeconfig ${TMP}; do
|
||||
[[ \$(date +%s) -gt \$timeout ]] && exit 1
|
||||
sleep 2
|
||||
done"
|
||||
|
@ -31,7 +31,7 @@ e2e_run "timeout=\$((\$(date +%s) + ${TIMEOUT}))
|
||||
|
||||
## Wait for kubeconfig from capi master-0
|
||||
e2e_run "timeout=\$((\$(date +%s) + ${TIMEOUT}))
|
||||
until /bin/osctl kubeconfig > ${KUBECONFIG}; do
|
||||
until /bin/osctl kubeconfig ${TMPPLATFORM}; do
|
||||
[[ \$(date +%s) -gt \$timeout ]] && exit 1
|
||||
sleep 10
|
||||
done"
|
||||
|
@ -19,6 +19,7 @@ import (
|
||||
"golang.org/x/sys/unix"
|
||||
"google.golang.org/grpc"
|
||||
|
||||
"github.com/talos-systems/talos/api/machine"
|
||||
machineapi "github.com/talos-systems/talos/api/machine"
|
||||
"github.com/talos-systems/talos/internal/app/machined/pkg/system"
|
||||
"github.com/talos-systems/talos/internal/pkg/event"
|
||||
@ -381,3 +382,10 @@ func (r *Registrator) Mounts(ctx context.Context, in *empty.Empty) (reply *machi
|
||||
func (r *Registrator) Version(ctx context.Context, in *empty.Empty) (reply *machineapi.VersionReply, err error) {
|
||||
return version.NewVersion(), nil
|
||||
}
|
||||
|
||||
// Kubeconfig implements the osapi.OSDServer interface.
|
||||
func (r *Registrator) Kubeconfig(empty *empty.Empty, s machineapi.Machine_KubeconfigServer) error {
|
||||
in := &machine.CopyOutRequest{RootPath: constants.AdminKubeconfig}
|
||||
|
||||
return r.CopyOut(in, s)
|
||||
}
|
||||
|
@ -9,13 +9,11 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
criconstants "github.com/containerd/cri/pkg/constants"
|
||||
"github.com/golang/protobuf/ptypes/empty"
|
||||
@ -31,7 +29,6 @@ import (
|
||||
"github.com/talos-systems/talos/pkg/chunker"
|
||||
filechunker "github.com/talos-systems/talos/pkg/chunker/file"
|
||||
"github.com/talos-systems/talos/pkg/constants"
|
||||
"github.com/talos-systems/talos/pkg/retry"
|
||||
)
|
||||
|
||||
// Registrator is the concrete type that implements the factory.Registrator and
|
||||
@ -43,38 +40,6 @@ func (r *Registrator) Register(s *grpc.Server) {
|
||||
osapi.RegisterOSServer(s, r)
|
||||
}
|
||||
|
||||
// Kubeconfig implements the osapi.OSDServer interface.
|
||||
func (r *Registrator) Kubeconfig(ctx context.Context, in *empty.Empty) (data *common.DataReply, err error) {
|
||||
var fileBytes []byte
|
||||
|
||||
err = retry.Constant(5*time.Minute, retry.WithUnits(5*time.Second)).Retry(func() error {
|
||||
fileBytes, err = ioutil.ReadFile(constants.AdminKubeconfig)
|
||||
if err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
return retry.ExpectedError(err)
|
||||
}
|
||||
|
||||
return retry.UnexpectedError(err)
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
data = &common.DataReply{
|
||||
Response: []*common.DataResponse{
|
||||
{
|
||||
Bytes: &common.Data{Bytes: fileBytes},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
return data, err
|
||||
}
|
||||
|
||||
// Containers implements the osapi.OSDServer interface.
|
||||
func (r *Registrator) Containers(ctx context.Context, in *osapi.ContainersRequest) (reply *osapi.ContainersReply, err error) {
|
||||
inspector, err := getContainerInspector(ctx, in.Namespace, in.Driver)
|
||||
|
Loading…
x
Reference in New Issue
Block a user