future-megabyte-14556
01/22/2020, 10:05 AMexport const db = new aws.rds.Instance(`${config.PROJECT_NAME}-postgres`, {
engine: "postgres",
instanceClass: "db.t2.small",
allocatedStorage: 20,
dbSubnetGroupName: dbSubnets.id,
vpcSecurityGroupIds: [cluster.clusterSecurityGroup.id],
name: config.POSTGRES_DB_NAME,
username: config.POSTGRES_USERNAME,
password: config.POSTGRES_PASSWORD,
skipFinalSnapshot: true,
publiclyAccessible: true
});
const username = db.username.apply(un => `${un}`);
const password = db.password.apply(pw => `${pw}`);
const address = db.address.apply(addr => `${addr}`);
const port = db.port.apply(port => `${port}`);
const name = db.name.apply(name => `${name}`);
const connectionUrl = `postgres://${username}:${password}@${address}:${port}/${name}`;
// Create a secret from the DB connection
export const dbConn = new k8s.core.v1.Secret(
"postgres-db-conn",
{
data: {
dbConnectionUrl: Buffer.from(connectionUrl).toString("base64")
}
},
{ provider: cluster.provider }
);
limited-rainbow-51650
01/22/2020, 10:38 AM// concat takes a list of args and concatenates all of them into a single output:
const url1: Output<string> = pulumi.concat("http://", hostname, ":", port, "/");
// interpolate takes a JavaScript "template literal" and expands outputs correctly:
const url2: Output<string> = pulumi.interpolate `http://${hostname}:${port}/`;
future-megabyte-14556
01/22/2020, 11:41 AMbroad-helmet-79436
01/22/2020, 11:50 AMyourStringOutput.apply(str => convertToBase64(str))
?future-megabyte-14556
01/22/2020, 11:57 AMbroad-helmet-79436
01/22/2020, 11:57 AM