@@ -98,8 +98,7 @@ type HAProxy struct {
9898 // +kubebuilder:default:=false
9999 PathBasedRouting * bool `json:"pathBasedRouting,omitempty"`
100100 Service * corev1.ServiceType `json:"service,omitempty"`
101- // +kubebuilder:default:={enabled: false}
102- TcpPorts Tcpports `json:"tcpPorts,omitempty"`
101+ TcpPorts * Tcpports `json:"tcpPorts,omitempty"`
103102 // +kubebuilder:default:={client: 600, connect: 600, server: 600}
104103 Timeout Timeout `json:"timeout,omitempty"`
105104 // +kubebuilder:default:={enabled: false, secretName: "", certFileName: ""}
@@ -112,6 +111,14 @@ type HAProxy struct {
112111 Ingress Ingress `json:"ingress,omitempty"`
113112}
114113
114+ // HAProxyGroup represents group-level HAProxy configuration that can override cluster settings
115+ type HAProxyGroup struct {
116+ Enabled bool `json:"enabled,omitempty"`
117+ AppServers []AppServers `json:"appServers,omitempty"`
118+ PathBasedRouting * bool `json:"pathBasedRouting,omitempty"`
119+ TcpPorts * Tcpports `json:"tcpPorts,omitempty"`
120+ }
121+
115122type AppServers struct {
116123 Name string `json:"name,omitempty"`
117124 Type string `json:"type,omitempty"`
@@ -138,9 +145,10 @@ type Tcpports struct {
138145}
139146
140147type TcpPort struct {
141- Port int32 `json:"port,omitempty"`
142- Name string `json:"name,omitempty"`
143- Type string `json:"type,omitempty"`
148+ Port int32 `json:"port,omitempty"`
149+ TargetPort int32 `json:"targetPort,omitempty"`
150+ Name string `json:"name,omitempty"`
151+ Type string `json:"type,omitempty"`
144152}
145153
146154type Timeout struct {
0 commit comments