Documentation ¶
Index ¶
- Constants
- func CreateCluster(cfg *ltops.ClusterConfig) (ltops.Cluster, error)
- type AppConfig
- type ChartConfig
- type Cluster
- func (c *Cluster) Configuration() *ltops.ClusterConfig
- func (c *Cluster) Connect() error
- func (c *Cluster) DBConnectionString() string
- func (c *Cluster) DBDriverName() string
- func (c *Cluster) DBInstanceCount() int
- func (c *Cluster) DBReaderConnectionStrings() []string
- func (c *Cluster) DBSettings() (*ltops.DBSettings, error)
- func (c *Cluster) Deploy(options *ltops.DeployOptions) error
- func (c *Cluster) Destroy() error
- func (c *Cluster) GetAppInstancesAddrs() ([]string, error)
- func (c *Cluster) GetHelmConfigFromProfile(profile string, users int, license string) (*ChartConfig, error)
- func (c *Cluster) GetLoadtestInstancesAddrs() ([]string, error)
- func (c *Cluster) GetMetricsAddr() (string, error)
- func (c *Cluster) GetMetricsPodName() (string, error)
- func (c *Cluster) GetProxyInstancesAddrs() ([]string, error)
- func (c *Cluster) Loadtest(options *ltops.LoadTestOptions) error
- func (c *Cluster) Name() string
- func (c *Cluster) Release() string
- func (c *Cluster) SSHKey() []byte
- func (c *Cluster) SiteURL() string
- func (c *Cluster) Type() string
- type CustomEmojiFeature
- type DatabaseExternal
- type DatabaseFeature
- type DatabaseInternal
- type FeaturesConfig
- type GlobalConfig
- type GrafanaFeature
- type ImageSetting
- type IngressFeature
- type LinkPreviewFeature
- type LoadTestFeature
- type MySQLConfigFiles
- type MySQLHAConfig
- type MySQLHAOptions
- type PrometheusConfig
- type ProxyConfig
- type ProxyController
- type Quantity
- type ResourceSetting
- type ResourcesSetting
- type StorageFeature
Constants ¶
View Source
const (
CLUSTER_TYPE = "kubernetes"
)
Variables ¶
This section is empty.
Functions ¶
func CreateCluster ¶
func CreateCluster(cfg *ltops.ClusterConfig) (ltops.Cluster, error)
Types ¶
type AppConfig ¶
type AppConfig struct { ReplicaCount int `yaml:"replicaCount"` Image *ImageSetting `yaml:"image"` Resources *ResourcesSetting `yaml:"resources"` }
type ChartConfig ¶
type ChartConfig struct { Global *GlobalConfig `yaml:"global"` MySQLHA *MySQLHAConfig `yaml:"mysqlha"` App *AppConfig `yaml:"mattermostApp"` Proxy *ProxyConfig `yaml:"nginx-ingress"` Prometheus *PrometheusConfig `yaml:"prometheus"` }
func (*ChartConfig) TotalCPURequests ¶
func (c *ChartConfig) TotalCPURequests() *Quantity
func (*ChartConfig) TotalMemoryRequests ¶
func (c *ChartConfig) TotalMemoryRequests() *Quantity
type Cluster ¶
type Cluster struct { Config *ltops.ClusterConfig ReleaseName string Kubernetes *kubernetes.Clientset `json:"-"` }
func (*Cluster) Configuration ¶
func (c *Cluster) Configuration() *ltops.ClusterConfig
func (*Cluster) DBConnectionString ¶
func (*Cluster) DBDriverName ¶
func (*Cluster) DBInstanceCount ¶
func (*Cluster) DBReaderConnectionStrings ¶
func (*Cluster) DBSettings ¶
func (c *Cluster) DBSettings() (*ltops.DBSettings, error)
func (*Cluster) GetAppInstancesAddrs ¶
func (*Cluster) GetHelmConfigFromProfile ¶
func (*Cluster) GetLoadtestInstancesAddrs ¶
func (*Cluster) GetMetricsAddr ¶
func (*Cluster) GetMetricsPodName ¶
func (*Cluster) GetProxyInstancesAddrs ¶
type CustomEmojiFeature ¶
type CustomEmojiFeature struct {
Enabled bool `yaml:"enabled"`
}
type DatabaseExternal ¶
type DatabaseFeature ¶
type DatabaseFeature struct { UseInternal bool `yaml:"useInternal"` Internal *DatabaseInternal `yaml:"internal,omitempty"` External *DatabaseExternal `yaml:"external,omitempty"` }
type DatabaseInternal ¶
type FeaturesConfig ¶
type FeaturesConfig struct { Ingress *IngressFeature `yaml:"ingress"` Database *DatabaseFeature `yaml:"database"` LoadTest *LoadTestFeature `yaml:"loadTest"` Grafana *GrafanaFeature `yaml:"grafana"` LinkPreviews *LinkPreviewFeature `yaml:"linkPreviews"` CustomEmoji *CustomEmojiFeature `yaml:"customEmoji"` Storage *StorageFeature `yaml:"storage"` }
type GlobalConfig ¶
type GlobalConfig struct { SiteURL string `yaml:"siteUrl"` MattermostLicense string `yaml:"mattermostLicense"` Features *FeaturesConfig `yaml:"features"` }
type GrafanaFeature ¶
type GrafanaFeature struct {
Enabled bool `yaml:"enabled"`
}
type ImageSetting ¶
type ImageSetting struct {
Tag string `yaml:"tag"`
}
type IngressFeature ¶
type IngressFeature struct {
Enabled bool `yaml:"enabled"`
}
type LinkPreviewFeature ¶
type LinkPreviewFeature struct {
Enabled bool `yaml:"enabled"`
}
type LoadTestFeature ¶
type LoadTestFeature struct { Enabled bool `yaml:"enabled"` ReplicaCount int `yaml:"replicaCount"` Image *ImageSetting `yaml:"image"` Resources *ResourcesSetting `yaml:"resources"` NumTeams int `yaml:"numTeams"` NumChannelsPerTeam int `yaml:"numChannelsPerTeam"` NumUsers int `yaml:"numUsers"` NumPosts int `yaml:"numPosts"` ReplyChance float32 `yaml:"replyChance"` LinkPreviewChance float32 `yaml:"linkPreviewChance"` SkipBulkLoad bool `yaml:"skipBulkLoad"` TestLengthMinutes int `yaml:"testLengthMinutes"` NumActiveEntities int `yaml:"numActiveEntities"` ActionRateMilliseconds int `yaml:"actionRateMilliseconds"` ActionRateMaxVarianceMilliseconds int `yaml:"actionRateMaxVarianceMilliseconds"` }
type MySQLConfigFiles ¶
type MySQLHAConfig ¶
type MySQLHAConfig struct { Enabled bool `yaml:"enabled"` Options *MySQLHAOptions `yaml:"mysqlha"` Resources *ResourcesSetting `yaml:"resources"` }
type MySQLHAOptions ¶
type MySQLHAOptions struct { ReplicaCount int `yaml:"replicaCount"` ConfigFiles *MySQLConfigFiles `yaml:"configFiles"` }
type PrometheusConfig ¶
type PrometheusConfig struct {
Enabled bool `yaml:"enabled"`
}
type ProxyConfig ¶
type ProxyConfig struct { Enabled bool `yaml:"enabled"` Controller *ProxyController `yaml:"controller"` }
type ProxyController ¶
type ProxyController struct { ReplicaCount int `yaml:"replicaCount"` Resources *ResourcesSetting `yaml:"resources"` }
type Quantity ¶
func (*Quantity) MarshalYAML ¶
type ResourceSetting ¶
type ResourcesSetting ¶
type ResourcesSetting struct { Limits *ResourceSetting `yaml:"limits,omitempty"` Requests *ResourceSetting `yaml:"requests"` }
type StorageFeature ¶
type StorageFeature struct {
Enabled bool `yaml:"enabled"`
}
Click to show internal directories.
Click to hide internal directories.