Documentation ¶
Index ¶
- Constants
- func CreateContextFromTemplate(name string, templateFilePath string) error
- func DeleteContext(ctxName string) error
- func GetConfigBaseDir() (string, error)
- func GetContextBaseDir() (string, error)
- func GetContexts() ([]string, error)
- func GetCurrentContextName() (string, error)
- func ReadConfigFromBytes(buf []byte, configTarget interface{}) error
- func ReadConfigFromFile(confFilePath string, configTarget interface{}) error
- func StringifyConfig(config interface{}) (string, error)
- func UseContext(ctxName string) error
- func WriteConfigToContext(ctxName string, ctxConfig *ContextConfig) error
- func WriteConfigToCurrentContext(ctxConfig *ContextConfig) error
- func WriteConfigToFile(confFilePath string, config interface{}) error
- type ContextConfig
- type ExecutionConfig
- type Infra
- type NetworkConfig
- type NetworkType
- type NodeConfig
- type NodeType
- type PluginName
- type StorageConfig
Constants ¶
View Source
const (
ConfigVersion = "0.1"
)
Variables ¶
This section is empty.
Functions ¶
func DeleteContext ¶
func GetConfigBaseDir ¶
func GetContextBaseDir ¶
func GetContexts ¶
func GetCurrentContextName ¶
func ReadConfigFromBytes ¶
func ReadConfigFromFile ¶
func StringifyConfig ¶
func UseContext ¶
func WriteConfigToContext ¶
func WriteConfigToContext(ctxName string, ctxConfig *ContextConfig) error
func WriteConfigToCurrentContext ¶
func WriteConfigToCurrentContext(ctxConfig *ContextConfig) error
func WriteConfigToFile ¶
Types ¶
type ContextConfig ¶
type ContextConfig struct { Network NetworkConfig `yaml:"network"` Nodes map[string]NodeConfig `yaml:"nodes"` }
func GetContextConfig ¶
func GetContextConfig(ctxName string) (*ContextConfig, error)
func NewContextConfig ¶
func NewContextConfig() *ContextConfig
func ReadOrCreateContextConfig ¶
func ReadOrCreateContextConfig() (*ContextConfig, error)
type ExecutionConfig ¶
type Infra ¶
type Infra struct { CloudflareAPIKey string `yaml:"cloudflareAPIKey,omitempty"` CloudflareZoneId string `yaml:"cloudflareZoneId,omitempty"` CloudflareTLD string `yaml:"cloudflareTld,omitempty"` AWSAccessKeyID string `yaml:"awsAccessKeyID,omitempty"` AWSSecretAccessKey string `yaml:"awsSecretAccessKey,omitempty"` AWSRegion string `yaml:"awsRegion,omitempty"` }
type NetworkConfig ¶
type NetworkConfig struct { // Network that the node should be configured to deploy on. // Choose "devnet", "testnet", or "mainnet" // "devnet" will automatically spin up local chains and identity service DeployOn NetworkType `yaml:"deployOn"` // Optional Infrastructure API credentials Infra *Infra `yaml:"infra,omitempty"` }
type NetworkType ¶
type NetworkType string
const ( Devnet NetworkType = "devnet" Testnet NetworkType = "testnet" Mainnet NetworkType = "mainnet" )
type NodeConfig ¶
type NodeConfig struct { Type NodeType `yaml:"type"` // The delegate owner key can either be directly specified or an // absolute path to a file on the HOST machine (not your local machine) containing the key PrivateKey string `yaml:"privateKey"` Wallet string `yaml:"wallet"` RewardsWallet string `yaml:"rewardsWallet"` // Whether this node is launched on the local machine. IsLocalhost bool `yaml:"isLocalhost"` // The version of the audius protocol to run (defaults to "current" behavior if omitted) // "current" - Run the latest tested release // "edge" - Run the latest release // "prelease" - Run the most recent unreleased build // "x.x.x" - Run the specified version, e.g. "0.6.87" // <other> - (For development) run using the specified audius-docker-compose branch Version string `yaml:"version,omitempty"` // Specify non-standard ports for http traffic HttpPort uint `yaml:"httpPort,omitempty"` HttpsPort uint `yaml:"httpsPort,omitempty"` // Specify non-standard ports for core traffic CorePortP2P uint `yaml:"corePortP2P,omitempty"` CorePortRPC uint `yaml:"corePortRPC,omitempty"` // A string of additional port bindings to allow exposing docker-in-docker containers to the host // e.g. "5433:5432,9201:9200" would expose the postgres and elastic search dind containers // on the host ports 5433 and 9201 respectively HostPorts string `yaml:"hostPorts,omitempty"` // Configure remote blob storage (S3, GCS, Azure) Storage StorageConfig `yaml:"storage,omitempty"` // Postgres db url for remote db and/or custom password DbUrl string `yaml:"dbUrl,omitempty"` // Stores any as-yet unstructured configuration // (for compatibility with audius-docker-compose migrations) OverrideConfig map[string]string `yaml:"overrideConfig,omitempty"` // (EXPERIMENTAL) Path on host machine to env file containing additional private configuration RemoteConfigFile string `yaml:"remoteConfigFile,omitempty"` PluginsConfig map[PluginName]map[string]string `yaml:"plugins,omitempty"` }
base structure that all server types need
func NewNodeConfig ¶
func NewNodeConfig(nodeType NodeType) NodeConfig
func (*NodeConfig) ToOverrideEnv ¶
func (config *NodeConfig) ToOverrideEnv(host string, nc NetworkConfig) map[string]string
type PluginName ¶
type PluginName = string
name of the plugin that should match with it's docker profile this will be used with the REGISTER_PLUGINS env var
type StorageConfig ¶
type StorageConfig struct { /* Format: s3://<your_bucket_name> (AWS) gs://<your_bucket_name> (GCS) azblob://<your_bucket_name> (AZURE) */ StorageUrl string `yaml:"storageUrl,omitempty"` // S3 AwsAccessKeyId string `yaml:"awsAccessKeyId,omitempty"` AwsSecretAccessKey string `yaml:"awsSecretAccessKey,omitempty"` AwsRegion string `yaml:"awsRegion,omitempty"` // Azure AzureStorageAccount string `yaml:"azureStorageAccount,omitempty"` AzureStorageKey string `yaml:"azureStorageKey,omitempty"` // GCS // The name of the json file containing your google application credentials, // e.g. 'google-application-credentials.json' (exclude the path) // Put this file in /var/k8s/mediorum/ on the host machine GoogleApplicationCredentials string `yaml:"googleApplicationCredentials,omitempty"` }
Click to show internal directories.
Click to hide internal directories.