config

package
v0.0.0-...-12c1823 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Stdout output method prints Prometheus configuration on stdout
	Stdout OutputMethod = "stdout"
	// File output method stores Prometheus configuration into files
	File OutputMethod = "file"
	// K8sSecret output method stores Prometheus configuration into Kubernetes secret
	K8sSecret OutputMethod = "k8s-secret"

	// ScrapeConfigs output format renders a list of Prometheus scrape configurations
	ScrapeConfigs OutputFormat = "scrape-configs"
	// StaticConfigs output format renders a list of Prometheus static configurations per job
	StaticConfigs OutputFormat = "static-configs"
	// MergedStaticConfigs output format renders a unique list of Prometheus scrape configurations for all jobs
	MergedStaticConfigs OutputFormat = "merged-static-configs"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	GeneralConfig `group:"Application Options"`
	PuppetDB      PuppetDBConfig     `group:"PuppetDB Client Options" namespace:"puppetdb"`
	PrometheusSD  PrometheusSDConfig `group:"Prometheus Service Discovery Options" namespace:"prometheus"`
	Output        OutputConfig       `group:"Output Configuration" namespace:"output"`
}

Config describes global configuration

func LoadConfig

func LoadConfig(version string) (c Config)

LoadConfig parses arguments

type FileOutputConfig

type FileOutputConfig struct {
	Filename        string `short:"f" long:"filename" description:"Output filename." env:"OUTPUT_FILENAME" default:"puppetdb-sd.yml"`
	FilenamePattern string `` /* 133-byte string literal not displayed */
	Directory       string `long:"directory" description:"Output directory." env:"OUTPUT_DIRECTORY" default:"/etc/prometheus/puppetdb-sd"`
}

FileOutputConfig describes file output configuration

type GeneralConfig

type GeneralConfig struct {
	Version bool          `short:"V" long:"version" description:"Display version."`
	Manpage bool          `short:"m" long:"manpage" description:"Output manpage."`
	Sleep   time.Duration `short:"s" long:"sleep" description:"Sleep time between queries." env:"SLEEP" default:"5s"`
}

GeneralConfig describes general application configuration

type K8sSecretOutputConfig

type K8sSecretOutputConfig struct {
	SecretName            string            `long:"secret-name" description:"Kubernetes secret name." env:"OUTPUT_K8S_SECRET_NAME"`
	Namespace             string            `long:"namespace" description:"Kubernetes namespace." env:"OUTPUT_K8S_NAMESPACE"`
	ObjectLabels          map[string]string `` /* 158-byte string literal not displayed */
	SecretKey             string            `long:"secret-key" description:"Kubernetes secret key." env:"OUTPUT_K8S_SECRET_KEY"`
	SecretKeyPattern      string            `` /* 131-byte string literal not displayed */
	ExtraConfigSecretName string            `` /* 140-byte string literal not displayed */
	ExtraConfigSecretKey  string            `` /* 144-byte string literal not displayed */
}

K8sSecretOutputConfig describes Kubernetes secret output configuration

type OutputConfig

type OutputConfig struct {
	Method    OutputMethod          `` /* 139-byte string literal not displayed */
	Format    OutputFormat          `` /* 166-byte string literal not displayed */
	Stdout    StdoutOutputConfig    `group:"Stdout Output Configuration" namespace:"stdout"`
	File      FileOutputConfig      `group:"File Output Configuration" namespace:"file"`
	K8sSecret K8sSecretOutputConfig `group:"Kubernetes Secret Output Configuration" namespace:"k8s-secret"`
}

OutputConfig describes output configuration

type OutputFormat

type OutputFormat string

OutputFormat represents an output format

type OutputMethod

type OutputMethod string

OutputMethod represents an output method

type PrometheusSDConfig

type PrometheusSDConfig struct {
	ProxyURL string `long:"proxy-url" description:"Prometheus target scraping proxy URL." env:"PROMETHEUS_PROXY_URL"`
}

PrometheusSDConfig describes Prometheus service discovery configuration

type PuppetDBConfig

type PuppetDBConfig struct {
	URL           string `short:"u" long:"url" description:"PuppetDB base URL." env:"PUPPETDB_URL" default:"http://puppetdb:8080"`
	CertFile      string `short:"x" long:"cert-file" description:"A PEM encoded certificate file." env:"PUPPETDB_CERT_FILE"`
	KeyFile       string `short:"y" long:"key-file" description:"A PEM encoded private key file." env:"PUPPETDB_KEY_FILE"`
	CACertFile    string `short:"z" long:"cacert-file" description:"A PEM encoded CA's certificate file." env:"PUPPETDB_CACERT_FILE"`
	SSLSkipVerify bool   `short:"k" long:"ssl-skip-verify" description:"Skip SSL verification." env:"PUPPETDB_SSL_SKIP_VERIFY"`
	Query         string `` /* 171-byte string literal not displayed */
}

PuppetDBConfig describes PuppetDB client configuration

type StdoutOutputConfig

type StdoutOutputConfig struct{}

StdoutOutputConfig describes stdout output configuration

Jump to

Keyboard shortcuts

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