headplane/app/server
2025-04-03 12:57:06 -04:00
..
config fix: remove unreleased feature and ignore invalid keys in config 2025-04-02 10:16:34 -04:00
headscale chore: make prefixes.v4/6 optional 2025-03-27 12:20:47 -04:00
web feat: oops commit the user role change page 2025-04-03 12:57:06 -04:00
index.ts feat: begin working on user auth 2025-03-29 14:12:15 -04:00
README.md feat: begin working on user auth 2025-03-29 14:12:15 -04:00

Headplane Server

This code is responsible for all code that is necessary before any web server is started. It is the only part of the code that contains many side-effects (in this case, importing a module may run code).

Hierarchy

server
├── index.ts: Loads everything and starts the web server.
├── config/
│   ├── env.ts: Checks the environment variables for custom overrides.
│   ├── loader.ts: Checks the configuration file and coalesces with ENV.
│   ├── schema.ts: Defines the schema for the Headplane configuration.
├── headscale/
│   ├── api-client.ts: Creates the HTTP client that talks to the Headscale API.
│   ├── config-loader.ts: Loads the Headscale configuration (if available).
│   ├── config-schema.ts: Defines the schema for the Headscale configuration.
├── web/
│   ├── agent.ts: Handles setting up the agent WebSocket if needed.
│   ├── oidc.ts: Loads and validates an OIDC configuration (if available).
│   ├── roles.ts: Contains information about authentication permissions.
│   ├── sessions.ts: Initializes the session store and methods to manage it.