Compare commits

...

2 commits

3 changed files with 53 additions and 26 deletions

2
go.mod
View file

@ -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
)

2
go.sum
View file

@ -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=

75
host.go
View file

@ -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