github.com/hernad/nomad@v1.6.112/drivers/docker/docklog/client.go (about)

     1  // Copyright (c) HashiCorp, Inc.
     2  // SPDX-License-Identifier: MPL-2.0
     3  
     4  package docklog
     5  
     6  import (
     7  	"context"
     8  
     9  	"github.com/hernad/nomad/drivers/docker/docklog/proto"
    10  )
    11  
    12  // dockerLoggerClient implements the dockerLogger interface for client side requests
    13  type dockerLoggerClient struct {
    14  	client proto.DockerLoggerClient
    15  }
    16  
    17  // Start proxies the Start client side func to the protobuf interface
    18  func (c *dockerLoggerClient) Start(opts *StartOpts) error {
    19  	req := &proto.StartRequest{
    20  		Endpoint:    opts.Endpoint,
    21  		ContainerId: opts.ContainerID,
    22  		StdoutFifo:  opts.Stdout,
    23  		StderrFifo:  opts.Stderr,
    24  		Tty:         opts.TTY,
    25  
    26  		TlsCert: opts.TLSCert,
    27  		TlsKey:  opts.TLSKey,
    28  		TlsCa:   opts.TLSCA,
    29  	}
    30  	_, err := c.client.Start(context.Background(), req)
    31  	return err
    32  }
    33  
    34  // Stop proxies the Stop client side func to the protobuf interface
    35  func (c *dockerLoggerClient) Stop() error {
    36  	req := &proto.StopRequest{}
    37  	_, err := c.client.Stop(context.Background(), req)
    38  	return err
    39  }