/ config / providers / netlify.go
netlify.go
  1  package providers
  2  
  3  import (
  4  	"github.com/pulumi/pulumi-terraform-provider/sdks/go/netlify/netlify"
  5  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
  6  )
  7  
  8  func Netlify(ctx *pulumi.Context, enable bool) error {
  9  	if !enable {
 10  		return nil
 11  	}
 12  	_, err := netlify.NewDnsZone(ctx, "mfarabi", &netlify.DnsZoneArgs{
 13  		Name:     pulumi.String("mfarabi.sh"),
 14  		TeamSlug: pulumi.String("mfarabi619"),
 15  	})
 16  	if err != nil {
 17  		return err
 18  	}
 19  
 20  	_, err = netlify.NewSiteBuildSettings(ctx, "mfarabi", &netlify.SiteBuildSettingsArgs{
 21  		BaseDirectory:    pulumi.String("apps/web"),
 22  		BuildCommand:     pulumi.String(""),
 23  		BuildImage:       pulumi.String("noble"),
 24  		DeployPreviews:   pulumi.Bool(true),
 25  		FunctionsRegion:  pulumi.String("us-east-2"),
 26  		PrettyUrls:       pulumi.Bool(true),
 27  		ProductionBranch: pulumi.String("main"),
 28  		PublishDirectory: pulumi.String("dist"),
 29  		SiteId:           pulumi.String("73e0c385-27e1-4710-813c-e05c49034b25"),
 30  		StopBuilds:       pulumi.Bool(true),
 31  	}, pulumi.Protect(true))
 32  	if err != nil {
 33  		return err
 34  	}
 35  
 36  	_, err = netlify.NewSiteDomainSettings(ctx, "mfarabi", &netlify.SiteDomainSettingsArgs{
 37  		CustomDomain: pulumi.String("mfarabi.sh"),
 38  		DomainAliases: pulumi.StringArray{
 39  			pulumi.String("2025.mfarabi.dev"),
 40  		},
 41  		SiteId: pulumi.String("73e0c385-27e1-4710-813c-e05c49034b25"),
 42  	}, pulumi.Protect(true))
 43  	if err != nil {
 44  		return err
 45  	}
 46  
 47  	_, err = netlify.NewSiteBuildSettings(ctx, "fumadocs-payloadcms", &netlify.SiteBuildSettingsArgs{
 48  		BuildCommand:     pulumi.String("pnpm build"),
 49  		BuildImage:       pulumi.String("noble"),
 50  		DeployPreviews:   pulumi.Bool(true),
 51  		FunctionsRegion:  pulumi.String("us-east-2"),
 52  		PrettyUrls:       pulumi.Bool(true),
 53  		ProductionBranch: pulumi.String("main"),
 54  		PublishDirectory: pulumi.String(".next"),
 55  		SiteId:           pulumi.String("a555ed7b-5253-49c1-8ac2-157022031411"),
 56  	}, pulumi.Protect(true))
 57  	if err != nil {
 58  		return err
 59  	}
 60  	_, err = netlify.NewSiteDomainSettings(ctx, "fumadocs-payloadcms", &netlify.SiteDomainSettingsArgs{
 61  		SiteId: pulumi.String("a555ed7b-5253-49c1-8ac2-157022031411"),
 62  	}, pulumi.Protect(true))
 63  	if err != nil {
 64  		return err
 65  	}
 66  
 67  	_, err = netlify.NewSiteBuildSettings(ctx, "cunext", &netlify.SiteBuildSettingsArgs{
 68  		BaseDirectory:    pulumi.String("slides"),
 69  		BuildCommand:     pulumi.String("npm run build"),
 70  		BuildImage:       pulumi.String("noble"),
 71  		DeployPreviews:   pulumi.Bool(true),
 72  		FunctionsRegion:  pulumi.String("us-east-1"),
 73  		PrettyUrls:       pulumi.Bool(true),
 74  		ProductionBranch: pulumi.String("main"),
 75  		PublishDirectory: pulumi.String("dist"),
 76  		SiteId:           pulumi.String("44e6a006-b7b8-447e-b348-d85af14f7610"),
 77  	}, pulumi.Protect(true))
 78  	if err != nil {
 79  		return err
 80  	}
 81  
 82  	_, err = netlify.NewSiteDomainSettings(ctx, "cunext", &netlify.SiteDomainSettingsArgs{
 83  		SiteId: pulumi.String("44e6a006-b7b8-447e-b348-d85af14f7610"),
 84  	}, pulumi.Protect(true))
 85  	if err != nil {
 86  		return err
 87  	}
 88  
 89  	_, err = netlify.NewSiteBuildSettings(ctx, "microvisor", &netlify.SiteBuildSettingsArgs{
 90  		BuildCommand:     pulumi.String("pnpx likec4 build"),
 91  		BuildImage:       pulumi.String("noble"),
 92  		DeployPreviews:   pulumi.Bool(true),
 93  		FunctionsRegion:  pulumi.String("us-east-2"),
 94  		PrettyUrls:       pulumi.Bool(true),
 95  		ProductionBranch: pulumi.String("main"),
 96  		PublishDirectory: pulumi.String("dist"),
 97  		SiteId:           pulumi.String("b6f1878f-1790-4165-b9e2-600063466bb7"),
 98  	}, pulumi.Protect(true))
 99  	if err != nil {
100  		return err
101  	}
102  
103  	_, err = netlify.NewSiteDomainSettings(ctx, "microvisor", &netlify.SiteDomainSettingsArgs{CustomDomain: pulumi.String("microvisor.dev"),
104  		SiteId: pulumi.String("b6f1878f-1790-4165-b9e2-600063466bb7"),
105  	}, pulumi.Protect(true))
106  	if err != nil {
107  		return err
108  	}
109  
110  	return nil
111  }