Skip to content

Instantly share code, notes, and snippets.

@jen20

jen20/index.ts Secret

Created August 30, 2019 22:45
Show Gist options
  • Save jen20/0f265fa8c8ffb66c6d3e12a1821e4b39 to your computer and use it in GitHub Desktop.
Save jen20/0f265fa8c8ffb66c6d3e12a1821e4b39 to your computer and use it in GitHub Desktop.
import * as pulumi from "@pulumi/pulumi";
import * as docker from "@pulumi/docker";
import * as pg from '@pulumi/postgresql';
const cfg = new pulumi.Config();
const network = new docker.Network("net");
const pgImg = new docker.RemoteImage("postgresql-image", {
name: "postgres:11",
keepLocally: true
});
const pgVol = new docker.Volume('pgdata');
const pgContainer = new docker.Container("postgres", {
image: pgImg.name,
networksAdvanced: [{ name: network.name }],
restart: "on-failure",
volumes: [{ volumeName: pgVol.name, containerPath: '/var/lib/postgresql/data' }],
envs: [
`POSTGRES_USER=${cfg.require('pguser')}`,
cfg.requireSecret('pgpass').apply(p => `POSTGRES_PASSWORD=${p}`),
],
ports: [{ internal: 5432, external: 5432 }]
});
let pgProvider = new pg.Provider("pg", {
host: pgContainer.ipAddress,
username: cfg.require('pguser'),
password: cfg.requireSecret('pgpass'),
});
const db = new pg.Database('MyCoolDatabase', {}, {provider: pgProvider});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment