system_config

package
v0.0.0-...-8aaea72 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

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 Fetch

func Fetch(db *gorm.DB) (*SystemConfig, error)

func (*SystemConfig) Create

func (config *SystemConfig) Create(db *gorm.DB) error

func (*SystemConfig) PublicSSHKey

func (config *SystemConfig) PublicSSHKey() (string, error)

func (*SystemConfig) Update

func (config *SystemConfig) Update(db *gorm.DB) 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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL