634 Commits

Author SHA1 Message Date
Aarnav Tale
bda9dedbfd
fix: if there are 0 admins, promote next admin on oidc login 2025-08-28 17:37:12 -04:00
Aarnav Tale
a9d5e10be9
fix: redirect admin to admin/ (regression) 2025-08-26 15:18:48 -04:00
Aarnav Tale
d7b1e19985
chore: add deprecation notice for oidc user file 2025-08-21 12:37:25 -04:00
Aarnav Tale
9bc8483a8f
chore: shutup the dotenvx shameless promo 2025-08-21 12:16:49 -04:00
Aarnav Tale
4351e1fcb3
feat: support gravatar profile pictures for oidc 2025-08-21 12:16:18 -04:00
Aarnav Tale
9183f805a6
chore: type fixes 2025-08-21 11:50:04 -04:00
Aarnav Tale
cd4e8f8399
chore: handle empty (already migrated) user oidc file 2025-08-21 11:49:17 -04:00
Aarnav Tale
6c5656334d
chore: update and prune deps 2025-08-21 11:48:59 -04:00
Aarnav Tale
ff3bdc1898
feat: remove octicons icon pack 2025-08-21 11:41:16 -04:00
Aarnav Tale
356abab90a
feat: do insane type validation for the config 2025-08-21 11:41:14 -04:00
Aarnav Tale
82f6294499
Merge branch 'main' into next 2025-08-20 15:14:17 -04:00
Aarnav Tale
8fc657f86a
feat: handle logging from the agent 2025-08-20 14:07:08 -04:00
Aarnav Tale
bcd87453bd
chore: update go mods 2025-08-20 11:30:10 -04:00
Aarnav Tale
7adacae940
chore: add pnpm.fetcherVersion 2025-08-20 10:11:44 -04:00
Aarnav Tale
797ed56c07
chore: remove github pages workflow 2025-08-19 17:53:34 -04:00
Aarnav Tale
ae2bd35cbf
chore: update biome to v2 2025-08-19 17:52:26 -04:00
Aarnav Tale
d2c4f5eb2b
feat: completely overhaul the auth model
* Cookies are now encrypted JWTs (GHSA-wrqq-v7qw-r5w7)
* Authentication is stored in the SQLite database (auto-migrated)
* Session logic is much cleaner
2025-08-19 17:52:16 -04:00
Aarnav Tale
8cb91cd45b
feat: overhaul hp_agent lifecycle handling
* Added backoff and liveness probes for better management
* Switched IPC to a simple text based system
* Lookups don't directly touch the agent now
* Use the database as a source of truth
2025-08-19 00:10:06 -04:00
Aarnav Tale
a4a037ed68
feat: update to rolldown-vite and typescript-go 2025-08-18 16:42:29 -04:00
Aarnav Tale
17712cbb1c
feat: upgrade react-router + hono-server 2025-08-18 16:05:51 -04:00
Aarnav Tale
616b63bb71
chore: add wrangler.toml 2025-08-18 13:37:53 -04:00
Aarnav Tale
361bc493c0
chore: pin vitepress to 2.0.0 and add sponsor link 2025-08-18 13:28:16 -04:00
Aarnav Tale
bc3fc5ec5d
fix: turns out we need isSsrBuild in vite.config.ts still 2025-08-18 13:11:17 -04:00
Igor Ramazanov
c98dc5ed1d feat: nix: docs: improve NixOS docs generations 2025-08-18 13:10:38 -04:00
Igor Ramazanov
9192013bfe feat: documentation website using Vitepress
Adds documentation website using https://vitepress.dev.

Some decisions are questionable, for example creation of a symbolic link
for the README in the `docs/`. I wanted to preserve the ability to read
docs using Github. Maybe not needed.

Another issue, is the page outline for the `NixOS` chapter is too
narrow.

But should serve as a scaffold/basis for doing it properly.
2025-08-18 13:10:38 -04:00
Igor Ramazanov
fdbfe584c5 feat: nix: add a new mise task and nix flake output to generate NixOS docs
Adds a new Nix flake output `headplane-nixos-docs` which generates a
Markdown page with all NixOS `services.headplane.settings.*` options.

Replaces existing handwritten options documentation.
2025-08-18 13:10:38 -04:00
github-actions[bot]
97e2557710 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/1ef586712f85b4b004caecd385d6b023e7fd2450?narHash=sha256-aKmIQcvT857VRc3XbLvsuMdLeUuYfz%2B8zQ4eTXe78KE%3D' (2025-08-09)
  → 'github:nixos/nixpkgs/32f313e49e42f715491e1ea7b306a87c16fe0388?narHash=sha256-nNaeJjo861wFR0tjHDyCnHs1rbRtrMgxAKMoig9Sj/w%3D' (2025-08-15)
2025-08-18 13:09:51 -04:00
github-actions[bot]
82a3eb626e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/7b6929d8b900de3142638310f8bc40cff4f2c507?narHash=sha256-S30TWshtDmNlU30u842RidFUraKj1f2dd4nrKRHm3gE%3D' (2025-08-02)
  → 'github:nixos/nixpkgs/1ef586712f85b4b004caecd385d6b023e7fd2450?narHash=sha256-aKmIQcvT857VRc3XbLvsuMdLeUuYfz%2B8zQ4eTXe78KE%3D' (2025-08-09)
2025-08-15 14:19:46 -07:00
Igor Ramazanov
cdcb38f11e fix: nix: hash 2025-08-09 17:09:00 -04:00
github-actions[bot]
f20b2c869f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/6027c30c8e9810896b92429f0092f624f7b1aace?narHash=sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg%3D' (2025-07-25)
  → 'github:nixos/nixpkgs/7b6929d8b900de3142638310f8bc40cff4f2c507?narHash=sha256-S30TWshtDmNlU30u842RidFUraKj1f2dd4nrKRHm3gE%3D' (2025-08-02)
2025-08-05 16:40:36 -04:00
Aarnav Tale
1355e1535d
chore: update changelog 2025-08-05 14:33:29 -04:00
Aarnav Tale
ebd219b622
chore: update pnpm nix deps hash 2025-08-05 13:40:43 -04:00
Igor Ramazanov
1ce0dc375e fix: remove direnv and envrc from the repo
I've found it being clumsy and getting in the way.

For example, in my `.envrc` I do `use flake . --override-input nixpkgs
"$NIXPKGS"` to reuse an already existing instance of the `nixpkgs` on my
machine.

Feels like it should be up to a developer on how to use `nix
develop`/`direnv`
2025-08-05 13:16:02 -04:00
Igor Ramazanov
1eaf3abe21 feat: nix: use updated pnpm fetcher version
see:
https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion
2025-08-05 13:16:02 -04:00
Igor Ramazanov
8a9235836a fix: agent inherits UID/GID from the parent process 2025-08-05 13:16:02 -04:00
Igor Ramazanov
344901d38c fix: debug log level when searching for a Headscale process 2025-08-05 13:16:02 -04:00
Igor Ramazanov
ea004df2bb feat: nix: add debug logging flag 2025-08-05 13:16:02 -04:00
Igor Ramazanov
c59632a0b7 feat: nix: match NixOS module to the config schema 2025-08-05 13:16:02 -04:00
Igor Ramazanov
89e38e1356 feat: nix: rename hp_ssh_wasm to headplane-ssh-wasm for consistency 2025-08-05 13:16:02 -04:00
Igor Ramazanov
d257b22f91 chore: nix: nix fmt 2025-08-05 13:16:02 -04:00
StealthBadger747
441e31690b Cleanup doc and set sane defaults 2025-08-05 13:16:02 -04:00
Igor Ramazanov
e0fde7d0f4 Turn integration.proc.enabled by default 2025-08-05 13:16:02 -04:00
Igor Ramazanov
943e5d2a15 Remove inlined secrets options
Leaving only `_path` variants.
2025-08-05 13:16:02 -04:00
Erik Parawell
7f952bcb3b Nix changes 2025-08-05 13:16:02 -04:00
StealthBadger747
c3112507b5 Copy drizzle as well 2025-08-05 13:16:02 -04:00
StealthBadger747
8b3d0e9bb6 Maybe actually fix builds 2025-08-05 13:16:02 -04:00
StealthBadger747
7a34a01dd0 Got the build working 2025-08-05 13:16:02 -04:00
Igor Ramazanov
51a85e1bfe fix: nix update hash 2025-08-05 13:16:02 -04:00
StealthBadger747
5ab9686460 Update the configuration README
Revert flake.nix and package.nix to main; drop wasm.nix
2025-08-05 13:15:03 -04:00
Erik Parawell
5cfd9e411b Implement path loading
Got the build working

Maybe actually fix builds

Copy drizzle as well
2025-08-05 13:15:03 -04:00