api

package
v0.0.85-test Latest Latest
Warning

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

Go to latest
Published: May 8, 2023 License: AGPL-3.0 Imports: 53 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Prometheus = "prometheus"
	Cortex     = "cortex"
	Mimir      = "mimir"
)
View Source
const (
	PrometheusDatasourceType = "prometheus"
	LokiDatasourceType       = "loki"
)

Variables

View Source
var (
	ErrAuthorization = errors.New("user is not authorized")
)
View Source
var NotImplementedResp = ErrResp(http.StatusNotImplemented, errors.New("endpoint not implemented"), "")

Functions

func ErrResp

func ErrResp(status int, err error, msg string, args ...interface{}) *response.NormalResponse

ErrorResp creates a response with a visible error

func NewFakeAlertInstanceManager

func NewFakeAlertInstanceManager(t *testing.T) *fakeAlertInstanceManager

Types

type API

type API struct {
	Cfg                  *setting.Cfg
	DatasourceCache      datasources.CacheService
	RouteRegister        routing.RouteRegister
	ExpressionService    *expr.Service
	QuotaService         *quota.QuotaService
	Schedule             schedule.ScheduleService
	TransactionManager   provisioning.TransactionManager
	ProvenanceStore      provisioning.ProvisioningStore
	RuleStore            store.RuleStore
	InstanceStore        store.InstanceStore
	AlertingStore        AlertingStore
	AdminConfigStore     store.AdminConfigurationStore
	DataProxy            *datasourceproxy.DataSourceProxyService
	MultiOrgAlertmanager *notifier.MultiOrgAlertmanager
	StateManager         *state.Manager
	SecretsService       secrets.Service
	AccessControl        accesscontrol.AccessControl
	Policies             *provisioning.NotificationPolicyService
	ContactPointService  *provisioning.ContactPointService
	Templates            *provisioning.TemplateService
	MuteTimings          *provisioning.MuteTimingService
}

API handlers.

func (*API) RegisterAPIEndpoints

func (api *API) RegisterAPIEndpoints(m *metrics.API)

RegisterAPIEndpoints registers API handlers

func (*API) RegisterAlertmanagerApiEndpoints

func (api *API) RegisterAlertmanagerApiEndpoints(srv AlertmanagerApiForkingService, m *metrics.API)

func (*API) RegisterConfigurationApiEndpoints

func (api *API) RegisterConfigurationApiEndpoints(srv ConfigurationApiForkingService, m *metrics.API)

func (*API) RegisterPrometheusApiEndpoints

func (api *API) RegisterPrometheusApiEndpoints(srv PrometheusApiForkingService, m *metrics.API)

func (*API) RegisterProvisioningApiEndpoints

func (api *API) RegisterProvisioningApiEndpoints(srv ProvisioningApiForkingService, m *metrics.API)

func (*API) RegisterRulerApiEndpoints

func (api *API) RegisterRulerApiEndpoints(srv RulerApiForkingService, m *metrics.API)

func (*API) RegisterTestingApiEndpoints

func (api *API) RegisterTestingApiEndpoints(srv TestingApiForkingService, m *metrics.API)

type AdminSrv

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

func (AdminSrv) RouteDeleteNGalertConfig

func (srv AdminSrv) RouteDeleteNGalertConfig(c *models.ReqContext) response.Response

func (AdminSrv) RouteGetAlertmanagers

func (srv AdminSrv) RouteGetAlertmanagers(c *models.ReqContext) response.Response

func (AdminSrv) RouteGetNGalertConfig

func (srv AdminSrv) RouteGetNGalertConfig(c *models.ReqContext) response.Response

func (AdminSrv) RoutePostNGalertConfig

func (srv AdminSrv) RoutePostNGalertConfig(c *models.ReqContext, body apimodels.PostableNGalertConfig) response.Response

type AlertingProxy

type AlertingProxy struct {
	DataProxy *datasourceproxy.DataSourceProxyService
	// contains filtered or unexported fields
}

type AlertingStore

type AlertingStore interface {
	GetLatestAlertmanagerConfiguration(ctx context.Context, query *models.GetLatestAlertmanagerConfigurationQuery) error
}

type Alertmanager

type Alertmanager interface {
	// Configuration
	SaveAndApplyConfig(ctx context.Context, config *apimodels.PostableUserConfig) error
	SaveAndApplyDefaultConfig(ctx context.Context) error
	GetStatus() apimodels.GettableStatus

	// Silences
	CreateSilence(ps *apimodels.PostableSilence) (string, error)
	DeleteSilence(silenceID string) error
	GetSilence(silenceID string) (apimodels.GettableSilence, error)
	ListSilences(filter []string) (apimodels.GettableSilences, error)

	// Alerts
	GetAlerts(active, silenced, inhibited bool, filter []string, receiver string) (apimodels.GettableAlerts, error)
	GetAlertGroups(active, silenced, inhibited bool, filter []string, receiver string) (apimodels.AlertGroups, error)

	// Testing
	TestReceivers(ctx context.Context, c apimodels.TestReceiversConfigBodyParams) (*notifier.TestReceiversResult, error)
}

type AlertmanagerApiForkingService

type AlertmanagerApiForkingService interface {
	RouteCreateGrafanaSilence(*models.ReqContext) response.Response
	RouteCreateSilence(*models.ReqContext) response.Response
	RouteDeleteAlertingConfig(*models.ReqContext) response.Response
	RouteDeleteGrafanaAlertingConfig(*models.ReqContext) response.Response
	RouteDeleteGrafanaSilence(*models.ReqContext) response.Response
	RouteDeleteSilence(*models.ReqContext) response.Response
	RouteGetAMAlertGroups(*models.ReqContext) response.Response
	RouteGetAMAlerts(*models.ReqContext) response.Response
	RouteGetAMStatus(*models.ReqContext) response.Response
	RouteGetAlertingConfig(*models.ReqContext) response.Response
	RouteGetGrafanaAMAlertGroups(*models.ReqContext) response.Response
	RouteGetGrafanaAMAlerts(*models.ReqContext) response.Response
	RouteGetGrafanaAMStatus(*models.ReqContext) response.Response
	RouteGetGrafanaAlertingConfig(*models.ReqContext) response.Response
	RouteGetGrafanaSilence(*models.ReqContext) response.Response
	RouteGetGrafanaSilences(*models.ReqContext) response.Response
	RouteGetSilence(*models.ReqContext) response.Response
	RouteGetSilences(*models.ReqContext) response.Response
	RoutePostAMAlerts(*models.ReqContext) response.Response
	RoutePostAlertingConfig(*models.ReqContext) response.Response
	RoutePostGrafanaAMAlerts(*models.ReqContext) response.Response
	RoutePostGrafanaAlertingConfig(*models.ReqContext) response.Response
	RoutePostTestGrafanaReceivers(*models.ReqContext) response.Response
	RoutePostTestReceivers(*models.ReqContext) response.Response
}

type AlertmanagerSrv

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

func (AlertmanagerSrv) AlertmanagerFor

func (srv AlertmanagerSrv) AlertmanagerFor(orgID int64) (Alertmanager, *response.NormalResponse)

func (AlertmanagerSrv) RouteCreateSilence

func (srv AlertmanagerSrv) RouteCreateSilence(c *models.ReqContext, postableSilence apimodels.PostableSilence) response.Response

func (AlertmanagerSrv) RouteDeleteAlertingConfig

func (srv AlertmanagerSrv) RouteDeleteAlertingConfig(c *models.ReqContext) response.Response

func (AlertmanagerSrv) RouteDeleteSilence

func (srv AlertmanagerSrv) RouteDeleteSilence(c *models.ReqContext) response.Response

func (AlertmanagerSrv) RouteGetAMAlertGroups

func (srv AlertmanagerSrv) RouteGetAMAlertGroups(c *models.ReqContext) response.Response

func (AlertmanagerSrv) RouteGetAMAlerts

func (srv AlertmanagerSrv) RouteGetAMAlerts(c *models.ReqContext) response.Response

func (AlertmanagerSrv) RouteGetAMStatus

func (srv AlertmanagerSrv) RouteGetAMStatus(c *models.ReqContext) response.Response

func (AlertmanagerSrv) RouteGetAlertingConfig

func (srv AlertmanagerSrv) RouteGetAlertingConfig(c *models.ReqContext) response.Response

func (AlertmanagerSrv) RouteGetSilence

func (srv AlertmanagerSrv) RouteGetSilence(c *models.ReqContext) response.Response

func (AlertmanagerSrv) RouteGetSilences

func (srv AlertmanagerSrv) RouteGetSilences(c *models.ReqContext) response.Response

func (AlertmanagerSrv) RoutePostAMAlerts

func (AlertmanagerSrv) RoutePostAlertingConfig

func (srv AlertmanagerSrv) RoutePostAlertingConfig(c *models.ReqContext, body apimodels.PostableUserConfig) response.Response

func (AlertmanagerSrv) RoutePostTestReceivers

type ConfigurationApiForkingService

type ConfigurationApiForkingService interface {
	RouteDeleteNGalertConfig(*models.ReqContext) response.Response
	RouteGetAlertmanagers(*models.ReqContext) response.Response
	RouteGetNGalertConfig(*models.ReqContext) response.Response
	RoutePostNGalertConfig(*models.ReqContext) response.Response
}

type ContactPointService

type ContactPointService interface {
	GetContactPoints(ctx context.Context, orgID int64) ([]apimodels.EmbeddedContactPoint, error)
	CreateContactPoint(ctx context.Context, orgID int64, contactPoint apimodels.EmbeddedContactPoint, p alerting_models.Provenance) (apimodels.EmbeddedContactPoint, error)
	UpdateContactPoint(ctx context.Context, orgID int64, contactPoint apimodels.EmbeddedContactPoint, p alerting_models.Provenance) error
	DeleteContactPoint(ctx context.Context, orgID int64, uid string) error
}

type ForkedAlertmanagerApi

type ForkedAlertmanagerApi struct {
	AMSvc           *LotexAM
	GrafanaSvc      *AlertmanagerSrv
	DatasourceCache datasources.CacheService
}

func NewForkedAM

func NewForkedAM(datasourceCache datasources.CacheService, proxy *LotexAM, grafana *AlertmanagerSrv) *ForkedAlertmanagerApi

NewForkedAM implements a set of routes that proxy to various Alertmanager-compatible backends.

func (*ForkedAlertmanagerApi) RouteCreateGrafanaSilence

func (f *ForkedAlertmanagerApi) RouteCreateGrafanaSilence(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteCreateSilence

func (f *ForkedAlertmanagerApi) RouteCreateSilence(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteDeleteAlertingConfig

func (f *ForkedAlertmanagerApi) RouteDeleteAlertingConfig(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteDeleteGrafanaAlertingConfig

func (f *ForkedAlertmanagerApi) RouteDeleteGrafanaAlertingConfig(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteDeleteGrafanaSilence

func (f *ForkedAlertmanagerApi) RouteDeleteGrafanaSilence(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteDeleteSilence

func (f *ForkedAlertmanagerApi) RouteDeleteSilence(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteGetAMAlertGroups

func (f *ForkedAlertmanagerApi) RouteGetAMAlertGroups(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteGetAMAlerts

func (f *ForkedAlertmanagerApi) RouteGetAMAlerts(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteGetAMStatus

func (f *ForkedAlertmanagerApi) RouteGetAMStatus(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteGetAlertingConfig

func (f *ForkedAlertmanagerApi) RouteGetAlertingConfig(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteGetGrafanaAMAlertGroups

func (f *ForkedAlertmanagerApi) RouteGetGrafanaAMAlertGroups(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteGetGrafanaAMAlerts

func (f *ForkedAlertmanagerApi) RouteGetGrafanaAMAlerts(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteGetGrafanaAMStatus

func (f *ForkedAlertmanagerApi) RouteGetGrafanaAMStatus(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteGetGrafanaAlertingConfig

func (f *ForkedAlertmanagerApi) RouteGetGrafanaAlertingConfig(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteGetGrafanaSilence

func (f *ForkedAlertmanagerApi) RouteGetGrafanaSilence(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteGetGrafanaSilences

func (f *ForkedAlertmanagerApi) RouteGetGrafanaSilences(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteGetSilence

func (f *ForkedAlertmanagerApi) RouteGetSilence(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RouteGetSilences

func (f *ForkedAlertmanagerApi) RouteGetSilences(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RoutePostAMAlerts

func (f *ForkedAlertmanagerApi) RoutePostAMAlerts(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RoutePostAlertingConfig

func (f *ForkedAlertmanagerApi) RoutePostAlertingConfig(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RoutePostGrafanaAMAlerts

func (f *ForkedAlertmanagerApi) RoutePostGrafanaAMAlerts(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RoutePostGrafanaAlertingConfig

func (f *ForkedAlertmanagerApi) RoutePostGrafanaAlertingConfig(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RoutePostTestGrafanaReceivers

func (f *ForkedAlertmanagerApi) RoutePostTestGrafanaReceivers(ctx *models.ReqContext) response.Response

func (*ForkedAlertmanagerApi) RoutePostTestReceivers

func (f *ForkedAlertmanagerApi) RoutePostTestReceivers(ctx *models.ReqContext) response.Response

type ForkedConfigurationApi

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

ForkedConfigurationApi always forwards requests to grafana backend

func NewForkedConfiguration

func NewForkedConfiguration(grafana *AdminSrv) *ForkedConfigurationApi

NewForkedConfiguration creates a new ForkedConfigurationApi instance

func (*ForkedConfigurationApi) RouteDeleteNGalertConfig

func (f *ForkedConfigurationApi) RouteDeleteNGalertConfig(ctx *models.ReqContext) response.Response

func (*ForkedConfigurationApi) RouteGetAlertmanagers

func (f *ForkedConfigurationApi) RouteGetAlertmanagers(ctx *models.ReqContext) response.Response

func (*ForkedConfigurationApi) RouteGetNGalertConfig

func (f *ForkedConfigurationApi) RouteGetNGalertConfig(ctx *models.ReqContext) response.Response

func (*ForkedConfigurationApi) RoutePostNGalertConfig

func (f *ForkedConfigurationApi) RoutePostNGalertConfig(ctx *models.ReqContext) response.Response

type ForkedPrometheusApi

type ForkedPrometheusApi struct {
	ProxySvc        *LotexProm
	GrafanaSvc      *PrometheusSrv
	DatasourceCache datasources.CacheService
}

func NewForkedProm

func NewForkedProm(datasourceCache datasources.CacheService, proxy *LotexProm, grafana *PrometheusSrv) *ForkedPrometheusApi

NewForkedProm implements a set of routes that proxy to various Prometheus-compatible backends.

func (*ForkedPrometheusApi) RouteGetAlertStatuses

func (f *ForkedPrometheusApi) RouteGetAlertStatuses(ctx *models.ReqContext) response.Response

func (*ForkedPrometheusApi) RouteGetGrafanaAlertStatuses

func (f *ForkedPrometheusApi) RouteGetGrafanaAlertStatuses(ctx *models.ReqContext) response.Response

func (*ForkedPrometheusApi) RouteGetGrafanaRuleStatuses

func (f *ForkedPrometheusApi) RouteGetGrafanaRuleStatuses(ctx *models.ReqContext) response.Response

func (*ForkedPrometheusApi) RouteGetRuleStatuses

func (f *ForkedPrometheusApi) RouteGetRuleStatuses(ctx *models.ReqContext) response.Response

type ForkedProvisioningApi

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

ForkedProvisioningApi always forwards requests to a Grafana backend. We do not currently support provisioning of external systems through Grafana's API.

func NewForkedProvisioningApi

func NewForkedProvisioningApi(svc *ProvisioningSrv) *ForkedProvisioningApi

NewForkedProvisioningApi creates a new ForkedProvisioningApi instance.

func (*ForkedProvisioningApi) RouteDeleteContactpoints

func (f *ForkedProvisioningApi) RouteDeleteContactpoints(ctx *models.ReqContext) response.Response

func (*ForkedProvisioningApi) RouteDeleteTemplate

func (f *ForkedProvisioningApi) RouteDeleteTemplate(ctx *models.ReqContext) response.Response

func (*ForkedProvisioningApi) RouteGetContactpoints

func (f *ForkedProvisioningApi) RouteGetContactpoints(ctx *models.ReqContext) response.Response

func (*ForkedProvisioningApi) RouteGetMuteTiming

func (f *ForkedProvisioningApi) RouteGetMuteTiming(ctx *models.ReqContext) response.Response

func (*ForkedProvisioningApi) RouteGetMuteTimings

func (f *ForkedProvisioningApi) RouteGetMuteTimings(ctx *models.ReqContext) response.Response

func (*ForkedProvisioningApi) RouteGetPolicyTree

func (f *ForkedProvisioningApi) RouteGetPolicyTree(ctx *models.ReqContext) response.Response

func (*ForkedProvisioningApi) RouteGetTemplate

func (f *ForkedProvisioningApi) RouteGetTemplate(ctx *models.ReqContext) response.Response

func (*ForkedProvisioningApi) RouteGetTemplates

func (f *ForkedProvisioningApi) RouteGetTemplates(ctx *models.ReqContext) response.Response

func (*ForkedProvisioningApi) RoutePostContactpoints

func (f *ForkedProvisioningApi) RoutePostContactpoints(ctx *models.ReqContext) response.Response

func (*ForkedProvisioningApi) RoutePutContactpoint

func (f *ForkedProvisioningApi) RoutePutContactpoint(ctx *models.ReqContext) response.Response

func (*ForkedProvisioningApi) RoutePutPolicyTree

func (f *ForkedProvisioningApi) RoutePutPolicyTree(ctx *models.ReqContext) response.Response

func (*ForkedProvisioningApi) RoutePutTemplate

func (f *ForkedProvisioningApi) RoutePutTemplate(ctx *models.ReqContext) response.Response

type ForkedRulerApi

type ForkedRulerApi struct {
	LotexRuler      *LotexRuler
	GrafanaRuler    *RulerSrv
	DatasourceCache datasources.CacheService
}

ForkedRulerApi will validate and proxy requests to the correct backend type depending on the datasource.

func NewForkedRuler

func NewForkedRuler(datasourceCache datasources.CacheService, lotex *LotexRuler, grafana *RulerSrv) *ForkedRulerApi

NewForkedRuler implements a set of routes that proxy to various Cortex Ruler-compatible backends.

func (*ForkedRulerApi) RouteDeleteGrafanaRuleGroupConfig

func (f *ForkedRulerApi) RouteDeleteGrafanaRuleGroupConfig(ctx *models.ReqContext) response.Response

func (*ForkedRulerApi) RouteDeleteNamespaceGrafanaRulesConfig

func (f *ForkedRulerApi) RouteDeleteNamespaceGrafanaRulesConfig(ctx *models.ReqContext) response.Response

func (*ForkedRulerApi) RouteDeleteNamespaceRulesConfig

func (f *ForkedRulerApi) RouteDeleteNamespaceRulesConfig(ctx *models.ReqContext) response.Response

func (*ForkedRulerApi) RouteDeleteRuleGroupConfig

func (f *ForkedRulerApi) RouteDeleteRuleGroupConfig(ctx *models.ReqContext) response.Response

func (*ForkedRulerApi) RouteGetGrafanaRuleGroupConfig

func (f *ForkedRulerApi) RouteGetGrafanaRuleGroupConfig(ctx *models.ReqContext) response.Response

func (*ForkedRulerApi) RouteGetGrafanaRulesConfig

func (f *ForkedRulerApi) RouteGetGrafanaRulesConfig(ctx *models.ReqContext) response.Response

func (*ForkedRulerApi) RouteGetNamespaceGrafanaRulesConfig

func (f *ForkedRulerApi) RouteGetNamespaceGrafanaRulesConfig(ctx *models.ReqContext) response.Response

func (*ForkedRulerApi) RouteGetNamespaceRulesConfig

func (f *ForkedRulerApi) RouteGetNamespaceRulesConfig(ctx *models.ReqContext) response.Response

func (*ForkedRulerApi) RouteGetRulegGroupConfig

func (f *ForkedRulerApi) RouteGetRulegGroupConfig(ctx *models.ReqContext) response.Response

func (*ForkedRulerApi) RouteGetRulesConfig

func (f *ForkedRulerApi) RouteGetRulesConfig(ctx *models.ReqContext) response.Response

func (*ForkedRulerApi) RoutePostNameGrafanaRulesConfig

func (f *ForkedRulerApi) RoutePostNameGrafanaRulesConfig(ctx *models.ReqContext) response.Response

func (*ForkedRulerApi) RoutePostNameRulesConfig

func (f *ForkedRulerApi) RoutePostNameRulesConfig(ctx *models.ReqContext) response.Response

type ForkedTestingApi

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

ForkedTestingApi always forwards requests to grafana backend

func NewForkedTestingApi

func NewForkedTestingApi(svc *TestingApiSrv) *ForkedTestingApi

NewForkedTestingApi creates a new ForkedTestingApi instance

func (*ForkedTestingApi) RouteEvalQueries

func (f *ForkedTestingApi) RouteEvalQueries(ctx *models.ReqContext) response.Response

func (*ForkedTestingApi) RouteTestRuleConfig

func (f *ForkedTestingApi) RouteTestRuleConfig(ctx *models.ReqContext) response.Response

func (*ForkedTestingApi) RouteTestRuleGrafanaConfig

func (f *ForkedTestingApi) RouteTestRuleGrafanaConfig(ctx *models.ReqContext) response.Response

type LotexAM

type LotexAM struct {
	*AlertingProxy
	// contains filtered or unexported fields
}

func NewLotexAM

func NewLotexAM(proxy *AlertingProxy, log log.Logger) *LotexAM

func (*LotexAM) RouteCreateSilence

func (am *LotexAM) RouteCreateSilence(ctx *models.ReqContext, silenceBody apimodels.PostableSilence) response.Response

func (*LotexAM) RouteDeleteAlertingConfig

func (am *LotexAM) RouteDeleteAlertingConfig(ctx *models.ReqContext) response.Response

func (*LotexAM) RouteDeleteSilence

func (am *LotexAM) RouteDeleteSilence(ctx *models.ReqContext) response.Response

func (*LotexAM) RouteGetAMAlertGroups

func (am *LotexAM) RouteGetAMAlertGroups(ctx *models.ReqContext) response.Response

func (*LotexAM) RouteGetAMAlerts

func (am *LotexAM) RouteGetAMAlerts(ctx *models.ReqContext) response.Response

func (*LotexAM) RouteGetAMStatus

func (am *LotexAM) RouteGetAMStatus(ctx *models.ReqContext) response.Response

func (*LotexAM) RouteGetAlertingConfig

func (am *LotexAM) RouteGetAlertingConfig(ctx *models.ReqContext) response.Response

func (*LotexAM) RouteGetSilence

func (am *LotexAM) RouteGetSilence(ctx *models.ReqContext) response.Response

func (*LotexAM) RouteGetSilences

func (am *LotexAM) RouteGetSilences(ctx *models.ReqContext) response.Response

func (*LotexAM) RoutePostAMAlerts

func (am *LotexAM) RoutePostAMAlerts(ctx *models.ReqContext, alerts apimodels.PostableAlerts) response.Response

func (*LotexAM) RoutePostAlertingConfig

func (am *LotexAM) RoutePostAlertingConfig(ctx *models.ReqContext, config apimodels.PostableUserConfig) response.Response

func (*LotexAM) RoutePostTestReceivers

func (am *LotexAM) RoutePostTestReceivers(ctx *models.ReqContext, config apimodels.TestReceiversConfigBodyParams) response.Response

type LotexProm

type LotexProm struct {
	*AlertingProxy
	// contains filtered or unexported fields
}

func NewLotexProm

func NewLotexProm(proxy *AlertingProxy, log log.Logger) *LotexProm

func (*LotexProm) RouteGetAlertStatuses

func (p *LotexProm) RouteGetAlertStatuses(ctx *models.ReqContext) response.Response

func (*LotexProm) RouteGetRuleStatuses

func (p *LotexProm) RouteGetRuleStatuses(ctx *models.ReqContext) response.Response

type LotexRuler

type LotexRuler struct {
	*AlertingProxy
	// contains filtered or unexported fields
}

func NewLotexRuler

func NewLotexRuler(proxy *AlertingProxy, log log.Logger) *LotexRuler

func (*LotexRuler) RouteDeleteNamespaceRulesConfig

func (r *LotexRuler) RouteDeleteNamespaceRulesConfig(ctx *models.ReqContext) response.Response

func (*LotexRuler) RouteDeleteRuleGroupConfig

func (r *LotexRuler) RouteDeleteRuleGroupConfig(ctx *models.ReqContext) response.Response

func (*LotexRuler) RouteGetNamespaceRulesConfig

func (r *LotexRuler) RouteGetNamespaceRulesConfig(ctx *models.ReqContext) response.Response

func (*LotexRuler) RouteGetRulegGroupConfig

func (r *LotexRuler) RouteGetRulegGroupConfig(ctx *models.ReqContext) response.Response

func (*LotexRuler) RouteGetRulesConfig

func (r *LotexRuler) RouteGetRulesConfig(ctx *models.ReqContext) response.Response

func (*LotexRuler) RoutePostNameRulesConfig

func (r *LotexRuler) RoutePostNameRulesConfig(ctx *models.ReqContext, conf apimodels.PostableRuleGroupConfig) response.Response

type MuteTimingService

type MuteTimingService interface {
	GetMuteTimings(ctx context.Context, orgID int64) ([]apimodels.MuteTiming, error)
}

type NotificationPolicyService

type NotificationPolicyService interface {
	GetPolicyTree(ctx context.Context, orgID int64) (apimodels.Route, error)
	UpdatePolicyTree(ctx context.Context, orgID int64, tree apimodels.Route, p alerting_models.Provenance) error
}

type PrometheusApiForkingService

type PrometheusApiForkingService interface {
	RouteGetAlertStatuses(*models.ReqContext) response.Response
	RouteGetGrafanaAlertStatuses(*models.ReqContext) response.Response
	RouteGetGrafanaRuleStatuses(*models.ReqContext) response.Response
	RouteGetRuleStatuses(*models.ReqContext) response.Response
}

type PrometheusSrv

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

func (PrometheusSrv) RouteGetAlertStatuses

func (srv PrometheusSrv) RouteGetAlertStatuses(c *models.ReqContext) response.Response

func (PrometheusSrv) RouteGetRuleStatuses

func (srv PrometheusSrv) RouteGetRuleStatuses(c *models.ReqContext) response.Response

type ProvisioningApiForkingService

type ProvisioningApiForkingService interface {
	RouteDeleteContactpoints(*models.ReqContext) response.Response
	RouteDeleteTemplate(*models.ReqContext) response.Response
	RouteGetContactpoints(*models.ReqContext) response.Response
	RouteGetMuteTiming(*models.ReqContext) response.Response
	RouteGetMuteTimings(*models.ReqContext) response.Response
	RouteGetPolicyTree(*models.ReqContext) response.Response
	RouteGetTemplate(*models.ReqContext) response.Response
	RouteGetTemplates(*models.ReqContext) response.Response
	RoutePostContactpoints(*models.ReqContext) response.Response
	RoutePutContactpoint(*models.ReqContext) response.Response
	RoutePutPolicyTree(*models.ReqContext) response.Response
	RoutePutTemplate(*models.ReqContext) response.Response
}

type ProvisioningSrv

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

func (*ProvisioningSrv) RouteDeleteContactPoint

func (srv *ProvisioningSrv) RouteDeleteContactPoint(c *models.ReqContext) response.Response

func (*ProvisioningSrv) RouteDeleteTemplate

func (srv *ProvisioningSrv) RouteDeleteTemplate(c *models.ReqContext) response.Response

func (*ProvisioningSrv) RouteGetContactPoints

func (srv *ProvisioningSrv) RouteGetContactPoints(c *models.ReqContext) response.Response

func (*ProvisioningSrv) RouteGetMuteTiming

func (srv *ProvisioningSrv) RouteGetMuteTiming(c *models.ReqContext) response.Response

func (*ProvisioningSrv) RouteGetMuteTimings

func (srv *ProvisioningSrv) RouteGetMuteTimings(c *models.ReqContext) response.Response

func (*ProvisioningSrv) RouteGetPolicyTree

func (srv *ProvisioningSrv) RouteGetPolicyTree(c *models.ReqContext) response.Response

func (*ProvisioningSrv) RouteGetTemplate

func (srv *ProvisioningSrv) RouteGetTemplate(c *models.ReqContext) response.Response

func (*ProvisioningSrv) RouteGetTemplates

func (srv *ProvisioningSrv) RouteGetTemplates(c *models.ReqContext) response.Response

func (*ProvisioningSrv) RoutePostContactPoint

func (*ProvisioningSrv) RoutePutContactPoint

func (*ProvisioningSrv) RoutePutPolicyTree

func (srv *ProvisioningSrv) RoutePutPolicyTree(c *models.ReqContext, tree apimodels.Route) response.Response

func (*ProvisioningSrv) RoutePutTemplate

type RulerApiForkingService

type RulerApiForkingService interface {
	RouteDeleteGrafanaRuleGroupConfig(*models.ReqContext) response.Response
	RouteDeleteNamespaceGrafanaRulesConfig(*models.ReqContext) response.Response
	RouteDeleteNamespaceRulesConfig(*models.ReqContext) response.Response
	RouteDeleteRuleGroupConfig(*models.ReqContext) response.Response
	RouteGetGrafanaRuleGroupConfig(*models.ReqContext) response.Response
	RouteGetGrafanaRulesConfig(*models.ReqContext) response.Response
	RouteGetNamespaceGrafanaRulesConfig(*models.ReqContext) response.Response
	RouteGetNamespaceRulesConfig(*models.ReqContext) response.Response
	RouteGetRulegGroupConfig(*models.ReqContext) response.Response
	RouteGetRulesConfig(*models.ReqContext) response.Response
	RoutePostNameGrafanaRulesConfig(*models.ReqContext) response.Response
	RoutePostNameRulesConfig(*models.ReqContext) response.Response
}

type RulerSrv

type RulerSrv struct {
	DatasourceCache datasources.CacheService
	QuotaService    *quota.QuotaService
	// contains filtered or unexported fields
}

func (RulerSrv) RouteDeleteAlertRules

func (srv RulerSrv) RouteDeleteAlertRules(c *models.ReqContext) response.Response

RouteDeleteAlertRules deletes all alert rules user is authorized to access in the namespace (request parameter :Namespace) or, if specified, a group of rules (request parameter :Groupname) in the namespace

func (RulerSrv) RouteGetNamespaceRulesConfig

func (srv RulerSrv) RouteGetNamespaceRulesConfig(c *models.ReqContext) response.Response

func (RulerSrv) RouteGetRulesConfig

func (srv RulerSrv) RouteGetRulesConfig(c *models.ReqContext) response.Response

func (RulerSrv) RouteGetRulesGroupConfig

func (srv RulerSrv) RouteGetRulesGroupConfig(c *models.ReqContext) response.Response

func (RulerSrv) RoutePostNameRulesConfig

func (srv RulerSrv) RoutePostNameRulesConfig(c *models.ReqContext, ruleGroupConfig apimodels.PostableRuleGroupConfig) response.Response

type Scheduler

type Scheduler interface {
	AlertmanagersFor(orgID int64) []*url.URL
	DroppedAlertmanagersFor(orgID int64) []*url.URL
}

type TemplateService

type TemplateService interface {
	GetTemplates(ctx context.Context, orgID int64) (map[string]string, error)
	SetTemplate(ctx context.Context, orgID int64, tmpl apimodels.MessageTemplate) (apimodels.MessageTemplate, error)
	DeleteTemplate(ctx context.Context, orgID int64, name string) error
}

type TestingApiForkingService

type TestingApiForkingService interface {
	RouteEvalQueries(*models.ReqContext) response.Response
	RouteTestRuleConfig(*models.ReqContext) response.Response
	RouteTestRuleGrafanaConfig(*models.ReqContext) response.Response
}

type TestingApiSrv

type TestingApiSrv struct {
	*AlertingProxy
	ExpressionService *expr.Service
	DatasourceCache   datasources.CacheService
	// contains filtered or unexported fields
}

func (TestingApiSrv) RouteEvalQueries

func (TestingApiSrv) RouteTestGrafanaRuleConfig

func (srv TestingApiSrv) RouteTestGrafanaRuleConfig(c *models.ReqContext, body apimodels.TestRulePayload) response.Response

func (TestingApiSrv) RouteTestRuleConfig

func (srv TestingApiSrv) RouteTestRuleConfig(c *models.ReqContext, body apimodels.TestRulePayload) response.Response

type UnknownReceiverError

type UnknownReceiverError struct {
	UID string
}

func (UnknownReceiverError) Error

func (e UnknownReceiverError) Error() string

Directories

Path Synopsis
tooling
definitions
Grafana Alerting API.
Grafana Alerting API.

Jump to

Keyboard shortcuts

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