Documentation ¶
Index ¶
- Constants
- Variables
- func CheckErr(message string, err error)
- func ConvertResponseToString(response io.ReadCloser) (converted string)
- func CreateCommands()
- func CreateHTTPClient() *http.Client
- func GetCommands(w http.ResponseWriter, r *http.Request)
- func GetEnvs(w http.ResponseWriter, r *http.Request)
- func PrintLogoOnConsole()
- func RemoveLastCharacter(s string) string
- func Start()
- func WriteOnFile(path string, text string)
- type Command
- type Container
- type Env
- type Kanye
- type LoadBalancer
- type RancherListener
- func (ranchListener *RancherListener) DeleteContainer(ID string) string
- func (ranchListener *RancherListener) DisableCanary(ID string) string
- func (ranchListener *RancherListener) EnableCanary(ID string) string
- func (RanchListener *RancherListener) GetAllEnvironmentsFromRancher() string
- func (ranchListener *RancherListener) GetHaproxyCfg(containerID string) string
- func (ranchListener *RancherListener) GetHostInfo(ID string) string
- func (ranchListener *RancherListener) GetInstances(serviceID string) string
- func (ranchListener *RancherListener) GetLoadBalancers() []*LoadBalancer
- func (ranchListener *RancherListener) GetService(ID string) string
- func (ranchListener *RancherListener) GetServiceStack(ID string) string
- func (ranchListener *RancherListener) GetServicesFromStack(ID string) string
- func (ranchListener *RancherListener) GetStacks() string
- func (rancherListener *RancherListener) HTTPSendRancherRequest(url string, method string, data string) string
- func (ranchListener *RancherListener) ListContainers() string
- func (ranchListener *RancherListener) ListServices() string
- func (ranchListener *RancherListener) LogsContainer(containerID string) string
- func (rancherListener *RancherListener) RancherAuthAdd(request *http.Request)
- func (ranchListener *RancherListener) RestartContainer(containerID string)
- func (ranchListener *RancherListener) SearchForLbPercent(ID string) (new string, old string)
- func (ranchListener *RancherListener) StartService(ID string)
- func (ranchListener *RancherListener) StopService(ID string)
- func (ranchListener *RancherListener) UpdateCustomHaproxyCfg(ID string, newPercent string, oldPercent string) string
- func (ranchListener *RancherListener) UpgradeService(ID string, newImage string) string
- type ResultSearch
- type SlackListener
- type SplunkListener
Constants ¶
const ( // GetHTTP é a constante usada para requisições de verbo GET GetHTTP = "GET" // PostHTTP é a constante usada para requisições de verbo POST PostHTTP = "POST" // PutHTTP é a constante usada para requisições de verbo PUT PutHTTP = "PUT" // DeleteHTTP é a constante usada para requisições de verbo DELETE DeleteHTTP = "DELETE" )
Variables ¶
var ( // RancherAccessKey é a KEY de usuário para acessar na API do Rancher 1.6 RancherAccessKey string // RancherSecretKey é a KEY de senha para acessar na API do Rancher 1.6 RancherSecretKey string // RancherBaseURL é a URL base para acesso aos End-points da API do Rancher 1.6 RancherBaseURL string // RancherProjectID é o ID do projeto base que será usado nas requisições RancherProjectID string // SlackBotToken é o token que será usado para ter acesso a aplicação do BOT no Slack API SlackBotToken string // SlackBotID é o ID do BOT que poderá ser usado para futuras comparações de mensagens SlackBotID string // SlackBotChannel é o canal padrão que o BOT irá escutar SlackBotChannel string // SlackBotVerificationToken é o Verification Token do BOT que será usado // no interactive SlackBotVerificationToken string // Port é a porta onde a API irá rodar Port string // SplunkUsername para login no Splunk SplunkUsername string // SplunkPassword para login no Splunk SplunkPassword string // SplunkBaseURL para login no Splunk SplunkBaseURL string // DatabaseUsername is a user to connect on MySQL database DatabaseUsername string // DatabasePassword is a password to connect on MySQL database DatabasePassword string // DatabaseURL is a URL to connect on MySQL database DatabaseURL string // DatabaseSchema is a schema to connect on MySQL database DatabaseSchema string // StatusCakeChannelID :: StatusCakeChannelID string // GinMode :: GinMode string RanchListener *RancherListener )
var Commands []Command
Commands é a variável que guarda todos os comandos do BOT
var DB *gorm.DB
is a single variable to connect on DB on all project
Functions ¶
func ConvertResponseToString ¶
func ConvertResponseToString(response io.ReadCloser) (converted string)
ConvertResponseToString : Converte uma série de dados do tipo ReadCloser para String
func CreateCommands ¶
func CreateCommands()
CreateCommands é a função que "cria" todos os comandos, essa função é chamada no main.go
func CreateHTTPClient ¶
CreateHTTPClient é a função responsável por retornar um client para que possam ser enviadas as requisições
func GetCommands ¶
func GetCommands(w http.ResponseWriter, r *http.Request)
GetCommands retorna todos os comandos com todos seus atributos
func RemoveLastCharacter ¶
RemoveLastCharacter é a função que remove o último caracter de uma string
func WriteOnFile ¶
WriteOnFile é a função que escreve o que for passado por parâmetro dentro do arquivo passado no path
Types ¶
type Command ¶
type Command struct { Cmd string `json:"command"` Description string `json:"description"` Usage string `json:"usage"` Lint string `json:"lint"` IsActive bool `json:"isActive"` }
Command é a struct responsável por guardar informações referentes a um comando
type Container ¶
type Container struct { ID string `json:"id"` ImageUUID string `json:"imageUuid"` Name string `json:"name"` State string `json:"state"` HealthState string `json:"healthState"` HostID string `json:"hostId"` }
Container é uma estrutura que é usada para mostrar informações ao usuário
type LoadBalancer ¶
LoadBalancer é a estrutura que tem como objetivo representar um LoadBalancer do Rancher de forma um pouco mais resumida (é usado na função GetLoadBalancers())
type RancherListener ¶
type RancherListener struct { ID uint // contains filtered or unexported fields }
RancherListener é uma estrutura onde ficam armazenados os dados de acesso ao Rancher API
func (*RancherListener) DeleteContainer ¶
func (ranchListener *RancherListener) DeleteContainer(ID string) string
func (*RancherListener) DisableCanary ¶
func (ranchListener *RancherListener) DisableCanary(ID string) string
DisableCanary é a função que envia a requisição para a API do Rancher com a intenção de comentar todas as linhas do haproxy.cfg
func (*RancherListener) EnableCanary ¶
func (ranchListener *RancherListener) EnableCanary(ID string) string
EnableCanary é a função que retira os "#" de todo o haproxy.cfg depois envia como PUT para a API do Rancher
func (*RancherListener) GetAllEnvironmentsFromRancher ¶
func (RanchListener *RancherListener) GetAllEnvironmentsFromRancher() string
GetAllEnvironmentsFromRancher : get all projects from Rancher
func (*RancherListener) GetHaproxyCfg ¶
func (ranchListener *RancherListener) GetHaproxyCfg(containerID string) string
GetHaproxyCfg Busca a Custom haproxy.cfg do LoadBalancer enviado como parâmetro
func (*RancherListener) GetHostInfo ¶
func (ranchListener *RancherListener) GetHostInfo(ID string) string
func (*RancherListener) GetInstances ¶
func (ranchListener *RancherListener) GetInstances(serviceID string) string
GetInstances é uma função que retornará uma lista de todas as instâncias de um serviço
func (*RancherListener) GetLoadBalancers ¶
func (ranchListener *RancherListener) GetLoadBalancers() []*LoadBalancer
GetLoadBalancers é a função responsável por trazer um slice de LoadBalancer, que pode ser usado para selects na interface do BOT do Slack
func (*RancherListener) GetService ¶
func (ranchListener *RancherListener) GetService(ID string) string
GetService é uma função que retorna o JSON de uma requisição que busca informações de um único serviço
func (*RancherListener) GetServiceStack ¶
func (ranchListener *RancherListener) GetServiceStack(ID string) string
GetServiceStack é uma função que retorna o JSON de uma requisição que busca informações da stack de um serviço em específico
func (*RancherListener) GetServicesFromStack ¶
func (ranchListener *RancherListener) GetServicesFromStack(ID string) string
GetServicesFromStack é uma função que retorna o JSON de uma requisição que busca todos os serviços de uma stack especificada
func (*RancherListener) GetStacks ¶
func (ranchListener *RancherListener) GetStacks() string
GetStacks é uma função que retorna o JSON de uma requisição que busca todas as stacks do environment
func (*RancherListener) HTTPSendRancherRequest ¶
func (rancherListener *RancherListener) HTTPSendRancherRequest(url string, method string, data string) string
HTTPSendRancherRequest é a função que envia a requisição para a API do Rancher e retorna o body do response já convertido em String
func (*RancherListener) ListContainers ¶
func (ranchListener *RancherListener) ListContainers() string
ListContainers é uma função que retornará uma lista de todos os containers de um projeto/environment
func (*RancherListener) ListServices ¶
func (ranchListener *RancherListener) ListServices() string
ListServices é uma função que retorna o JSON (em string) de uma requisição que tem como objetivo buscar todos os serviços do Environment
func (*RancherListener) LogsContainer ¶
func (ranchListener *RancherListener) LogsContainer(containerID string) string
LogsContainer : Função responsável retornar os logs do container
func (*RancherListener) RancherAuthAdd ¶
func (rancherListener *RancherListener) RancherAuthAdd(request *http.Request)
RancherAuthAdd é a função que adiciona as credenciais na requisição que será feita para a API do Rancher
func (*RancherListener) RestartContainer ¶
func (ranchListener *RancherListener) RestartContainer(containerID string)
RestartContainer : Função responsável por dar restart no container recebido por parâmetro
func (*RancherListener) SearchForLbPercent ¶
func (ranchListener *RancherListener) SearchForLbPercent(ID string) (new string, old string)
SearchForLbPercent : Procura pelo percentual atual do LB dentro do lbConfig.config
func (*RancherListener) StartService ¶
func (ranchListener *RancherListener) StartService(ID string)
StartService : Função responsável por dar start no container recebido por parâmetro
func (*RancherListener) StopService ¶
func (ranchListener *RancherListener) StopService(ID string)
StopService : Função responsável por dar stop no container recebido por parâmetro
func (*RancherListener) UpdateCustomHaproxyCfg ¶
func (ranchListener *RancherListener) UpdateCustomHaproxyCfg(ID string, newPercent string, oldPercent string) string
UpdateCustomHaproxyCfg Edita o lbConfig.config do LB
func (*RancherListener) UpgradeService ¶
func (ranchListener *RancherListener) UpgradeService(ID string, newImage string) string
UpgradeService é a função que faz o upgrade da imagem do serviço, recebendo como parâmetro o ID do serviço e o nome da nova imagem do serviço
type ResultSearch ¶
type ResultSearch struct { Timestamp string `json:"@timestamp"` Version int `json:"@version"` Message string `json:"message"` LoggerName string `json:"logger_name"` ThreadName string `json:"thread_name"` Level string `json:"level"` LevelValue int `json:"level_value"` AppName string `json:"app_name"` AppVersion string `json:"app_version"` AppProfile string `json:"app_profile"` Trace struct { UUIDRequest string `json:"uuidRequest"` InsertedOnDate time.Time `json:"insertedOnDate"` DurationMillis int `json:"durationMillis"` Host string `json:"host"` Verb string `json:"verb"` URL string `json:"url"` Pattern string `json:"pattern"` Method string `json:"method"` ResultStatus int `json:"resultStatus"` App string `json:"app"` IDEmissor int `json:"idEmissor"` Base string `json:"base"` ReceivedFromAddress string `json:"receivedFromAddress"` StackTrace struct { Clazz string `json:"clazz"` Message string `json:"message"` Stack string `json:"stack"` } `json:"stackTrace"` Logs []struct { Ts time.Time `json:"ts"` Level string `json:"level"` Logger string `json:"logger"` Thread string `json:"thread"` Content string `json:"content"` } `json:"logs"` } `json:"trace"` }
ResultSearch ::
type SlackListener ¶
type SlackListener struct {
// contains filtered or unexported fields
}
SlackListener é a struct que armazena dados do BOT
func (*SlackListener) StartBot ¶
func (s *SlackListener) StartBot(rList *RancherListener)
StartBot é a função que inicia o BOT e o prepara para receber eventos de mensagens
type SplunkListener ¶
SplunkListener é uma struct que armazena as credenciais e URL do Splunk
func (*SplunkListener) ConnectSplunk ¶
func (s *SplunkListener) ConnectSplunk(query string) ResultSearch
ConnectSplunk é uma função feita com objetivo fazer uma consulta no Splunk