console/deployment/services/cloudflare.ts
Kamil Kisiela 20e3129caa
$ prettier <all> (#46)
Co-authored-by: Dimitri POSTOLOV <dmytropostolov@gmail.com>
2022-05-24 16:31:53 +03:00

21 lines
930 B
TypeScript

import * as pulumi from '@pulumi/pulumi';
import { CloudflareCDN } from '../utils/cdn';
const commonConfig = new pulumi.Config('common');
const cfConfig = new pulumi.Config('cloudflareCustom');
export type Cloudflare = ReturnType<typeof deployCloudflare>;
export function deployCloudflare({ rootDns, envName }: { rootDns: string; envName: string }) {
const cdnAuthPrivateKey = commonConfig.requireSecret('cdnAuthPrivateKey');
const cdn = new CloudflareCDN(
envName,
cfConfig.require('zoneId'),
// We can't use `cdn.staging.graphql-hive.com` for staging env, since CF certificate only covers
// one level of subdomains. See: https://community.cloudflare.com/t/ssl-handshake-error-cloudflare-proxy/175088
// So for staging env, we are going to use `cdn-staging` instead of `cdn.staging`.
envName === 'staging' ? `cdn-${rootDns}` : `cdn.${rootDns}`,
cdnAuthPrivateKey
);
return cdn.deploy();
}