traefik/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middlewaretcp.go

51 lines
1.9 KiB
Go
Raw Normal View History

2021-06-11 13:30:05 +00:00
package v1alpha1
import (
2023-02-03 14:24:05 +00:00
"github.com/traefik/traefik/v3/pkg/config/dynamic"
2021-06-11 13:30:05 +00:00
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.
2022-12-05 15:58:04 +00:00
// More info: https://doc.traefik.io/traefik/v3.0/middlewares/overview/
2021-06-11 13:30:05 +00:00
type MiddlewareTCP struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
2021-06-11 13:30:05 +00:00
metav1.ObjectMeta `json:"metadata"`
Spec MiddlewareTCPSpec `json:"spec"`
}
// +k8s:deepcopy-gen=true
// MiddlewareTCPSpec defines the desired state of a MiddlewareTCP.
2021-06-11 13:30:05 +00:00
type MiddlewareTCPSpec struct {
// InFlightConn defines the InFlightConn middleware configuration.
InFlightConn *dynamic.TCPInFlightConn `json:"inFlightConn,omitempty"`
// IPWhiteList defines the IPWhiteList middleware configuration.
// This middleware accepts/refuses connections based on the client IP.
// Deprecated: please use IPAllowList instead.
// More info: https://doc.traefik.io/traefik/v3.0/middlewares/tcp/ipwhitelist/
IPWhiteList *dynamic.TCPIPWhiteList `json:"ipWhiteList,omitempty"`
2022-10-26 15:16:05 +00:00
// IPAllowList defines the IPAllowList middleware configuration.
// This middleware accepts/refuses connections based on the client IP.
// More info: https://doc.traefik.io/traefik/v3.0/middlewares/tcp/ipallowlist/
2022-10-26 15:16:05 +00:00
IPAllowList *dynamic.TCPIPAllowList `json:"ipAllowList,omitempty"`
2021-06-11 13:30:05 +00:00
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// MiddlewareTCPList is a collection of MiddlewareTCP resources.
2021-06-11 13:30:05 +00:00
type MiddlewareTCPList struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
2021-06-11 13:30:05 +00:00
metav1.ListMeta `json:"metadata"`
// Items is the list of MiddlewareTCP.
2021-06-11 13:30:05 +00:00
Items []MiddlewareTCP `json:"items"`
}