/** * Endpoints plugin routes * * Groundwork for the fleet view. There is no endpoint-specific detail route * yet: rows link into the existing PC detail page (/pcs/:id) so telemetry * stays interoperable with the computers plugin instead of duplicating it. */ export default [ { path: 'endpoints', name: 'endpoints', component: () => import('./views/EndpointsList.vue'), meta: { plugin: 'endpoints' } }, { path: 'settings/endpoints/agentkey', name: 'endpoints-agentkey-settings', component: () => import('./views/AgentKeySettings.vue'), meta: { requiresAuth: true, requiresAdmin: true, plugin: 'endpoints' } }, { path: 'settings/endpoints/monitors', name: 'endpoints-monitors-settings', component: () => import('./views/MonitorsSettings.vue'), meta: { requiresAuth: true, requiresAdmin: true, plugin: 'endpoints' } }, { path: 'settings/endpoints/server-cert', name: 'endpoints-server-cert-settings', component: () => import('./views/ServerCertSettings.vue'), meta: { requiresAuth: true, requiresAdmin: true, plugin: 'endpoints' } }, // requiresPermission, not requiresAdmin: endpoints.runscript is grantable to // non-admin operators, and the sibling pages' admin gate would lock the // holders of the grant out of the library they are trusted to manage. The // API enforces the same permission, so this only keeps the menu honest. { path: 'settings/endpoints/scripts', name: 'endpoints-scripts-settings', component: () => import('./views/SystemScriptsSettings.vue'), meta: { requiresAuth: true, requiresPermission: 'endpoints.runscript', plugin: 'endpoints' } }, // Readable by endpoints.fleet holders so they can watch a migration; every // write on the page is admin-only and re-checked server-side. { path: 'settings/endpoints/enrollment', name: 'endpoints-enrollment-settings', component: () => import('./views/EnrollmentSettings.vue'), meta: { requiresAuth: true, requiresPermission: 'endpoints.fleet', plugin: 'endpoints' } } ] // No full-screen routes: every view in this plugin renders inside // AppLayout. Declared so routes.gen.js can read `.toplevel` off the module // without Rollup warning about a missing export. export const toplevel = []