Browse Source

Enable Bull Dashboard without environment variable

pull/6876/head
Thomas Kaul 1 week ago
parent
commit
d5afc085b3
  1. 42
      apps/api/src/app/app.module.ts
  2. 2
      apps/api/src/app/user/user.service.ts
  3. 1
      apps/api/src/services/configuration/configuration.service.ts
  4. 1
      apps/api/src/services/interfaces/environment.interface.ts
  5. 20
      apps/api/src/services/queues/data-gathering/data-gathering.module.ts
  6. 20
      apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.module.ts
  7. 20
      apps/api/src/services/queues/statistics-gathering/statistics-gathering.module.ts

42
apps/api/src/app/app.module.ts

@ -74,29 +74,25 @@ import { UserModule } from './user/user.module';
AuthDeviceModule, AuthDeviceModule,
AuthModule, AuthModule,
BenchmarksModule, BenchmarksModule,
...(process.env.ENABLE_FEATURE_BULL_BOARD === 'true' BullBoardModule.forRoot({
? [ adapter: ExpressAdapter,
BullBoardModule.forRoot({ boardOptions: {
adapter: ExpressAdapter, uiConfig: {
boardOptions: { boardLogo: {
uiConfig: { height: 0,
boardLogo: { path: '',
height: 0, width: 0
path: '', },
width: 0 boardTitle: 'Job Queues',
}, favIcon: {
boardTitle: 'Job Queues', alternative: '/assets/favicon-32x32.png',
favIcon: { default: '/assets/favicon-32x32.png'
alternative: '/assets/favicon-32x32.png', }
default: '/assets/favicon-32x32.png' }
} },
} middleware: BullBoardAuthMiddleware,
}, route: BULL_BOARD_ROUTE
middleware: BullBoardAuthMiddleware, }),
route: BULL_BOARD_ROUTE
})
]
: []),
BullModule.forRoot({ BullModule.forRoot({
redis: { redis: {
db: parseInt(process.env.REDIS_DB ?? '0', 10), db: parseInt(process.env.REDIS_DB ?? '0', 10),

2
apps/api/src/app/user/user.service.ts

@ -532,7 +532,7 @@ export class UserService {
} }
if (hasRole(user, Role.ADMIN)) { if (hasRole(user, Role.ADMIN)) {
if (this.configurationService.get('ENABLE_FEATURE_BULL_BOARD')) { if ((user.settings.settings as UserSettings).isExperimentalFeatures) {
currentPermissions.push(permissions.accessAdminControlBullBoard); currentPermissions.push(permissions.accessAdminControlBullBoard);
} }

1
apps/api/src/services/configuration/configuration.service.ts

@ -44,7 +44,6 @@ export class ConfigurationService {
ENABLE_FEATURE_AUTH_GOOGLE: bool({ default: false }), ENABLE_FEATURE_AUTH_GOOGLE: bool({ default: false }),
ENABLE_FEATURE_AUTH_OIDC: bool({ default: false }), ENABLE_FEATURE_AUTH_OIDC: bool({ default: false }),
ENABLE_FEATURE_AUTH_TOKEN: bool({ default: true }), ENABLE_FEATURE_AUTH_TOKEN: bool({ default: true }),
ENABLE_FEATURE_BULL_BOARD: bool({ default: false }),
ENABLE_FEATURE_FEAR_AND_GREED_INDEX: bool({ default: false }), ENABLE_FEATURE_FEAR_AND_GREED_INDEX: bool({ default: false }),
ENABLE_FEATURE_GATHER_NEW_EXCHANGE_RATES: bool({ default: true }), ENABLE_FEATURE_GATHER_NEW_EXCHANGE_RATES: bool({ default: true }),
ENABLE_FEATURE_READ_ONLY_MODE: bool({ default: false }), ENABLE_FEATURE_READ_ONLY_MODE: bool({ default: false }),

1
apps/api/src/services/interfaces/environment.interface.ts

@ -20,7 +20,6 @@ export interface Environment extends CleanedEnvAccessors {
ENABLE_FEATURE_AUTH_GOOGLE: boolean; ENABLE_FEATURE_AUTH_GOOGLE: boolean;
ENABLE_FEATURE_AUTH_OIDC: boolean; ENABLE_FEATURE_AUTH_OIDC: boolean;
ENABLE_FEATURE_AUTH_TOKEN: boolean; ENABLE_FEATURE_AUTH_TOKEN: boolean;
ENABLE_FEATURE_BULL_BOARD: boolean;
ENABLE_FEATURE_FEAR_AND_GREED_INDEX: boolean; ENABLE_FEATURE_FEAR_AND_GREED_INDEX: boolean;
ENABLE_FEATURE_GATHER_NEW_EXCHANGE_RATES: boolean; ENABLE_FEATURE_GATHER_NEW_EXCHANGE_RATES: boolean;
ENABLE_FEATURE_READ_ONLY_MODE: boolean; ENABLE_FEATURE_READ_ONLY_MODE: boolean;

20
apps/api/src/services/queues/data-gathering/data-gathering.module.ts

@ -19,18 +19,14 @@ import { DataGatheringProcessor } from './data-gathering.processor';
@Module({ @Module({
imports: [ imports: [
...(process.env.ENABLE_FEATURE_BULL_BOARD === 'true' BullBoardModule.forFeature({
? [ adapter: BullAdapter,
BullBoardModule.forFeature({ name: DATA_GATHERING_QUEUE,
adapter: BullAdapter, options: {
name: DATA_GATHERING_QUEUE, displayName: 'Data Gathering',
options: { readOnlyMode: process.env.BULL_BOARD_IS_READ_ONLY !== 'false'
displayName: 'Data Gathering', }
readOnlyMode: process.env.BULL_BOARD_IS_READ_ONLY !== 'false' }),
}
})
]
: []),
BullModule.registerQueue({ BullModule.registerQueue({
limiter: { limiter: {
duration: ms('4 seconds'), duration: ms('4 seconds'),

20
apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.module.ts

@ -25,18 +25,14 @@ import { PortfolioSnapshotProcessor } from './portfolio-snapshot.processor';
imports: [ imports: [
AccountBalanceModule, AccountBalanceModule,
ActivitiesModule, ActivitiesModule,
...(process.env.ENABLE_FEATURE_BULL_BOARD === 'true' BullBoardModule.forFeature({
? [ adapter: BullAdapter,
BullBoardModule.forFeature({ name: PORTFOLIO_SNAPSHOT_COMPUTATION_QUEUE,
adapter: BullAdapter, options: {
name: PORTFOLIO_SNAPSHOT_COMPUTATION_QUEUE, displayName: 'Portfolio Snapshot Computation',
options: { readOnlyMode: process.env.BULL_BOARD_IS_READ_ONLY !== 'false'
displayName: 'Portfolio Snapshot Computation', }
readOnlyMode: process.env.BULL_BOARD_IS_READ_ONLY !== 'false' }),
}
})
]
: []),
BullModule.registerQueue({ BullModule.registerQueue({
name: PORTFOLIO_SNAPSHOT_COMPUTATION_QUEUE, name: PORTFOLIO_SNAPSHOT_COMPUTATION_QUEUE,
settings: { settings: {

20
apps/api/src/services/queues/statistics-gathering/statistics-gathering.module.ts

@ -13,18 +13,14 @@ import { StatisticsGatheringService } from './statistics-gathering.service';
@Module({ @Module({
exports: [BullModule, StatisticsGatheringService], exports: [BullModule, StatisticsGatheringService],
imports: [ imports: [
...(process.env.ENABLE_FEATURE_BULL_BOARD === 'true' BullBoardModule.forFeature({
? [ adapter: BullAdapter,
BullBoardModule.forFeature({ name: STATISTICS_GATHERING_QUEUE,
adapter: BullAdapter, options: {
name: STATISTICS_GATHERING_QUEUE, displayName: 'Statistics Gathering',
options: { readOnlyMode: process.env.BULL_BOARD_IS_READ_ONLY !== 'false'
displayName: 'Statistics Gathering', }
readOnlyMode: process.env.BULL_BOARD_IS_READ_ONLY !== 'false' }),
}
})
]
: []),
BullModule.registerQueue({ BullModule.registerQueue({
name: STATISTICS_GATHERING_QUEUE name: STATISTICS_GATHERING_QUEUE
}), }),

Loading…
Cancel
Save