UNPKG

limgen

Version:

Infrastructure as Code generator

39 lines (33 loc) 1.67 kB
import * as pulumi from "@pulumi/pulumi"; import { VpcPublic } from "../../components/vpc-public"; import { LoadBalancerAlbPublic } from "../../components/lb-alb-public"; import { AppFargate } from "../../components/app-fargate"; import { CdnCloudFront } from "../../components/cdn-cloudfront";<% if (includeDb) { %> import { PostgresRdsCluster } from "../../components/db-postgres-rds";<% } %><% if (includeStorage) { %> import { StorageS3 } from "../../components/storage-s3";<% } %> const publicVpc = new VpcPublic; const lb = new LoadBalancerAlbPublic('LoadBalancer', { vpc: publicVpc.vpc, }); <% if (includeStorage) { %> const storage = new StorageS3;<% } %><% if (includeDb) { %> const db = new PostgresRdsCluster('Database', { vpc: publicVpc.vpc });<% } %> const cdn = new CdnCloudFront('CDN', { lb: lb.lb,<% if (includeStorage) { %> storage: storage.bucket,<% } %> }); const app = new AppFargate('App', { vpc: publicVpc.vpc, loadBalancer: lb.lb, cdnHostname: cdn.distribution.domainName,<% if (includeDb) { %> connectionStringSecret: db.connectionStringSecret, <% } %><% if (includeStorage) { %> storage: storage.bucket,<% } %> }); export const vpcId = publicVpc.vpc.vpcId; export const publicSubnetIds = publicVpc.vpc.publicSubnetIds; export const cluster = app.cluster.arn; export const service = app.service.service.name; export const cdnHostname = pulumi.interpolate`https://${cdn.distribution.domainName}`;<% if (includeStorage) { %> export const objectStorageBucket = storage.bucket.bucket;<% } %><% if (includeDb) { %> export const dbCluster = db.dbCluster.clusterIdentifier; export const dbSecret = db.connectionStringSecret.arn;<% } %>