Documentation
¶
Index ¶
- type AMQPConfig
- type AMQPProtocol
- type FirewallConfig
- type HAProxyConfig
- type ImageRegistryConfig
- type LetsEncryptConfig
- type PersistentVolumeBackupConfig
- type PubSubConfig
- type PubSubMode
- type RedisConfig
- type RemoteTaskQueueType
- type S3BackupConfig
- type SystemConfig
- type TaskQueueConfig
- type TaskQueueMode
- type UDPProxyConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AMQPConfig ¶
type AMQPConfig struct {
Protocol AMQPProtocol `json:"protocol"`
Host string `json:"host"`
Port uint `json:"port"`
User string `json:"user"`
Password string `json:"password"`
VHost string `json:"vhost"`
}
AMQPConfig : configuration for AMQP
func (AMQPConfig) URI ¶
func (a AMQPConfig) URI() string
type AMQPProtocol ¶
type AMQPProtocol string
AMQPProtocol : protocol for AMQP
const ( AMQP AMQPProtocol = "amqp" AMQPS AMQPProtocol = "amqps" )
type FirewallConfig ¶
type FirewallConfig struct {
Enabled bool `json:"enabled" gorm:"default:false"`
AllowPortCommand string `json:"allow_port_command"` // can contain {{port}} as placeholder
DenyPortCommand string `json:"deny_port_command"` // can contain {{port}} as placeholder
}
FirewallConfig : hold information about firewall configuration
type HAProxyConfig ¶
type HAProxyConfig struct {
Image string `json:"image"`
Username string `json:"username"`
Password string `json:"password"`
}
HAProxyConfig : configuration for HAProxy
type ImageRegistryConfig ¶
type ImageRegistryConfig struct {
Endpoint string `json:"endpoint"`
Username string `json:"username"`
Password string `json:"password"`
Namespace string `json:"namespace"`
}
ImageRegistryConfig : configuration for image registry
func (ImageRegistryConfig) IsConfigured ¶
func (r ImageRegistryConfig) IsConfigured() bool
func (ImageRegistryConfig) URI ¶
func (r ImageRegistryConfig) URI() string
type LetsEncryptConfig ¶
type LetsEncryptConfig struct {
ID uint `json:"id" gorm:"primaryKey"`
Staging bool `json:"staging" gorm:"default:false"`
EmailID string `json:"email_id"`
PrivateKey string `json:"private_key"`
}
LetsEncryptConfig : hold information about lets encrypt configuration
type PersistentVolumeBackupConfig ¶
type PersistentVolumeBackupConfig struct {
S3BackupConfig S3BackupConfig `json:"s3_backup_config" gorm:"embedded;embeddedPrefix:s3_backup_"`
}
PersistentVolumeBackupConfig : configuration for persistent volume backup
type PubSubConfig ¶
type PubSubConfig struct {
Mode PubSubMode `json:"mode" gorm:"default:'local'"`
BufferLength uint `json:"buffer_length" gorm:"default:2000"`
RedisConfig RedisConfig `json:"redis_config" gorm:"embedded;embeddedPrefix:redis_"`
}
PubSubConfig : configuration for pub-sub system
type PubSubMode ¶
type PubSubMode string
PubSubMode : mode of the pub-sub system
const ( LocalPubSub PubSubMode = "local" RemotePubSub PubSubMode = "remote" )
type RedisConfig ¶
type RedisConfig struct {
Host string `json:"host"`
Port uint `json:"port"`
Password string `json:"password"`
DatabaseID uint `json:"database_id"`
}
RedisConfig : configuration for Redis
type RemoteTaskQueueType ¶
type RemoteTaskQueueType string
const ( AmqpQueue RemoteTaskQueueType = "amqp" RedisQueue RemoteTaskQueueType = "redis" NoneRemoteQueue RemoteTaskQueueType = "none" )
type S3BackupConfig ¶
type S3BackupConfig struct {
Enabled bool `json:"enabled"`
Endpoint string `json:"endpoint"`
Region string `json:"region"`
Bucket string `json:"bucket"`
AccessKeyID string `json:"access_key_id"`
SecretAccessKey string `json:"secret_access_key"`
ForcePathStyle bool `json:"force_path_style"`
}
S3BackupConfig : configuration for S3 backup
type SystemConfig ¶
type SystemConfig struct {
ID uint `json:"id" gorm:"primaryKey"`
ConfigVersion uint `json:"config_version" gorm:"default:1"`
NetworkName string `json:"network_name"`
RestrictedPorts pq.Int64Array `json:"restricted_ports" gorm:"type:integer[]"`
JWTSecretKey string `json:"jwt_secret_key"`
SshPrivateKey string `json:"ssh_private_key"`
LetsEncryptConfig LetsEncryptConfig `json:"lets_encrypt_config" gorm:"embedded;embeddedPrefix:lets_encrypt_config_"`
HAProxyConfig HAProxyConfig `json:"haproxy_config" gorm:"embedded;embeddedPrefix:haproxy_config_"`
UDPProxyConfig UDPProxyConfig `json:"udp_proxy_config" gorm:"embedded;embeddedPrefix:udp_proxy_config_"`
PersistentVolumeBackupConfig PersistentVolumeBackupConfig `json:"persistent_volume_backup_config" gorm:"embedded;embeddedPrefix:persistent_volume_backup_config_"`
PubSubConfig PubSubConfig `json:"pub_sub_config" gorm:"embedded;embeddedPrefix:pub_sub_config_"`
TaskQueueConfig TaskQueueConfig `json:"task_queue_config" gorm:"embedded;embeddedPrefix:task_queue_config_"`
ImageRegistryConfig ImageRegistryConfig `json:"image_registry_config" gorm:"embedded;embeddedPrefix:image_registry_config_"`
}
SystemConfig : hold information about system configuration
func (*SystemConfig) PublicSSHKey ¶
func (config *SystemConfig) PublicSSHKey() (string, error)
type TaskQueueConfig ¶
type TaskQueueConfig struct {
Mode TaskQueueMode `json:"mode" gorm:"default:'local'"`
RemoteTaskQueueType RemoteTaskQueueType `json:"remote_task_queue_type" gorm:"default:'none'"`
MaxOutstandingMessagesPerQueue uint `json:"max_outstanding_messages_per_queue" gorm:"default:2"`
NoOfWorkersPerQueue uint `json:"no_of_workers_per_queue"`
AMQPConfig AMQPConfig `json:"amqp_config" gorm:"embedded;embeddedPrefix:amqp_"`
RedisConfig RedisConfig `json:"redis_config" gorm:"embedded;embeddedPrefix:redis_"`
}
TaskQueueConfig : configuration for task queue system
type TaskQueueMode ¶
type TaskQueueMode string
TaskQueueMode : mode of the task queue system
const ( LocalTaskQueue TaskQueueMode = "local" RemoteTaskQueue TaskQueueMode = "remote" )
type UDPProxyConfig ¶
type UDPProxyConfig struct {
Image string `json:"image"`
}
UDPProxyConfig : configuration for UDP Proxy