Files
backbone/src/config/config.ts
Morten Olsen c9dd0d24ad
Some checks failed
Build and release / Build (push) Failing after 1m12s
Build and release / update-release-draft (push) Has been skipped
Build and release / Release (push) Has been skipped
feat: add build
2025-10-16 22:17:13 +02:00

72 lines
1.5 KiB
TypeScript

class Config {
public get jwtSecret() {
return process.env.JWT_SECRET;
}
public get adminToken() {
return process.env.ADMIN_TOKEN;
}
public get oidc() {
const enabled = process.env.OIDC_ENABLED === 'true';
const discoveryUrl = process.env.OIDC_DISCOVERY_URL;
const clientId = process.env.OIDC_CLIENT_ID;
const clientSecret = process.env.OIDC_CLIENT_SECRET;
const groupField = process.env.OIDC_GROUP_FIELD || 'groups';
const adminGroup = process.env.OIDC_ADMIN_GROUP;
const writerGroup = process.env.OIDC_WRITER_GROUP;
const readerGroup = process.env.OIDC_READER_GROUP;
return {
enabled,
discoveryUrl,
clientId,
clientSecret,
groupField,
groups: {
admin: adminGroup,
writer: writerGroup,
reader: readerGroup,
},
};
}
public get k8s() {
const enabled = process.env.K8S_ENABLED === 'true';
return {
enabled,
};
}
public get http() {
const port = process.env.HTTP_PORT ? parseInt(process.env.HTTP_PORT) : 8883;
return {
port,
};
}
public get api() {
const enabled = process.env.API_ENABLED === 'true';
return {
enabled,
};
}
public get ws() {
const enabled = process.env.WS_ENABLED === 'true';
return {
enabled,
};
}
public get tcp() {
const enabled = process.env.TCP_ENABLED === 'true';
const port = process.env.TCP_PORT ? parseInt(process.env.TCP_PORT) : 1883;
return {
enabled,
port,
};
}
}
export { Config };