in internal/store/secret.go [41:145]
func secretMetricFamilies(allowAnnotationsList, allowLabelsList []string) []generator.FamilyGenerator {
return []generator.FamilyGenerator{
*generator.NewFamilyGenerator(
"kube_secret_info",
"Information about secret.",
metric.Gauge,
"",
wrapSecretFunc(func(s *v1.Secret) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
Value: 1,
},
},
}
}),
),
*generator.NewFamilyGenerator(
"kube_secret_type",
"Type about secret.",
metric.Gauge,
"",
wrapSecretFunc(func(s *v1.Secret) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
LabelKeys: []string{"type"},
LabelValues: []string{string(s.Type)},
Value: 1,
},
},
}
}),
),
*generator.NewFamilyGenerator(
descSecretAnnotationsName,
descSecretAnnotationsHelp,
metric.Gauge,
"",
wrapSecretFunc(func(s *v1.Secret) *metric.Family {
annotationKeys, annotationValues := createPrometheusLabelKeysValues("annotation", s.Annotations, allowAnnotationsList)
return &metric.Family{
Metrics: []*metric.Metric{
{
LabelKeys: annotationKeys,
LabelValues: annotationValues,
Value: 1,
},
},
}
}),
),
*generator.NewFamilyGenerator(
descSecretLabelsName,
descSecretLabelsHelp,
metric.Gauge,
"",
wrapSecretFunc(func(s *v1.Secret) *metric.Family {
labelKeys, labelValues := createPrometheusLabelKeysValues("label", s.Labels, allowLabelsList)
return &metric.Family{
Metrics: []*metric.Metric{
{
LabelKeys: labelKeys,
LabelValues: labelValues,
Value: 1,
},
},
}
}),
),
*generator.NewFamilyGenerator(
"kube_secret_created",
"Unix creation timestamp",
metric.Gauge,
"",
wrapSecretFunc(func(s *v1.Secret) *metric.Family {
ms := []*metric.Metric{}
if !s.CreationTimestamp.IsZero() {
ms = append(ms, &metric.Metric{
Value: float64(s.CreationTimestamp.Unix()),
})
}
return &metric.Family{
Metrics: ms,
}
}),
),
*generator.NewFamilyGenerator(
"kube_secret_metadata_resource_version",
"Resource version representing a specific version of secret.",
metric.Gauge,
"",
wrapSecretFunc(func(s *v1.Secret) *metric.Family {
return &metric.Family{
Metrics: resourceVersionMetric(s.ObjectMeta.ResourceVersion),
}
}),
),
}
}