k8s prepwork

This commit is contained in:
Eric gullickson
2025-09-18 11:04:41 -05:00
parent 17d27f4b92
commit cb98336d5e
16 changed files with 555 additions and 434 deletions

View File

@@ -43,6 +43,28 @@ async function buildApp(): Promise<FastifyInstance> {
});
});
// Traefik forward-auth integration endpoint
app.get('/auth/verify', {
preHandler: [app.authenticate]
}, async (request, reply) => {
const user = request.user ?? {};
const userId = typeof user.sub === 'string' ? user.sub : 'unknown';
const rolesClaim = user['https://motovaultpro.com/roles'];
const roles = Array.isArray(rolesClaim) ? rolesClaim : [];
reply
.header('X-Auth-User', userId)
.header('X-Auth-Roles', roles.join(','))
.code(200)
.send({
status: 'verified',
userId,
roles,
tenantId: user['https://motovaultpro.com/tenant_id'] ?? null,
verifiedAt: new Date().toISOString()
});
});
// Register Fastify feature routes
await app.register(vehiclesRoutes, { prefix: '/api' });
await app.register(fuelLogsRoutes, { prefix: '/api' });