-
Notifications
You must be signed in to change notification settings - Fork 90
/
types.go
188 lines (182 loc) · 7.22 KB
/
types.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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
package peer
import corev1 "k8s.io/api/core/v1"
type RBAC struct {
Ns string `json:"ns"`
}
type CouchDB struct {
External CouchDBExternal `json:"external"`
Image string `json:"image"`
Tag string `json:"tag"`
PullPolicy string `json:"pullPolicy"`
}
type CouchDBExternal struct {
Enabled bool `json:"enabled"`
Host string `json:"host"`
Port int `json:"port"`
}
type FSServer struct {
Image string `json:"image"`
Tag string `json:"tag"`
PullPolicy string `json:"pullPolicy"`
}
type FabricPeerChart struct {
FSServer FSServer `json:"fsServer"`
Istio Istio `json:"istio"`
Replicas int `json:"replicas"`
ExternalChaincodeBuilder bool `json:"externalChaincodeBuilder"`
CouchdbUsername string `json:"couchdbUsername"`
CouchdbPassword string `json:"couchdbPassword"`
Image Image `json:"image"`
CouchDB CouchDB `json:"couchdb"`
Rbac RBAC `json:"rbac"`
DockerSocketPath string `json:"dockerSocketPath"`
Peer Peer `json:"peer"`
Cert string `json:"cert"`
Key string `json:"key"`
Hosts []string `json:"hosts"`
Proxy GRPCProxy `json:"proxy"`
TLS TLS `json:"tls"`
OPSTLS TLS `json:"opsTLS"`
Cacert string `json:"cacert"`
IntCacert string `json:"intCAcert"`
Tlsrootcert string `json:"tlsrootcert"`
Resources PeerResources `json:"resources,omitempty"`
NodeSelector *corev1.NodeSelector `json:"nodeSelector,omitempty"`
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets"`
Affinity *corev1.Affinity `json:"affinity,omitempty"`
ExternalHost string `json:"externalHost"`
FullnameOverride string `json:"fullnameOverride"`
CouchDBExporter CouchDBExporter `json:"couchdbExporter"`
HostAliases []HostAlias `json:"hostAliases"`
Service Service `json:"service"`
Persistence PeerPersistence `json:"persistence"`
Logging Logging `json:"logging"`
ExternalBuilders []ExternalBuilder `json:"externalBuilders"`
ServiceMonitor ServiceMonitor `json:"serviceMonitor"`
EnvVars []corev1.EnvVar `json:"envVars"`
}
type GRPCProxy struct {
Enabled bool `json:"enabled"`
Image string `json:"image"`
Tag string `json:"tag"`
PullPolicy string `json:"pullPolicy"`
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets"`
Istio Istio `json:"istio"`
}
type ServiceMonitor struct {
Enabled bool `json:"enabled"`
Labels map[string]string `json:"labels"`
Interval string `json:"interval"`
ScrapeTimeout string `json:"scrapeTimeout"`
Scheme string `json:"scheme"`
Relabelings []interface{} `json:"relabelings"`
TargetLabels []interface{} `json:"targetLabels"`
MetricRelabelings []interface{} `json:"metricRelabelings"`
SampleLimit int `json:"sampleLimit"`
}
type ExternalBuilder struct {
Name string `json:"name"`
Path string `json:"path"`
PropagateEnvironment []string `json:"propagateEnvironment"`
}
type Istio struct {
Port int `json:"port"`
Hosts []string `json:"hosts"`
IngressGateway string `json:"ingressGateway"`
}
type PeerResources struct {
Peer Resources `json:"peer"`
CouchDB Resources `json:"couchdb"`
Chaincode Resources `json:"chaincode"`
CouchDBExporter *Resources `json:"couchdbExporter,omitempty"`
Proxy *Resources `json:"proxy,omitempty"`
}
type CouchDBExporter struct {
Enabled bool `json:"enabled"`
Image string `json:"image"`
Tag string `json:"tag"`
PullPolicy string `json:"pullPolicy"`
}
type PeerPersistence struct {
Peer Persistence `json:"peer"`
CouchDB Persistence `json:"couchdb"`
Chaincode Persistence `json:"chaincode"`
}
type Image struct {
Repository string `json:"repository"`
Tag string `json:"tag"`
PullPolicy string `json:"pullPolicy"`
}
type Annotations struct {
}
type Gossip struct {
Bootstrap string `json:"bootstrap"`
Endpoint string `json:"endpoint"`
ExternalEndpoint string `json:"externalEndpoint"`
OrgLeader bool `json:"orgLeader"`
UseLeaderElection bool `json:"useLeaderElection"`
}
type Server struct {
Enabled bool `json:"enabled"`
}
type Client struct {
Enabled bool `json:"enabled"`
}
type TLSAuth struct {
Server Server `json:"server"`
Client Client `json:"client"`
}
type Peer struct {
DatabaseType string `json:"databaseType"`
CouchdbInstance string `json:"couchdbInstance"`
MspID string `json:"mspID"`
Gossip Gossip `json:"gossip"`
TLS TLSAuth `json:"tls"`
}
type TLS struct {
Cert string `json:"cert"`
Key string `json:"key"`
}
type Limits struct {
CPU string `json:"cpu"`
Memory string `json:"memory"`
}
type Requests struct {
CPU string `json:"cpu"`
Memory string `json:"memory"`
}
type Resources struct {
Limits Limits `json:"limits"`
Requests Requests `json:"requests"`
}
type HostAlias struct {
IP string `json:"ip"`
Hostnames []string `json:"hostnames"`
}
type Service struct {
Type string `json:"type"`
PortRequest int `json:"portRequest"`
PortEvent int `json:"portEvent"`
PortOperations int `json:"portOperations"`
NodePortOperations int `json:"nodePortOperations,omitempty"`
NodePortEvent int `json:"nodePortEvent,omitempty"`
NodePortRequest int `json:"nodePortRequest,omitempty"`
}
type Persistence struct {
Enabled bool `json:"enabled"`
Annotations Annotations `json:"annotations"`
StorageClass string `json:"storageClass"`
AccessMode string `json:"accessMode"`
Size string `json:"size"`
}
type Logging struct {
Level string `json:"level"`
Peer string `json:"peer"`
Cauthdsl string `json:"cauthdsl"`
Gossip string `json:"gossip"`
Grpc string `json:"grpc"`
Ledger string `json:"ledger"`
Msp string `json:"msp"`
Policies string `json:"policies"`
}