From 52127d2266461995fb1ae15c84f105092b2120a0 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Sat, 6 Jun 2026 10:54:14 +0900 Subject: [PATCH] Use a classic loadbalancer instead of networklb --- host.go | 75 ++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 25 deletions(-) diff --git a/host.go b/host.go index 067ee2b..fdd0b53 100644 --- a/host.go +++ b/host.go @@ -7,7 +7,7 @@ import ( "github.com/pulumi/pulumi-oci/sdk/go/oci/core" "github.com/pulumi/pulumi-oci/sdk/go/oci/identity" - "github.com/pulumi/pulumi-oci/sdk/go/oci/networkloadbalancer" + "github.com/pulumi/pulumi-oci/sdk/go/oci/loadbalancer" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" ) @@ -16,13 +16,15 @@ func setupHostMain(ctx *pulumi.Context, ocicfg *config.Config, compartment *iden cfg := config.New(ctx, "") // Setup load-balancer - nlb, err := networkloadbalancer.NewNetworkLoadBalancer(ctx, "happy-nlb", &networkloadbalancer.NetworkLoadBalancerArgs{ - DisplayName: pulumi.Sprintf("%s-happy-nlb", ctx.Stack()), - SubnetId: subnet.ID(), - CompartmentId: compartment.ID(), - IsPreserveSourceDestination: pulumi.Bool(false), - IsPrivate: pulumi.Bool(false), - NlbIpVersion: pulumi.String("IPV4"), + nlb, err := loadbalancer.NewLoadBalancer(ctx, "happy-nlb", &loadbalancer.LoadBalancerArgs{ + DisplayName: pulumi.Sprintf("%s-happy-nlb", ctx.Stack()), + CompartmentId: compartment.ID(), + SubnetIds: pulumi.StringArray{subnet.ID()}, + Shape: pulumi.String("flexible"), + ShapeDetails: &loadbalancer.LoadBalancerShapeDetailsArgs{ + MaximumBandwidthInMbps: pulumi.Int(10), + MinimumBandwidthInMbps: pulumi.Int(10), + }, }) if err != nil { return err @@ -30,17 +32,41 @@ func setupHostMain(ctx *pulumi.Context, ocicfg *config.Config, compartment *iden ctx.Export("nlb-ip", nlb.IpAddresses) - nlbset4, err := networkloadbalancer.NewBackendSet(ctx, "happydomain-nlbset4", &networkloadbalancer.BackendSetArgs{ - HealthChecker: &networkloadbalancer.BackendSetHealthCheckerArgs{ + nlbset4, err := loadbalancer.NewBackendSet(ctx, "happy-nlbset4", &loadbalancer.BackendSetArgs{ + HealthChecker: &loadbalancer.BackendSetHealthCheckerArgs{ + Protocol: pulumi.String("TCP"), + Port: pulumi.Int(443), + }, + Name: pulumi.Sprintf("%s-happy-nlbset4", ctx.Stack()), + LoadBalancerId: nlb.ID(), + Policy: pulumi.String("LEAST_CONNECTIONS"), + }) + if err != nil { + return err + } + + _, err = loadbalancer.NewListener(ctx, "local-ia-listener4", &loadbalancer.ListenerArgs{ + DefaultBackendSetName: nlbset4.Name, + Name: pulumi.Sprintf("%s-happy-nlb-listen4", ctx.Stack()), + LoadBalancerId: nlb.ID(), + Port: pulumi.Int(443), + Protocol: pulumi.String("TCP"), + }) + if err != nil { + return err + } + + /*nlbset6, err := loadbalancer.NewBackendSet(ctx, "happy-nlbset6", &loadbalancer.BackendSetArgs{ + HealthChecker: &loadbalancer.BackendSetHealthCheckerArgs{ Protocol: pulumi.String("HTTPS"), Port: pulumi.Int(443), UrlPath: pulumi.String("/api/version"), ReturnCode: pulumi.Int(200), }, - Name: pulumi.Sprintf("%s-happydomain-nlbset4", ctx.Stack()), - NetworkLoadBalancerId: nlb.ID(), + Name: pulumi.Sprintf("%s-happy-nlbset6", ctx.Stack()), + LoadBalancerId: nlb.ID(), Policy: pulumi.String("FIVE_TUPLE"), - IpVersion: pulumi.String("IPV4"), + IpVersion: pulumi.String("IPV6"), IsPreserveSource: pulumi.Bool(true), IsFailOpen: pulumi.Bool(true), }) @@ -48,17 +74,17 @@ func setupHostMain(ctx *pulumi.Context, ocicfg *config.Config, compartment *iden return err } - _, err = networkloadbalancer.NewListener(ctx, "happydomain-listener4", &networkloadbalancer.ListenerArgs{ - DefaultBackendSetName: nlbset4.Name, - Name: pulumi.Sprintf("%s-happydomain-nlb-listen4", ctx.Stack()), - NetworkLoadBalancerId: nlb.ID(), + _, err = loadbalancer.NewListener(ctx, "local-ia-listener6", &loadbalancer.ListenerArgs{ + DefaultBackendSetName: nlbset6.Name, + Name: pulumi.Sprintf("%s-happy-nlb-listen6", ctx.Stack()), + LoadBalancerId: nlb.ID(), Port: pulumi.Int(0), Protocol: pulumi.String("TCP"), - IpVersion: pulumi.String("IPV4"), + IpVersion: pulumi.String("IPV6"), }) if err != nil { return err - } + }*/ // Get boot image imageId := compartment.CompartmentId.ApplyT(func(id string) string { @@ -152,12 +178,11 @@ func setupHostMain(ctx *pulumi.Context, ocicfg *config.Config, compartment *iden ctx.Export("instance-ip", instance.PublicIp) // Add host to backend - _, err = networkloadbalancer.NewBackend(ctx, "happydomain-lb4", &networkloadbalancer.BackendArgs{ - BackendSetName: nlbset4.Name, - NetworkLoadBalancerId: nlb.ID(), - Port: pulumi.Int(0), - IpAddress: instance.PrivateIp, - TargetId: instance.ID(), + _, err = loadbalancer.NewBackend(ctx, "happydomain-lb4", &loadbalancer.BackendArgs{ + BackendsetName: nlbset4.Name, + LoadBalancerId: nlb.ID(), + Port: pulumi.Int(443), + IpAddress: instance.PrivateIp, }) if err != nil { return err