Documentation
¶
Index ¶
Constants ¶
View Source
const ( DefaultNodeHost = "127.0.0.1:8332" DefaultSettingsPathName = ".btc-cloudkit" )
View Source
const ( // DefaultThing DefaultThing = "defaultThing" // LambdaStuff LambdaServerPortKey = "_LAMBDA_SERVER_PORT" DefaultLambdaServerPort = "8181" // Filesystem Stuff // DefaultProvider is the default provider to use // if no config is provided to override the default // when deploying the service, or sent with a header // that lets a single request DefaultProvider = "aws/s3" // DefaultNamespace is the default key/filepath prefix to // namespace files to, it can be logs/files/data DefaultNamespace = "files" // MaxFileCount is the max number of files allowed // in any single upload MaxFileCount = 5 DefaultSSHKeyName = "cloudkit-ssh-key" )
View Source
const (
SettingsDirName = ".btc-cloudkit"
)
Variables ¶
This section is empty.
Functions ¶
func SetLambdaRuntimeDefaults ¶
func SetLambdaRuntimeDefaults()
Types ¶
type AWS ¶
type AWS struct {
// Storage Configurations
DynamoDBTablePrefix string `mapstructure:"dynamodbTablePrefix"`
}
type Config ¶
type Config struct {
Verbosity string `mapstructure:"verbosity"`
LogFormatter string `mapstructure:"logFormatter"`
DefaultNamespace string `mapstructure:"defaultNamespace"`
// DefaultPlatform (optional) is the default platform
// to target when creating resources, vs defaulting the to
// default enum (ie: TARGET_AWS_UNSPECIFIED) an override can be
// configured here by the deployment operator to target some other
// target (eg: DigitalOcean)
DefaultPlatform string `mapstructure:"digitalOceanToken"`
DigitalOceanToken string `mapstructure:"digitalOceanToken"`
CloudflareAPIToken string `mapstructure:"cloudflareApiToken"`
// Server stuff
Listen string `mapstructure:"listen"`
GRPCListen string `mapstructure:"grpcListen"`
GRPCGatewayListen string `mapstructure:"grpcGatewayListen"`
GRPCGatewayEnabled bool `mapstructure:"grpcGatewayEnabled"`
Node Node `mapstructure:"node"`
Streams StreamConfig `mapstructure:"streams"`
// Notifications
Notifications Notifications `mapstructure:"notifications"`
// Environment
Environment string `mapstructure:"environment"`
// ApiKey
EnableApiKey bool `mapstructure:"enableApiKey"`
APIKey string `mapstructure:"apiKey"`
SSHPrivKey string `mapstructure:"sshPrivKey"`
SSHKeyPath string `mapstructure:"sshKeyPath"`
SSHKeyName string `mapstructure:"sshKeyName"`
// Redis / MemoryDB stuff for presence and key management
RedisHost string `mapstructure:"redisHost"`
RedisPassword string `mapstructure:"redisPassword"`
RedisDB int `mapstructure:"redisDB"`
EventPublisherName string `mapstructure:"eventPublisherName"`
EventPublisherARN string `mapstructure:"eventPublisherARN"`
EventPublisherSQSQueueURL string `mapstructure:"eventPublisherSQSQueueURL"`
// Publishers
RabbitMQ RabbitMQConfig `mapstructure:"rmq"`
AWS AWS `mapstructure:"aws"`
// Lightning implementations
LND lightning.LNDConfig `mapstructure:"lnd"`
Eclair lightning.EclairConfig `mapstructure:"eclair"`
}
Config stores all service configuration that can be injected via ENV var or falls back to defaults
type Notifications ¶
type RabbitMQConfig ¶
type RabbitMQConfig struct {
URL string `mapstructure:"URL"`
QueueName string `mapstructure:"QueueName"`
ExchangeName string `mapstructure:"ExchangeName"`
Mandatory bool `mapstructure:"Mandatory"`
Immediate bool `mapstructure:"Immediate"`
DeliveryMode int `mapstructure:"DeliveryMode"`
ContentType string `mapstructure:"ContentType"`
AutoAck bool `mapstructure:"AutoAck"`
// Optional
Durable bool `mapstructure:"Durable"`
AutoDelete bool `mapstructure:"AutoDelete"`
Exclusive bool `mapstructure:"Exclusive"`
NoWait bool `mapstructure:"NoWait"`
}
type StreamConfig ¶
type StreamConfig struct {
ZeroMqListenAddr string `mapstructure:"zeroMQListenAddr"`
}
Click to show internal directories.
Click to hide internal directories.