Documentation
¶
Index ¶
- Constants
- type DataNode
- type Faucet
- type GeneratedService
- type GeneratedServices
- func (gs GeneratedServices) GetByName(name string) []GeneratedService
- func (gs GeneratedServices) GetNodeSet(name string) (*NodeSet, error)
- func (gs GeneratedServices) GetNodeSetsByGroupName(groupName string) []NodeSet
- func (gs GeneratedServices) GetNonValidators() []NodeSet
- func (gs GeneratedServices) GetValidators() []NodeSet
- func (gs GeneratedServices) ListValidators() []VegaNodeOutput
- func (gs GeneratedServices) PreGenerateJobsIDs() []string
- func (gs GeneratedServices) ToCtyValue() (*cty.Value, error)
- type HTTPProbe
- type JobIDMap
- type NetworkJobs
- type NodeSet
- type NodeSetFilter
- type NodeSetMap
- type NodeWalletInfo
- type NomadJob
- type PostgresProbe
- type ProbesConfig
- type RawJobWithNomadJob
- type SmartContractsInfo
- type SmartContractsToken
- type TCPProbe
- type TendermintNode
- type TendermintOutput
- type VegaNode
- type VegaNodeOutput
- type Visor
- type Wallet
Constants ¶
const ( NodeModeValidator = "validator" NodeModeFull = "full" NodeWalletChainTypeTendermint = "tendermint" NodeWalletChainTypeVega = "vega" NodeWalletChainTypeEthereum = "ethereum" NomadLogsCollectorTaskName = "capsule-logscolletor" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DataNode ¶
type DataNode struct {
// description: General information about the node.
GeneratedService `cty:"service"`
// description: Path to binary used to generate and run the node.
BinaryPath string
// description: Unique IPFS swarm key for this network
UniqueSwarmKey string
}
type Faucet ¶
type Faucet struct {
GeneratedService
PublicKey string
WalletFilePath string
WalletPassFilePath string
BinaryPath string
}
type GeneratedService ¶ added in v0.2.3
type GeneratedService struct {
// description: Name of the service.
Name string `cty:"name"`
// description: Path to home directory of the service.
HomeDir string `cty:"home_dir"`
// description: Path to service configuration.
ConfigFilePath string `cty:"config_file_path"`
}
description: Represents any generated Capsule service.
type GeneratedServices ¶
type GeneratedServices struct {
Wallet *Wallet
Faucet *Faucet
NodeSets NodeSetMap `cty:"node_sets"`
PreGenerateJobs []NomadJob
}
func DefaultGeneratedServices ¶ added in v0.3.0
func DefaultGeneratedServices() GeneratedServices
func NewGeneratedServices ¶
func NewGeneratedServices(w *Wallet, f *Faucet, ns []NodeSet) *GeneratedServices
func (GeneratedServices) GetByName ¶ added in v0.2.3
func (gs GeneratedServices) GetByName(name string) []GeneratedService
func (GeneratedServices) GetNodeSet ¶
func (gs GeneratedServices) GetNodeSet(name string) (*NodeSet, error)
func (GeneratedServices) GetNodeSetsByGroupName ¶
func (gs GeneratedServices) GetNodeSetsByGroupName(groupName string) []NodeSet
func (GeneratedServices) GetNonValidators ¶ added in v0.2.2
func (gs GeneratedServices) GetNonValidators() []NodeSet
func (GeneratedServices) GetValidators ¶
func (gs GeneratedServices) GetValidators() []NodeSet
func (GeneratedServices) ListValidators ¶
func (gs GeneratedServices) ListValidators() []VegaNodeOutput
func (GeneratedServices) PreGenerateJobsIDs ¶ added in v0.2.0
func (gs GeneratedServices) PreGenerateJobsIDs() []string
PreGenerateJobsIDs returns pre gen jobs ids across all node sets
func (GeneratedServices) ToCtyValue ¶ added in v0.3.0
func (gs GeneratedServices) ToCtyValue() (*cty.Value, error)
type HTTPProbe ¶ added in v0.3.0
type HTTPProbe struct {
// description: URL of the HTTP endpoint.
URL string `hcl:"url" template:""`
}
description: Allows the user to probe HTTP endpoint. example:
type: hcl
value: |
http {
url = "http://localhost:8002"
}
type NetworkJobs ¶
type NetworkJobs struct {
NodesSetsJobIDs JobIDMap
ExtraJobIDs JobIDMap
FaucetJobID string
WalletJobID string
}
func (*NetworkJobs) AddExtraJobIDs ¶
func (nj *NetworkJobs) AddExtraJobIDs(ids []string)
func (NetworkJobs) Exists ¶
func (nj NetworkJobs) Exists(jobID string) bool
func (*NetworkJobs) MergeNetworkJobs ¶ added in v0.3.0
func (nj *NetworkJobs) MergeNetworkJobs(toMerge NetworkJobs)
func (*NetworkJobs) RemoveRunningJobsIDs ¶ added in v0.3.0
func (nj *NetworkJobs) RemoveRunningJobsIDs(ids []string)
func (NetworkJobs) ToSlice ¶
func (nj NetworkJobs) ToSlice() []string
type NodeSet ¶
type NodeSet struct {
// description: Name that represents a group of the same node sets.
GroupName string `cty:"group_name"`
// description: Name of a specific node set in a node sets group.
Name string `cty:"name"`
// description: Mode of the node set. Can be `validator` or `full` (full means a non validating node).
Mode string `cty:"mode"`
/*
description: |
Index is a position and order in which the node set has been generated respective to all other created node sets.
It goes from 0-N where N is the total number of node sets.
*/
Index int `cty:"index"`
// description: RelativeIndex is a counter relative to current node set group. Related to GroupName.
RelativeIndex int
// description: GroupIndex is an index of the group that this node set belongs to. Related to GroupName.
GroupIndex int
// description: Information about generated Vega node.
Vega VegaNode `cty:"vega"`
// description: Information about generated Tendermint node.
Tendermint TendermintNode `cty:"tendermint"`
// description: Information about generated Data node.
DataNode *DataNode `cty:"data_node"`
// description: Information about generated Visor instance.
Visor *Visor
// description: Jobs that have been started before the nodes were generated.
PreGenerateJobs []NomadJob
// description: Pre start probes.
PreStartProbe *ProbesConfig `hcl:"pre_start_probe,optional" template:""`
// description: Stores custom Nomad job definition of this node set.
NomadJobRaw *string `json:",omitempty"`
}
func FilterNodeSets ¶
func FilterNodeSets(nodeSets []NodeSet, filters ...NodeSetFilter) []NodeSet
func (NodeSet) IsValidator ¶ added in v0.2.3
func (NodeSet) PreGenerateJobsIDs ¶ added in v0.2.0
PreGenerateJobsIDs returns pre gen jobs ids per specific node set
func (NodeSet) PreGenerateRawJobs ¶ added in v0.2.0
PreGenerateRawJobs returns pre gen jobs per specific node set
type NodeSetFilter ¶
func NodeSetFilterByGroupName ¶
func NodeSetFilterByGroupName(groupName string) NodeSetFilter
func NodeSetFilterByGroupNames ¶
func NodeSetFilterByGroupNames(names []string) NodeSetFilter
func NodeSetFilterByNames ¶
func NodeSetFilterByNames(names []string) NodeSetFilter
type NodeSetMap ¶
func (NodeSetMap) ToSlice ¶
func (nm NodeSetMap) ToSlice() []NodeSet
type NodeWalletInfo ¶
type NodeWalletInfo struct {
/*
description: Ethereum account address.
note: Only available when Key Store wallet is used.
*/
EthereumAddress string
EthereumPrivateKey string
// description: Path to file where Ethereum wallet key is stored.
EthereumPassFilePath string
/*
description: Address of Clef wallet.
note: Only available when Clef wallet is used.
*/
EthereumClefRPCAddress string
// description: Name of the Vega wallet.
VegaWalletName string
// description: ID of Vega wallet.
VegaWalletID string
// description: Public key used from the Vega wallet.
VegaWalletPublicKey string
// description: Recovery phrase from the Vega wallet.
VegaWalletRecoveryPhrase string
// description: File path of the Vega wallet passphrase.
VegaWalletPassFilePath string
}
description: Information about node wallets.
type NomadJob ¶ added in v0.2.0
type NomadJob struct {
// description: Custom selected ID - name of the job.
ID string
// description: Nomad job definition.
NomadJobRaw string
}
description: Represents a raw Nomad job.
type PostgresProbe ¶ added in v0.3.0
type PostgresProbe struct {
// description: Postgres connection string.
Connection string `hcl:"connection" template:""`
// description: Test query.
Query string `hcl:"query" template:""`
}
description: Allows the user to probe Postgres database. example:
type: hcl
value: |
postgres {
connection = "user=vega dbname=vega password=vega port=5232 sslmode=disable"
query = "select 10 + 10"
}
type ProbesConfig ¶ added in v0.3.0
type ProbesConfig struct {
/*
description: Allows the user to probe HTTP endpoint.
example:
type: hcl
value: |
http {
...
}
*/
HTTP *HTTPProbe `hcl:"http,block" template:""`
/*
description: Allows the user to probe TCP socker.
example:
type: hcl
value: |
tcp {
...
}
*/
TCP *TCPProbe `hcl:"tcp,block" template:""`
/*
description: Allows the user to probe Postgres database with a query.
example:
type: hcl
value: |
postgres {
...
}
*/
Postgres *PostgresProbe `hcl:"postgres,block" template:""`
}
description: Allows the user to define pre start probes on external services. example:
type: hcl
value: |
pre_start_probe {
...
}
type RawJobWithNomadJob ¶ added in v0.2.0
type SmartContractsInfo ¶
type SmartContractsInfo struct {
MultisigControl struct {
EthereumAddress string `json:"Ethereum"`
} `json:"MultisigControl"`
EthereumOwner struct {
Public string `json:"pub"`
Private string `json:"priv"`
} `json:"addr0"`
ERC20Bridge struct {
EthereumAddress string `json:"Ethereum"`
} `json:"erc20_bridge_1"`
StakingBridge struct {
EthereumAddress string `json:"Ethereum"`
} `json:"staking_bridge"`
}
type SmartContractsToken ¶ added in v0.3.0
type TCPProbe ¶ added in v0.3.0
type TCPProbe struct {
// description: Address of the TCP socket.
Address string `hcl:"address" template:""`
}
description: Allows the user to probe TCP socket. example:
type: hcl
value: |
tcp {
address = "localhost:9009"
}
type TendermintNode ¶
type TendermintNode struct {
// description: General information about the node.
GeneratedService `cty:"service"`
// description: ID of the Tendermint node.
NodeID string `cty:"node_id"`
// description: File path of the genesis file used to bootstrap the network.
GenesisFilePath string
// description: Path to binary used to generate and run the node.
BinaryPath string
// description: Generated public key of the Tendermint validator.
ValidatorPublicKey string
}
description: Represents generated Tendermint node.
type TendermintOutput ¶ added in v0.3.0
type VegaNode ¶
type VegaNode struct {
// description: General information about the node.
GeneratedService `cty:"service"`
// description: Mode of the node - `validator` or `full`.
Mode string `cty:"mode"`
/*
description: Path to generated node wallet passphrase file.
note: Only present if `mode = validator`.
*/
NodeWalletPassFilePath string
/*
description: Information about generated/imported node wallets.
note: Only present if `mode = validator`.
*/
NodeWalletInfo *NodeWalletInfo `json:",omitempty"`
// description: Path to binary used to generate and run the node.
BinaryPath string
}
description: Represents generated Vega node.
type VegaNodeOutput ¶
type VegaNodeOutput struct {
NomadJobName string
Tendermint TendermintOutput
VegaNode
}
type Visor ¶ added in v0.2.3
type Visor struct {
// description: General information about Visor.
GeneratedService
// description: Path to binary used to generate and run the node.
BinaryPath string
}