forked from spiffe/spire
-
Notifications
You must be signed in to change notification settings - Fork 4
/
ca_manager.go
83 lines (66 loc) · 2.84 KB
/
ca_manager.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package server
import (
"github.com/accuknox/spire/pkg/common/telemetry"
)
// Call Counters (timing and success metrics)
// Allows adding labels in-code
// StartCAManagerPruneBundleCall returns metric for
// for server CA manager bundle pruning
func StartCAManagerPruneBundleCall(m telemetry.Metrics) *telemetry.CallCounter {
return telemetry.StartCall(m, telemetry.CA, telemetry.Manager, telemetry.Bundle, telemetry.Prune)
}
// StartServerCAManagerPrepareJWTKeyCall return metric for
// Server CA Manager preparing a JWT Key
func StartServerCAManagerPrepareJWTKeyCall(m telemetry.Metrics) *telemetry.CallCounter {
return telemetry.StartCall(m, telemetry.CA, telemetry.Manager, telemetry.JWTKey, telemetry.Prepare)
}
// StartServerCAManagerPrepareX509CACall return metric for
// Server CA Manager preparing an X509 CA
func StartServerCAManagerPrepareX509CACall(m telemetry.Metrics) *telemetry.CallCounter {
return telemetry.StartCall(m, telemetry.CA, telemetry.Manager, telemetry.X509CA, telemetry.Prepare)
}
// End Call Counters
// Gauge (remember previous value set)
// SetX509CARotateGauge set gauge for X509 CA rotation,
// TTL of CA for a specific TrustDomain
func SetX509CARotateGauge(m telemetry.Metrics, trustDomain string, val float32) {
m.SetGaugeWithLabels(
[]string{telemetry.Manager, telemetry.X509CA, telemetry.Rotate, telemetry.TTL},
val,
[]telemetry.Label{
{Name: telemetry.TrustDomainID, Value: trustDomain},
})
}
// End Gauge
// Counters (literal increments, not call counters)
// IncrActivateJWTKeyManagerCounter indicate activation
// of JWT Key manager
func IncrActivateJWTKeyManagerCounter(m telemetry.Metrics) {
m.IncrCounter([]string{telemetry.Manager, telemetry.JWTKey, telemetry.Activate}, 1)
}
// IncrActivateX509CAManagerCounter indicate activation
// of X509 CA manager
func IncrActivateX509CAManagerCounter(m telemetry.Metrics) {
m.IncrCounter([]string{telemetry.CA, telemetry.Manager, telemetry.X509CA, telemetry.Activate}, 1)
}
// IncrManagerPrunedBundleCounter indicate manager
// having pruned a bundle
func IncrManagerPrunedBundleCounter(m telemetry.Metrics) {
m.IncrCounter([]string{telemetry.CA, telemetry.Manager, telemetry.Bundle, telemetry.Pruned}, 1)
}
// IncrServerCASignJWTSVIDCounter indicate Server CA
// signed a JWT SVID.
func IncrServerCASignJWTSVIDCounter(m telemetry.Metrics) {
m.IncrCounter([]string{telemetry.ServerCA, telemetry.Sign, telemetry.JWTSVID}, 1)
}
// IncrServerCASignX509CACounter indicate Server CA
// signed an X509 CA SVID.
func IncrServerCASignX509CACounter(m telemetry.Metrics) {
m.IncrCounter([]string{telemetry.ServerCA, telemetry.Sign, telemetry.X509CASVID}, 1)
}
// IncrServerCASignX509Counter indicate Server CA
// signed an X509 SVID.
func IncrServerCASignX509Counter(m telemetry.Metrics) {
m.IncrCounter([]string{telemetry.ServerCA, telemetry.Sign, telemetry.X509SVID}, 1)
}
// End Counters