github.com/kotalco/kotal@v0.3.0/clients/chainlink/chainlink_client.go (about)

     1  package chainlink
     2  
     3  import (
     4  	"fmt"
     5  
     6  	chainlinkv1alpha1 "github.com/kotalco/kotal/apis/chainlink/v1alpha1"
     7  	"github.com/kotalco/kotal/controllers/shared"
     8  	corev1 "k8s.io/api/core/v1"
     9  )
    10  
    11  // ChainlinkClient is chainlink official client
    12  // https://github.com/smartcontractkit/chainlink
    13  type ChainlinkClient struct {
    14  	node *chainlinkv1alpha1.Node
    15  }
    16  
    17  // Images
    18  const (
    19  	// ChainlinkHomeDir is chainlink image home dir
    20  	// TODO: update the home directory
    21  	ChainlinkHomeDir = "/home/chainlink"
    22  )
    23  
    24  // Command is chainlink entrypoint
    25  func (c *ChainlinkClient) Command() []string {
    26  	return []string{"chainlink"}
    27  }
    28  
    29  // Args returns chainlink args
    30  func (c *ChainlinkClient) Args() []string {
    31  	args := []string{
    32  		"local",
    33  		"--config",
    34  		fmt.Sprintf("%s/config.toml", shared.PathConfig(c.HomeDir())),
    35  		"--secrets",
    36  		fmt.Sprintf("%s/secrets.toml", shared.PathConfig(c.HomeDir())),
    37  		"node",
    38  	}
    39  
    40  	args = append(args, ChainlinkAPI, fmt.Sprintf("%s/.api", shared.PathData(c.HomeDir())))
    41  
    42  	return args
    43  }
    44  
    45  func (c *ChainlinkClient) Env() []corev1.EnvVar {
    46  	return nil
    47  }
    48  
    49  // HomeDir returns chainlink image home directory
    50  func (c *ChainlinkClient) HomeDir() string {
    51  	return ChainlinkHomeDir
    52  }