api

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2026 License: AGPL-3.0 Imports: 28 Imported by: 0

Documentation

Overview

Package api expõe a interface HTTP do UpWatch.

A API é de primeira classe, não um acessório da interface gráfica: é o pedido mais votado do Uptime Kuma, cuja comunicação depende de Socket.IO e não oferece caminho programático. Aqui a interface consome exatamente os mesmos endpoints que qualquer script.

Index

Constants

View Source
const SessionCookieName = "upwatch_session"

SessionCookieName é o nome do cookie de sessão.

Variables

This section is empty.

Functions

func New

func New(opts Options) http.Handler

New monta o roteador da API.

Types

type API

type API struct {
	// contains filtered or unexported fields
}

API é o conjunto de handlers HTTP.

type MonitorSink

type MonitorSink interface {
	Upsert(m domain.Monitor)
	Remove(id int64)
}

MonitorSink recebe as alterações de monitor.

Interface estreita em vez do agendador inteiro: a API não precisa saber agendar, só avisar que algo mudou. É o que faz um monitor recém-criado começar a ser verificado sem esperar reinício.

type Options

type Options struct {
	Store    store.Store
	Auth     *auth.Service
	Checkers *checker.Registry
	Clock    clock.Clock

	// Scheduler recebe as mudanças de monitor feitas pela API, para um
	// cadastro passar a ser verificado sem esperar reinício.
	Scheduler MonitorSink

	// SecureCookies marca o cookie de sessão como Secure. Fica desligado
	// por padrão porque muitas instalações caseiras servem em HTTP puro na
	// rede local, e um cookie Secure ali simplesmente não seria enviado —
	// o login pareceria quebrado sem explicação.
	SecureCookies bool

	// SessionTTL espelha a validade usada pelo serviço de autenticação,
	// para o cookie expirar junto com a sessão no servidor.
	SessionTTL time.Duration

	// Version aparece em upwatch_build_info, para o painel de métricas
	// mostrar qual versão está no ar sem precisar consultar o processo.
	Version string

	// Counters acumula o que o processo viu, para a exposição de métricas
	// não precisar varrer a tabela de batidas a cada raspagem.
	Counters *metrics.Counters

	// PublicURL é o endereço externo da instalação, como
	// "https://status.exemplo.com".
	//
	// Vazio faz o feed usar endereços relativos, que é o padrão seguro: a
	// alternativa seria reconstruí-los a partir do cabeçalho Host, e esse
	// cabeçalho é controlado por quem chama. Configure atrás de proxy,
	// quando quiser endereços absolutos no feed.
	PublicURL string
}

Options reúne as dependências da API.

Jump to

Keyboard shortcuts

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