Documentation ¶
Overview ¶
Copyright (c) 2019-present Mattermost, Inc. All Rights Reserved. See LICENSE.txt for license information.
Index ¶
- type DBCluster
- type ElasticSearchDomain
- type IAMAccess
- type Instance
- type Output
- func (o *Output) DBReaders() []string
- func (o *Output) DBWriter() string
- func (o *Output) HasAgents() bool
- func (o *Output) HasAppServers() bool
- func (o *Output) HasDB() bool
- func (o *Output) HasElasticSearch() bool
- func (o *Output) HasJobServer() bool
- func (o *Output) HasMetrics() bool
- func (o *Output) HasProxy() bool
- func (o *Output) HasS3Bucket() bool
- func (o *Output) HasS3Key() bool
- type PyroscopeConfig
- type S3Bucket
- type ScrapeConfig
- type SecurityGroup
- type StaticConfig
- type Tags
- type Terraform
- func (t *Terraform) Config() *deployment.Config
- func (t *Terraform) Create(initData bool) error
- func (t *Terraform) Destroy() error
- func (t *Terraform) GetCoordinatorStatus() (coordinator.Status, error)
- func (t *Terraform) Info() error
- func (t *Terraform) IngestDump() error
- func (t *Terraform) InjectAction(actionID string) (coordinator.Status, error)
- func (t *Terraform) OpenBrowserFor(resource string) error
- func (t *Terraform) OpenSSHFor(resource string) error
- func (t *Terraform) Output() (*Output, error)
- func (t *Terraform) RunSSHCommand(resource string, args []string) error
- func (t *Terraform) StartCoordinator(config *coordinator.Config) error
- func (t *Terraform) StopCoordinator() (coordinator.Status, error)
- func (t *Terraform) Sync() error
- func (t *Terraform) UploadDashboard(dashboard string) (string, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DBCluster ¶
type DBCluster struct {
Endpoints []string `json:"endpoint"`
}
DBCluster defines a RDS cluster instance resource.
type ElasticSearchDomain ¶
ElasticSearchDomain is an AWS Elasticsearch domain.
type IAMAccess ¶
IAMAccess is a set of credentials that allow API requests to be made as an IAM user.
type Instance ¶
type Instance struct { PrivateIP string `json:"private_ip"` PublicIP string `json:"public_ip"` PublicDNS string `json:"public_dns"` PrivateDNS string `json:"private_dns"` Tags Tags `json:"tags"` }
Instance is an AWS EC2 instance resource.
type Output ¶
type Output struct { ClusterName string Proxy Instance `json:"proxy"` Instances []Instance `json:"instances"` DBCluster DBCluster `json:"dbCluster"` Agents []Instance `json:"agents"` MetricsServer Instance `json:"metricsServer"` ElasticSearchServer ElasticSearchDomain `json:"elasticServer"` JobServers []Instance `json:"jobServers"` S3Bucket S3Bucket `json:"s3Bucket"` S3Key IAMAccess `json:"s3Key"` DBSecurityGroup []SecurityGroup `json:"dbSecurityGroup"` }
Output contains the output variables which are created after a deployment.
func (*Output) HasAgents ¶ added in v1.10.0
HasAgents returns whether a deployment includes agent instances.
func (*Output) HasAppServers ¶
HasAppServers returns whether a deployment includes app server instances.
func (*Output) HasDB ¶ added in v1.2.0
HasDB returns whether a deployment has database installed in it or not.
func (*Output) HasElasticSearch ¶
HasElasticSearch returns whether a deployment has ElasticSaearch installed in it or not.
func (*Output) HasJobServer ¶ added in v1.3.0
HasJobServer returns whether a deployment has a dedicated job server.
func (*Output) HasMetrics ¶
HasMetrics returns whether a deployment includes the metrics instance.
func (*Output) HasS3Bucket ¶
HasS3Bucket returns whether a deployment includes the S3 Bucket.
type PyroscopeConfig ¶ added in v1.11.0
type PyroscopeConfig struct { LogLevel string `yaml:"log-level"` NoSelfProfiling bool `yaml:"no-self-profiling"` ScrapeConfigs []ScrapeConfig `yaml:"scrape-configs"` }
func NewPyroscopeConfig ¶ added in v1.11.0
func NewPyroscopeConfig(mmTargets, ltTargets []string) *PyroscopeConfig
type ScrapeConfig ¶ added in v1.11.0
type ScrapeConfig struct { JobName string `yaml:"job-name"` Scheme string `yaml:"scheme"` ScrapeInterval string `yaml:"scrape-interval"` EnabledProfiles []string `yaml:"enabled-profiles,flow"` StaticConfigs []StaticConfig `yaml:"static-configs,omitempty"` }
type SecurityGroup ¶ added in v1.10.0
SecurityGroup is an AWS security group resource.
type StaticConfig ¶ added in v1.11.0
type Tags ¶
type Tags struct {
Name string `json:"Name"`
}
Tags are the values attached to resource.
type Terraform ¶
type Terraform struct {
// contains filtered or unexported fields
}
Terraform manages all operations related to interacting with an AWS environment using Terraform.
func New ¶
func New(id string, cfg deployment.Config) (*Terraform, error)
New returns a new Terraform instance.
func (*Terraform) Config ¶ added in v1.3.0
func (t *Terraform) Config() *deployment.Config
Config returns the deployment config associated with the Terraform instance.
func (*Terraform) GetCoordinatorStatus ¶
func (t *Terraform) GetCoordinatorStatus() (coordinator.Status, error)
GetCoordinatorStatus returns information about the status of the coordinator in the current load-test deployment.
func (*Terraform) IngestDump ¶ added in v1.10.0
IngestDump works on an already deployed terraform setup and restores the DB dump file to the Mattermost server. It uses the deployment config for the dump URI.
func (*Terraform) InjectAction ¶ added in v1.10.0
func (t *Terraform) InjectAction(actionID string) (coordinator.Status, error)
InjectAction injects a named action for all agents that is run once.
func (*Terraform) OpenBrowserFor ¶
OpenBrowserFor opens a web browser for the resource
func (*Terraform) OpenSSHFor ¶
OpenSSHFor starts a ssh connection to the resource
func (*Terraform) Output ¶
Output reads the current terraform output and caches it internally for future use. The output is guaranteed to be up to date after calls to Create and Destroy.
func (*Terraform) RunSSHCommand ¶ added in v1.3.0
RunSSHCommand runs a command on a given machine.
func (*Terraform) StartCoordinator ¶
func (t *Terraform) StartCoordinator(config *coordinator.Config) error
StartCoordinator starts the coordinator in the current load-test deployment.
func (*Terraform) StopCoordinator ¶
func (t *Terraform) StopCoordinator() (coordinator.Status, error)
StopCoordinator stops the coordinator in the current load-test deployment.