feat: Add DB_SSL_MODE environment variable for Postgres sslmode (#18025)

* feat: Add DB_SSL_MODE environment variable for Postgres sslmode

* chore: clean up

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
This commit is contained in:
David Cruz
2025-05-06 07:25:37 -06:00
committed by GitHub
parent ece977d9ca
commit 7072e48cbe
7 changed files with 31 additions and 3 deletions

View File

@@ -23,6 +23,7 @@ const resetEnv = () => {
'DB_USERNAME',
'DB_PASSWORD',
'DB_DATABASE_NAME',
'DB_SSL_MODE',
'DB_SKIP_MIGRATIONS',
'DB_VECTOR_EXTENSION',
@@ -92,6 +93,17 @@ describe('getEnv', () => {
});
});
it('should validate DB_SSL_MODE', () => {
process.env.DB_SSL_MODE = 'invalid';
expect(() => getEnv()).toThrowError('Invalid environment variables: DB_SSL_MODE');
});
it('should accept a valid DB_SSL_MODE', () => {
process.env.DB_SSL_MODE = 'prefer';
const { database } = getEnv();
expect(database.config).toMatchObject(expect.objectContaining({ ssl: 'prefer' }));
});
it('should allow skipping migrations', () => {
process.env.DB_SKIP_MIGRATIONS = 'true';
const { database } = getEnv();

View File

@@ -193,6 +193,7 @@ const getEnv = (): EnvData => {
username: dto.DB_USERNAME || 'postgres',
password: dto.DB_PASSWORD || 'postgres',
database: dto.DB_DATABASE_NAME || 'immich',
ssl: dto.DB_SSL_MODE || undefined,
};
return {