config

package
v0.24.2 Latest Latest
Warning

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

Go to latest
Published: May 2, 2022 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

Package config generates Grafana Agent configuration based on Kubernetes resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SanitizeLabelName

func SanitizeLabelName(name string) string

SanitizeLabelName sanitizes a label name for Prometheus.

Types

type AssetReference

type AssetReference struct {
	Namespace string
	Reference prom.SecretOrConfigMap
}

AssetReference is a namespaced Secret or ConfigMap selector.

func AssetReferences added in v0.22.9

func AssetReferences(v interface{}) []AssetReference

AssetReferences returns all secret or configmap selectors used throughout v.

type Deployment

type Deployment struct {
	// Agent is the root resource that the deployment represents.
	Agent *grafana.GrafanaAgent
	// Metrics is the set of metrics instances discovered from the root Agent resource.
	Metrics []MetricsInstance
	// Logs is the set of logging instances discovered from the root Agent
	// resource.
	Logs []LogInstance
	// Secrets that can be referenced in the deployment.
	Secrets assets.SecretStore
}

Deployment is a set of resources used for one deployment of the Agent.

func (*Deployment) AssetReferences

func (d *Deployment) AssetReferences() []AssetReference

AssetReferences returns all secret or configmap selectors used throughout the deployment. Every used secret and configmap should then be loaded into an assets.SecretStore.

func (*Deployment) BuildConfig

func (d *Deployment) BuildConfig(secrets assets.SecretStore, ty Type) (string, error)

BuildConfig builds an Agent configuration file.

func (*Deployment) DeepCopy

func (d *Deployment) DeepCopy() *Deployment

DeepCopy creates a deep copy of d.

type FSImporter

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

FSImporter implements jsonnet.Importer for a fs.FS.

func NewFSImporter

func NewFSImporter(f fs.FS, paths []string) *FSImporter

NewFSImporter creates a new jsonnet VM Importer that uses the given fs.

func (*FSImporter) Import

func (i *FSImporter) Import(importedFrom, importedPath string) (contents jsonnet.Contents, foundAt string, err error)

Import implements jsonnet.Importer.

type LogInstance added in v0.19.0

type LogInstance struct {
	Instance *grafana.LogsInstance
	PodLogs  []*grafana.PodLogs
}

LogInstance is an instance with a set of associated PodLogs.

type MetricsInstance added in v0.19.0

type MetricsInstance struct {
	Instance        *grafana.MetricsInstance
	ServiceMonitors []*prom.ServiceMonitor
	PodMonitors     []*prom.PodMonitor
	Probes          []*prom.Probe
}

MetricsInstance is an instance with a set of associated service monitors, pod monitors, and probes, which compose the final configuration of the generated Metrics instance.

type Type added in v0.19.0

type Type int

Type is the type of Agent deployment that a config is being generated for.

const (
	// MetricsType generates a configuration for metrics.
	MetricsType Type = iota + 1
	// LogsType generates a configuration for logs.
	LogsType
)

func (Type) String added in v0.19.0

func (t Type) String() string

String returns the string form of Type.

Jump to

Keyboard shortcuts

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