Skip to content

Commit

Permalink
Merge pull request #125 from loxilb-io/gateway-api
Browse files Browse the repository at this point in the history
add new args for gatewayAPI
  • Loading branch information
UltraInstinct14 authored Mar 21, 2024
2 parents 6245fe5 + 07f0c85 commit c25a707
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 4 deletions.
3 changes: 2 additions & 1 deletion cmd/loxilb-agent/agent.go
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,8 @@ func run(o *Options) error {

go lbManager.Run(stopCh, loxiLBLiveCh, loxiLBPurgeCh, loxiLBSelMasterEvent)

if networkConfig.LoxilbGatewayClass != "" {
// Run gateway API managers
if o.config.EnableGatewayAPI {
gatewayClassManager := gatewayapi.NewGatewayClassManager(
k8sClient, sigsClient, networkConfig, sigsInformerFactory)

Expand Down
2 changes: 2 additions & 0 deletions cmd/loxilb-agent/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ type AgentConfig struct {
NodePortServiceVirtIP string `yaml:"nodePortServiceVirtIP,omitempty"`
// support LoadBalancerClass
LoxilbLoadBalancerClass string `yaml:"loxilbLoadBalancerClass,omitempty"`
// enable Gateway API
EnableGatewayAPI bool `yaml:"gatewayAPI"`
// support GatewayClass manager name
LoxilbGatewayClass string `yaml:"loxilbGatewayClass,omitempty"`
// support LoadBalancer external IP
Expand Down
12 changes: 9 additions & 3 deletions cmd/loxilb-agent/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ func (o *Options) addFlags(fs *pflag.FlagSet) {
fs.StringVar(&o.config.ExternalCIDR6, "externalCIDR6", o.config.ExternalCIDR6, "External CIDR6 Range")
fs.StringVar(&secondaryCIDRs6, "externalSecondaryCIDRs6", secondaryCIDRs6, "External Secondary CIDR6 Range(s)")
fs.StringVar(&o.config.LoxilbLoadBalancerClass, "loxilbLoadBalancerClass", o.config.LoxilbLoadBalancerClass, "Load-Balancer Class Name")
fs.BoolVar(&o.config.EnableGatewayAPI, "gatewayAPI", false, "Enable gateway API managers")
fs.StringVar(&o.config.LoxilbGatewayClass, "loxilbGatewayClass", o.config.LoxilbGatewayClass, "GatewayClass manager Name")
fs.Uint16Var(&o.config.SetBGP, "setBGP", o.config.SetBGP, "Use BGP routing")
fs.Uint16Var(&o.config.ListenBGPPort, "listenBGPPort", o.config.ListenBGPPort, "Custom BGP listen port")
Expand Down Expand Up @@ -175,9 +176,11 @@ func (o *Options) validate(args []string) error {
}
}

if o.config.LoxilbGatewayClass != "" {
if ok := strings.Contains(o.config.LoxilbGatewayClass, "/"); !ok {
return fmt.Errorf("LoxilbGatewayClass must be a label-style identifier")
if o.config.EnableGatewayAPI {
if o.config.LoxilbGatewayClass != "" {
if ok := strings.Contains(o.config.LoxilbGatewayClass, "/"); !ok {
return fmt.Errorf("LoxilbGatewayClass must be a label-style identifier")
}
}
}

Expand Down Expand Up @@ -236,6 +239,9 @@ func (o *Options) setDefaults() {
if o.config.LoxilbLoadBalancerClass == "" {
o.config.LoxilbLoadBalancerClass = "loxilb.io/loxilb"
}
if o.config.LoxilbGatewayClass == "" {
o.config.LoxilbGatewayClass = "loxilb.io/loxilb"
}

if o.config.ExternalCIDR == "" {
o.config.ExternalCIDR = "123.123.123.1/24"
Expand Down
1 change: 1 addition & 0 deletions manifest/gateway-api/kube-loxilb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ spec:
- --setBGP=64512
- --listenBGPPort=1791
- --setRoles=0.0.0.0
- --gatewayAPI
#- --extBGPPeers=50.50.50.1:65101,51.51.51.1:65102
#- --setLBMode=1
#- --config=/opt/loxilb/agent/kube-loxilb.conf
Expand Down

0 comments on commit c25a707

Please sign in to comment.