From 52127d2266461995fb1ae15c84f105092b2120a0 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Sat, 6 Jun 2026 10:54:14 +0900 Subject: [PATCH 1/2] 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 From 43c6179993a6f8d83ebca44e26a17e3166fd3833 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Sat, 6 Jun 2026 11:15:22 +0900 Subject: [PATCH 2/2] Keep on github.com/pulumi/pulumi-oci/sdk v1.38.0 --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 2d09856..2465875 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module infra-happyDomain go 1.25.8 require ( - github.com/pulumi/pulumi-oci/sdk v1.41.0 + github.com/pulumi/pulumi-oci/sdk v1.38.0 github.com/pulumi/pulumi/sdk/v3 v3.237.0 ) diff --git a/go.sum b/go.sum index af63ff0..b403002 100644 --- a/go.sum +++ b/go.sum @@ -183,6 +183,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.23.0 h1:5lOXO+5vvXOEQxXw7cTuYhjg9lVng23f9XNLWDR9EP4= github.com/pulumi/esc v0.23.0/go.mod h1:mkghIFn/TvN3XnP4jmCB4U5BG1I4UjGluARi39ckrCE= +github.com/pulumi/pulumi-oci/sdk v1.38.0 h1:3bR5a+17J7e+eKtHthd0zpt7HCi/6EnLXWfo5Gytr/s= +github.com/pulumi/pulumi-oci/sdk v1.38.0/go.mod h1:YKLdF2MGO4rT6q5QHdifQDS4fUCSmVdiaOCSYC8xYh0= github.com/pulumi/pulumi-oci/sdk v1.41.0 h1:U+xgB/CQCLMyGWgzRGcJi9ackOifdyXTQ151rTuQRLQ= github.com/pulumi/pulumi-oci/sdk v1.41.0/go.mod h1:oR8cLtd+GJngLsGFvVWIPL/TLcf8MfSUvGqSD9aZEXs= github.com/pulumi/pulumi/sdk/v3 v3.237.0 h1:D0kx4fkUkiZWfreQg1ekeAifLJEC2+VRYzgboQClg9Q=