The tailnet plugin — machines, users, pre-auth keys, access policy and device invites. Moved out of officerdev/platform, where it had lived in plugins/ since the plugin system was built. Until now this code existed in exactly one place: the platform repository. That made "gitignore the plugins directory" impossible to do safely, because untracking it would have left 49 files on a single disk with no remote. This repository is what makes that move safe. Same extraction as plugins/music before it: source only, no history. The platform's history still holds every commit that shaped this, and the SHAs cited across the codebase keep resolving — replaying it here would have created a second, divergent account of the same work. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
28 lines
900 B
TypeScript
28 lines
900 B
TypeScript
import type { AppRegistryMeta } from 'officerdev';
|
|
import { PanelLeft, LayoutGrid, Network } from 'lucide-react';
|
|
import { HeadscaleNav } from './HeadscaleNav';
|
|
import { HeadscaleServerPicker } from './HeadscaleServerPicker';
|
|
import { HeadscaleView } from './HeadscaleView';
|
|
import { HeadscaleViewHeader } from './HeadscaleViewHeader';
|
|
|
|
export { HeadscaleNav, HeadscaleServerPicker, HeadscaleView };
|
|
|
|
export const appRegistryMetas: AppRegistryMeta[] = [
|
|
{
|
|
key: 'headscale-servers',
|
|
name: 'Headscale servers',
|
|
icon: Network,
|
|
component: HeadscaleServerPicker,
|
|
availableOnPanel: false,
|
|
},
|
|
{ key: 'headscale-nav', name: 'Headscale', icon: PanelLeft, component: HeadscaleNav, availableOnPanel: false },
|
|
{
|
|
key: 'headscale-view',
|
|
name: 'Headscale',
|
|
icon: LayoutGrid,
|
|
component: HeadscaleView,
|
|
header: HeadscaleViewHeader,
|
|
availableOnPanel: false,
|
|
},
|
|
];
|