-
Notifications
You must be signed in to change notification settings - Fork 31
/
stan.go
36 lines (30 loc) · 1.18 KB
/
stan.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
package v1alpha1
import (
corev1 "k8s.io/api/core/v1"
)
type STANAuthStrategy string
var (
STANAuthNone STANAuthStrategy = "None"
STANAuthToken STANAuthStrategy = "Token"
)
type STAN struct {
// +kubebuilder:default=default
Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"`
NATSURL string `json:"natsUrl,omitempty" protobuf:"bytes,4,opt,name=natsUrl"`
NATSMonitoringURL string `json:"natsMonitoringUrl,omitempty" protobuf:"bytes,8,opt,name=natsMonitoringUrl"`
ClusterID string `json:"clusterId,omitempty" protobuf:"bytes,5,opt,name=clusterId"`
Subject string `json:"subject" protobuf:"bytes,3,opt,name=subject"`
SubjectPrefix SubjectPrefix `json:"subjectPrefix,omitempty" protobuf:"bytes,6,opt,name=subjectPrefix,casttype=SubjectPrefix"`
Auth *STANAuth `json:"auth,omitempty" protobuf:"bytes,7,opt,name=auth"`
}
type STANAuth struct {
Token *corev1.SecretKeySelector `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
}
func (s *STAN) AuthStrategy() STANAuthStrategy {
if s.Auth != nil {
if s.Auth.Token != nil {
return STANAuthToken
}
}
return STANAuthNone
}