consul

package
v1.87.14-cluster Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2024 License: Apache-2.0 Imports: 18 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var SDCheckInterval = flag.Duration("promscrape.consulSDCheckInterval", 30*time.Second, "Interval for checking for changes in Consul. "+
	"This works only if consul_sd_configs is configured in '-promscrape.config' file. "+
	"See https://docs.victoriametrics.com/sd_configs.html#consul_sd_configs for details")

SDCheckInterval is check interval for Consul service discovery.

Functions

This section is empty.

Types

type Agent

type Agent struct {
	Config AgentConfig
}

Agent is Consul agent.

See https://www.consul.io/api/agent.html#read-configuration

type AgentConfig

type AgentConfig struct {
	Datacenter string
}

AgentConfig is Consul agent config.

See https://www.consul.io/api/agent.html#read-configuration

type Check

type Check struct {
	CheckID string
	Status  string
}

Check is Consul check.

See https://www.consul.io/api/health.html#list-nodes-for-service

type Node

type Node struct {
	Address         string
	Datacenter      string
	Node            string
	Meta            map[string]string
	TaggedAddresses map[string]string
}

Node is Consul node.

See https://www.consul.io/api/health.html#list-nodes-for-service

type SDConfig

type SDConfig struct {
	Server     string           `yaml:"server,omitempty"`
	Token      *promauth.Secret `yaml:"token"`
	Datacenter string           `yaml:"datacenter"`

	// Namespace only supported at enterprise consul.
	// https://www.consul.io/docs/enterprise/namespaces
	Namespace string `yaml:"namespace,omitempty"`
	// Partition only supported at enteprise consul.
	// https://developer.hashicorp.com/consul/docs/enterprise/admin-partitions
	Partition string `yaml:"partition,omitempty"`

	Scheme            string                     `yaml:"scheme,omitempty"`
	Username          string                     `yaml:"username"`
	Password          *promauth.Secret           `yaml:"password"`
	HTTPClientConfig  promauth.HTTPClientConfig  `yaml:",inline"`
	ProxyURL          *proxy.URL                 `yaml:"proxy_url,omitempty"`
	ProxyClientConfig promauth.ProxyClientConfig `yaml:",inline"`
	Services          []string                   `yaml:"services,omitempty"`
	Tags              []string                   `yaml:"tags,omitempty"`
	NodeMeta          map[string]string          `yaml:"node_meta,omitempty"`
	TagSeparator      *string                    `yaml:"tag_separator,omitempty"`
	AllowStale        *bool                      `yaml:"allow_stale,omitempty"`
}

SDConfig represents service discovery config for Consul.

See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#consul_sd_config

func (*SDConfig) GetLabels added in v1.55.0

func (sdc *SDConfig) GetLabels(baseDir string) ([]*promutils.Labels, error)

GetLabels returns Consul labels according to sdc.

func (*SDConfig) MustStop added in v1.55.0

func (sdc *SDConfig) MustStop()

MustStop stops further usage for sdc.

type Service

type Service struct {
	ID        string
	Service   string
	Address   string
	Namespace string
	Partition string
	Port      int
	Tags      []string
	Meta      map[string]string
}

Service is Consul service.

See https://www.consul.io/api/health.html#list-nodes-for-service

type ServiceNode

type ServiceNode struct {
	Service Service
	Node    Node
	Checks  []Check
}

ServiceNode is Consul service node.

See https://www.consul.io/api/health.html#list-nodes-for-service

Jump to

Keyboard shortcuts

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