Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 13 additions & 5 deletions api/v1/common_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,7 @@ type HAProxy struct {
// +kubebuilder:default:=false
PathBasedRouting *bool `json:"pathBasedRouting,omitempty"`
Service *corev1.ServiceType `json:"service,omitempty"`
// +kubebuilder:default:={enabled: false}
TcpPorts Tcpports `json:"tcpPorts,omitempty"`
TcpPorts *Tcpports `json:"tcpPorts,omitempty"`
// +kubebuilder:default:={client: 600, connect: 600, server: 600}
Timeout Timeout `json:"timeout,omitempty"`
// +kubebuilder:default:={enabled: false, secretName: "", certFileName: ""}
Expand All @@ -112,6 +111,14 @@ type HAProxy struct {
Ingress Ingress `json:"ingress,omitempty"`
}

// HAProxyGroup represents group-level HAProxy configuration that can override cluster settings
type HAProxyGroup struct {
Enabled bool `json:"enabled,omitempty"`
AppServers []AppServers `json:"appServers,omitempty"`
PathBasedRouting *bool `json:"pathBasedRouting,omitempty"`
TcpPorts *Tcpports `json:"tcpPorts,omitempty"`
}

type AppServers struct {
Name string `json:"name,omitempty"`
Type string `json:"type,omitempty"`
Expand All @@ -138,9 +145,10 @@ type Tcpports struct {
}

type TcpPort struct {
Port int32 `json:"port,omitempty"`
Name string `json:"name,omitempty"`
Type string `json:"type,omitempty"`
Port int32 `json:"port,omitempty"`
TargetPort int32 `json:"targetPort,omitempty"`
Name string `json:"name,omitempty"`
Type string `json:"type,omitempty"`
}

type Timeout struct {
Expand Down
2 changes: 1 addition & 1 deletion api/v1/marklogiccluster_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ type MarklogicGroups struct {
PriorityClassName string `json:"priorityClassName,omitempty"`
HugePages *HugePages `json:"hugePages,omitempty"`
LogCollection *LogCollection `json:"logCollection,omitempty"`
HAProxy *HAProxy `json:"haproxy,omitempty"`
HAProxy *HAProxyGroup `json:"haproxy,omitempty"`
// +kubebuilder:default:=false
IsBootstrap bool `json:"isBootstrap,omitempty"`
Tls *Tls `json:"tls,omitempty"`
Expand Down
38 changes: 36 additions & 2 deletions api/v1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading