Documentation
¶
Index ¶
- Constants
- func NewNetworkCfg(in *EVMNetworkConfig, out *blockchain.Output) (string, error)
- func NewNetworkCfgOneNetworkAllNodes(out *blockchain.Output) (string, error)
- func WriteTmpFile(data, filePath string) (*os.File, error)
- type DefaultCLNodeConfig
- type DefaultSecretsConfig
- type EVMNetworkConfig
- type EVMNode
- type Input
- type NodeInput
- type NodeOut
- type Output
Constants ¶
const ( DefaultHTTPPort = "6688" DefaultP2PPort = "6690" DefaultDebuggerPort = 40000 TmpImageName = "chainlink-tmp:latest" CustomPortSeparator = ":" DefaultCapabilitiesDir = "/usr/local/bin" ConfigVolumeName = "clnode-config" HomeVolumeName = "clnode-home" )
const ( DefaultTestKeystorePassword = "thispasswordislongenough" DefaultPasswordTxt = `T.tLHkcmwePT/p,]sYuntjwHKAsrhm#4eRs4LuKHwvHejWYAC2JP4M8HimwgmbaZ` //nolint:gosec DefaultAPICredentials = `[email protected] fj293fbBnlQ!f9vNs` DefaultAPIUser = `[email protected]` DefaultAPIPassword = `fj293fbBnlQ!f9vNs` //nolint:gosec )
Variables ¶
This section is empty.
Functions ¶
func NewNetworkCfg ¶
func NewNetworkCfg(in *EVMNetworkConfig, out *blockchain.Output) (string, error)
NewNetworkCfg generate new network configuration from blockchain.Output EVMNodes is used to set priority and primary/secondary for particular nodes
func NewNetworkCfgOneNetworkAllNodes ¶
func NewNetworkCfgOneNetworkAllNodes(out *blockchain.Output) (string, error)
NewNetworkCfgOneNetworkAllNodes is simplified CL node network configuration where we add all the nodes are from the same network
Types ¶
type DefaultCLNodeConfig ¶
type DefaultSecretsConfig ¶
type EVMNetworkConfig ¶
type EVMNetworkConfig struct {
MinIncomingConfirmations int
MinContractPayment string
ChainID string
EVMNodes []*EVMNode
}
EVMNetworkConfig is CL node network configuration
type Input ¶
type Input struct {
// NoDNS whether to allow DNS in Docker containers or not, useful for isolating containers from network if set to 'false'
NoDNS bool `` /* 136-byte string literal not displayed */
// DbInput PostgreSQL database configuration
DbInput *postgres.Input `toml:"db" validate:"required" comment:"PostgreSQL database configuration"`
// Node Chainlink node configuration
Node *NodeInput `toml:"node" validate:"required" comment:"Chainlink node configuration"`
// Out Chainlink node configuration output
Out *Output `toml:"out" comment:"Chainlink node configuration output"`
}
Input represents Chainlink node input
type NodeInput ¶
type NodeInput struct {
// Image Chainlink node Docker image in format $registry:$tag
Image string `toml:"image" validate:"required" comment:"Chainlink node Docker image in format $registry:$tag"`
// Name Chainlink node Docker container name
Name string `toml:"name" comment:"Chainlink node Docker container name"`
// DockerFilePath Docker file path to rebuild, relative to 'docker_ctx' field path
DockerFilePath string `toml:"docker_file" comment:"Docker file path to rebuild, relative to 'docker_ctx' field path"`
// DockerContext Docker build context path
DockerContext string `toml:"docker_ctx" comment:"Docker build context path"`
// DockerBuildArgs Docker build args
DockerBuildArgs map[string]string `` /* 128-byte string literal not displayed */
// PullImage whether to pull Docker image or not
PullImage bool `toml:"pull_image" comment:"Whether to pull Docker image or not"`
// CapabilitiesBinaryPaths Chainlink CRE capabilities paths for WASM binaries
CapabilitiesBinaryPaths []string `toml:"capabilities" comment:"Chainlink CRE capabilities paths for WASM binaries"`
// CapabilityContainerDir path to capabilities inside Docker container (capabilities are copied inside container from local path)
CapabilityContainerDir string `` /* 147-byte string literal not displayed */
// TestConfigOverrides node config overrides field for programmatic usage in tests
TestConfigOverrides string `toml:"test_config_overrides" comment:"node config overrides field for programmatic usage in tests"`
// UserConfigOverrides node config overrides field for manual overrides from env.toml configs
UserConfigOverrides string `toml:"user_config_overrides" comment:"node config overrides field for manual overrides from env.toml configs"`
// TestSecretsOverrides node secrets config overrides field for programmatic usage in tests
TestSecretsOverrides string `toml:"test_secrets_overrides" comment:"node secrets config overrides field for programmatic usage in tests"`
// UserSecretsOverrides node secrets config overrides field for manual overrides from env.toml configs
UserSecretsOverrides string `toml:"user_secrets_overrides" comment:"node secrets config overrides field for manual overrides from env.toml configs"`
// HTTPPort Chainlink node API HTTP port
HTTPPort int `toml:"port" comment:"Chainlink node API HTTP port"`
// P2PPort Chainlink node P2P port
P2PPort int `toml:"p2p_port" comment:"Chainlink node P2P port"`
// CustomPorts Custom ports pairs in format $host_port_number:$docker_port_number
CustomPorts []string `toml:"custom_ports" comment:"Custom ports pairs in format $host_port_number:$docker_port_number"`
// DebuggerPort Delve debugger port
DebuggerPort int `toml:"debugger_port" comment:"Delve debugger port"`
// ContainerResources Docker container resources
ContainerResources *framework.ContainerResources `toml:"resources" comment:"Docker container resources"`
// EnvVars Docker container environment variables
EnvVars map[string]string `toml:"env_vars" comment:"Docker container environment variables"`
}
NodeInput is CL nod container inputs
type NodeOut ¶
type NodeOut struct {
// APIAuthUser user name for basic login/password authorization in Chainlink node
APIAuthUser string `toml:"api_auth_user" comment:"User name for basic login/password authorization in Chainlink node"`
// APIAuthPassword password for basic login/password authorization in Chainlink node
APIAuthPassword string `toml:"api_auth_password" comment:"Password for basic login/password authorization in Chainlink node"`
// ContainerName node Docker contaienr name
ContainerName string `toml:"container_name" comment:"Node Docker contaner name"`
// ExternalURL node external API HTTP URL
ExternalURL string `toml:"url" comment:"Node external API HTTP URL"`
// InternalURL node internal API HTTP URL
InternalURL string `toml:"internal_url" comment:"Node internal API HTTP URL"`
// InternalP2PUrl node internal P2P URL
InternalP2PUrl string `toml:"p2p_internal_url" comment:"Node internal P2P URL"`
// InternalIP node internal IP
InternalIP string `toml:"internal_ip" comment:"Node internal IP"`
}
NodeOut is CL node container output, URLs to connect
type Output ¶
type Output struct {
// UseCache Whether to respect caching or not, if cache = true component won't be deployed again
UseCache bool `toml:"use_cache" comment:"Whether to respect caching or not, if cache = true component won't be deployed again"`
// Node Chainlink node config output
Node *NodeOut `toml:"node" comment:"Chainlink node config output"`
// PostgreSQL PostgreSQL config output
PostgreSQL *postgres.Output `toml:"postgresql" comment:"PostgreSQL config output"`
}
Output represents Chainlink node output, nodes and databases connection URLs
func NewNodeWithContext ¶ added in v0.11.6
func NewNodeWithDB ¶ added in v0.1.1
NewNodeWithDB create a new Chainlink node with some image:tag and one or several configs see config params: TestConfigOverrides, UserConfigOverrides, etc