Adding a health module to use for podman healthchecks

This commit is contained in:
Collin Duncan 2024-09-19 11:49:35 +02:00
parent 3b41a75bb4
commit 4fc6748821
No known key found for this signature in database
3 changed files with 28 additions and 0 deletions

View file

@ -6,6 +6,7 @@ import { TypeOrmModule } from '@nestjs/typeorm'
import { resolve } from 'path' import { resolve } from 'path'
import { EmailModule } from './email/module' import { EmailModule } from './email/module'
import { HealthModule } from './health/module'
import { LoggerMiddleware } from './logger/middleware' import { LoggerMiddleware } from './logger/middleware'
import { LoggerModule } from './logger/module' import { LoggerModule } from './logger/module'
import { DatabaseLoggerService } from './logger/service.database_logger' import { DatabaseLoggerService } from './logger/service.database_logger'
@ -57,6 +58,7 @@ import { WaitingListModule } from './waitingList/module'
RunnerModule, RunnerModule,
LoggerModule, LoggerModule,
EmailModule, EmailModule,
HealthModule,
MembersModule, MembersModule,
WaitingListModule, WaitingListModule,
NtfyModule, NtfyModule,

16
src/health/controller.ts Normal file
View file

@ -0,0 +1,16 @@
import { Controller, Get, Inject } from '@nestjs/common'
import { EmailProvider } from '../email/provider'
@Controller('health')
export class HealthController {
constructor(
@Inject(EmailProvider)
private emailProvider: EmailProvider,
) {}
@Get()
getHealth() {
return this.emailProvider.isConnected()
}
}

10
src/health/module.ts Normal file
View file

@ -0,0 +1,10 @@
import { Module } from '@nestjs/common'
import { EmailModule } from '../email/module'
import { HealthController } from './controller'
@Module({
imports: [EmailModule],
controllers: [HealthController],
})
export class HealthModule {}