Skip to content

Commit 5f1518f

Browse files
authored
fix(db): added SSL config to migrations container (#1535)
1 parent fa9c978 commit 5f1518f

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

packages/db/drizzle.config.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,43 @@
11
import type { Config } from 'drizzle-kit'
22

3+
const getSSLConfig = () => {
4+
const sslMode = process.env.DATABASE_SSL?.toLowerCase()
5+
6+
if (!sslMode || sslMode === 'disable') {
7+
return undefined
8+
}
9+
10+
if (sslMode === 'prefer') {
11+
return 'prefer' as const
12+
}
13+
14+
const sslConfig: any = {}
15+
16+
if (sslMode === 'require') {
17+
sslConfig.rejectUnauthorized = false
18+
} else if (sslMode === 'verify-ca' || sslMode === 'verify-full') {
19+
sslConfig.rejectUnauthorized = true
20+
if (process.env.DATABASE_SSL_CA) {
21+
try {
22+
const ca = Buffer.from(process.env.DATABASE_SSL_CA, 'base64').toString('utf-8')
23+
sslConfig.ca = ca
24+
} catch (error) {
25+
console.error('Failed to parse DATABASE_SSL_CA:', error)
26+
}
27+
}
28+
}
29+
30+
return sslConfig
31+
}
32+
33+
const sslConfig = getSSLConfig()
34+
335
export default {
436
schema: './schema.ts',
537
out: './migrations',
638
dialect: 'postgresql',
739
dbCredentials: {
840
url: process.env.DATABASE_URL!,
41+
...(sslConfig !== undefined && { ssl: sslConfig }),
942
},
1043
} satisfies Config

0 commit comments

Comments
 (0)