vercel.go
1 package providers 2 3 import ( 4 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 5 "github.com/pulumiverse/pulumi-vercel/sdk/v3/go/vercel" 6 ) 7 8 func Vercel(ctx *pulumi.Context, enableVercel bool) error { 9 if !enableVercel { 10 return nil 11 } 12 13 _, err := vercel.NewProject(ctx, "fumadocs-payloadcms", &vercel.ProjectArgs{ 14 AutoAssignCustomDomains: pulumi.Bool(true), 15 AutomaticallyExposeSystemEnvironmentVariables: pulumi.Bool(true), 16 BuildCommand: pulumi.String("pnpm build"), 17 Framework: pulumi.String("nextjs"), 18 GitForkProtection: pulumi.Bool(true), 19 GitRepository: &vercel.ProjectGitRepositoryArgs{ 20 ProductionBranch: pulumi.String("main"), 21 Repo: pulumi.String("MFarabi619/fumadocs-payloadcms"), 22 Type: pulumi.String("github"), 23 }, 24 InstallCommand: pulumi.String("pnpm i"), 25 Name: pulumi.String("fumadocs-payloadcms"), 26 NodeVersion: pulumi.String("22.x"), 27 OidcTokenConfig: &vercel.ProjectOidcTokenConfigArgs{ 28 Enabled: pulumi.Bool(true), 29 IssuerMode: pulumi.String("team"), 30 }, 31 PrioritiseProductionBuilds: pulumi.Bool(true), 32 VercelAuthentication: &vercel.ProjectVercelAuthenticationArgs{ 33 DeploymentType: pulumi.String("standard_protection_new"), 34 }, 35 }, pulumi.Protect(true)) 36 if err != nil { 37 return err 38 } 39 40 _, err = vercel.NewProject(ctx, "lunar-quake", &vercel.ProjectArgs{ 41 AutoAssignCustomDomains: pulumi.Bool(true), 42 AutomaticallyExposeSystemEnvironmentVariables: pulumi.Bool(true), 43 Framework: pulumi.String("nextjs"), 44 GitForkProtection: pulumi.Bool(true), 45 GitRepository: &vercel.ProjectGitRepositoryArgs{ 46 ProductionBranch: pulumi.String("main"), 47 Repo: pulumi.String("MFarabi619/LunarQuake"), 48 Type: pulumi.String("github"), 49 }, 50 Name: pulumi.String("lunar-quake"), 51 NodeVersion: pulumi.String("18.x"), 52 OidcTokenConfig: &vercel.ProjectOidcTokenConfigArgs{ 53 Enabled: pulumi.Bool(true), 54 IssuerMode: pulumi.String("team"), 55 }, 56 ResourceConfig: &vercel.ProjectResourceConfigArgs{ 57 FunctionDefaultCpuType: pulumi.String("standard_legacy"), 58 FunctionDefaultRegions: pulumi.StringArray{ 59 pulumi.String("iad1"), 60 }, 61 }, 62 RootDirectory: pulumi.String("frontend"), 63 VercelAuthentication: &vercel.ProjectVercelAuthenticationArgs{ 64 DeploymentType: pulumi.String("none"), 65 }, 66 }, pulumi.Protect(false)) 67 68 if err != nil { 69 return err 70 } 71 _, err = vercel.NewProject(ctx, "personal-portfolio-website", &vercel.ProjectArgs{ 72 AutomaticallyExposeSystemEnvironmentVariables: pulumi.Bool(true), 73 Framework: pulumi.String("vite"), 74 GitForkProtection: pulumi.Bool(true), 75 GitRepository: &vercel.ProjectGitRepositoryArgs{ 76 ProductionBranch: pulumi.String("main"), 77 Repo: pulumi.String("MFarabi619/personal-portfolio-website"), 78 Type: pulumi.String("github"), 79 }, 80 Name: pulumi.String("personal-portfolio-website"), 81 NodeVersion: pulumi.String("18.x"), 82 OidcTokenConfig: &vercel.ProjectOidcTokenConfigArgs{ 83 Enabled: pulumi.Bool(true), 84 IssuerMode: pulumi.String("team"), 85 }, 86 VercelAuthentication: &vercel.ProjectVercelAuthenticationArgs{ 87 DeploymentType: pulumi.String("none"), 88 }, 89 }, pulumi.Protect(false)) 90 91 if err != nil { 92 return err 93 } 94 95 _, err = vercel.NewProjectDomain(ctx, "personal-portfolio-website", &vercel.ProjectDomainArgs{ 96 Domain: pulumi.String("mfarabi.dev"), 97 ProjectId: pulumi.String("prj_LCGEM3EiR0KuH3KOtOSz6zm8JL9D"), 98 }, pulumi.Protect(false)) 99 if err != nil { 100 return err 101 } 102 103 _, err = vercel.NewProjectDomain(ctx, "2023.mfarabi.dev", &vercel.ProjectDomainArgs{ 104 Domain: pulumi.String("2023.mfarabi.dev"), 105 ProjectId: pulumi.String("prj_LCGEM3EiR0KuH3KOtOSz6zm8JL9D"), 106 }, pulumi.Protect(false)) 107 if err != nil { 108 return err 109 } 110 111 _, err = vercel.NewProjectDomain(ctx, "www.mfarabi.dev", &vercel.ProjectDomainArgs{ 112 Domain: pulumi.String("www.mfarabi.dev"), 113 ProjectId: pulumi.String("prj_LCGEM3EiR0KuH3KOtOSz6zm8JL9D"), 114 }, pulumi.Protect(false)) 115 if err != nil { 116 return err 117 } 118 119 _, err = vercel.NewProject(ctx, "github-readme-stats", &vercel.ProjectArgs{ 120 AutomaticallyExposeSystemEnvironmentVariables: pulumi.Bool(true), 121 GitForkProtection: pulumi.Bool(true), 122 GitRepository: &vercel.ProjectGitRepositoryArgs{ 123 ProductionBranch: pulumi.String("master"), 124 Repo: pulumi.String("MFarabi619/github-readme-stats"), 125 Type: pulumi.String("github"), 126 }, 127 Name: pulumi.String("github-readme-stats"), 128 NodeVersion: pulumi.String("22.x"), 129 OidcTokenConfig: &vercel.ProjectOidcTokenConfigArgs{ 130 Enabled: pulumi.Bool(true), 131 IssuerMode: pulumi.String("team"), 132 }, 133 VercelAuthentication: &vercel.ProjectVercelAuthenticationArgs{ 134 DeploymentType: pulumi.String("none"), 135 }, 136 }, pulumi.Protect(false)) 137 138 if err != nil { 139 return err 140 } 141 142 _, err = vercel.NewProject(ctx, "github-readme-streak-stats-vercel", &vercel.ProjectArgs{ 143 AutoAssignCustomDomains: pulumi.Bool(true), 144 AutomaticallyExposeSystemEnvironmentVariables: pulumi.Bool(true), 145 GitForkProtection: pulumi.Bool(true), 146 GitRepository: &vercel.ProjectGitRepositoryArgs{ 147 ProductionBranch: pulumi.String("main"), 148 Repo: pulumi.String("MFarabi619/github-readme-streak-stats-vercel"), 149 Type: pulumi.String("github"), 150 }, 151 Name: pulumi.String("github-readme-streak-stats-vercel"), 152 NodeVersion: pulumi.String("18.x"), 153 OidcTokenConfig: &vercel.ProjectOidcTokenConfigArgs{ 154 Enabled: pulumi.Bool(true), 155 IssuerMode: pulumi.String("team"), 156 }, 157 VercelAuthentication: &vercel.ProjectVercelAuthenticationArgs{ 158 DeploymentType: pulumi.String("none"), 159 }, 160 }, pulumi.Protect(false)) 161 162 if err != nil { 163 return err 164 } 165 166 return err 167 }