aboutsummaryrefslogtreecommitdiffstats
path: root/openspec/changes/fix-ssh-authorized-keys-spec/proposal.md
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <tom@vanderlee.io>2026-09-18 15:19:00 +0200
committerGravatar Tom van der Lee <tom@vanderlee.io>2026-09-18 15:19:00 +0200
commitb712f7c8a063e49329edf0db07d54a5174bfbd9b (patch)
treeac82604775561e6ba8fd9ca2bf5ebf88ea29f00a /openspec/changes/fix-ssh-authorized-keys-spec/proposal.md
parent074921b62032c91150cecf706b6a387f6c6babd7 (diff)
downloaddesktop-flake-b712f7c8a063e49329edf0db07d54a5174bfbd9b.tar.gz
desktop-flake-b712f7c8a063e49329edf0db07d54a5174bfbd9b.tar.bz2
desktop-flake-b712f7c8a063e49329edf0db07d54a5174bfbd9b.zip
Archive fix-ssh-authorized-keys-spec, sync developer-environment spec
Closes the spec/implementation drift: the SSH requirement now states that an authorized key must be provisioned, matching the live fix already running on floep. Archived despite design.md never being created -- deliberately skipped per its own conditional trigger rules, confirmed before proceeding.
Diffstat (limited to 'openspec/changes/fix-ssh-authorized-keys-spec/proposal.md')
-rw-r--r--openspec/changes/fix-ssh-authorized-keys-spec/proposal.md21
1 files changed, 0 insertions, 21 deletions
diff --git a/openspec/changes/fix-ssh-authorized-keys-spec/proposal.md b/openspec/changes/fix-ssh-authorized-keys-spec/proposal.md
deleted file mode 100644
index 4a598fb..0000000
--- a/openspec/changes/fix-ssh-authorized-keys-spec/proposal.md
+++ /dev/null
@@ -1,21 +0,0 @@
1## Why
2
3The `developer-environment` capability's SSH requirement says the SSH service is "enabled... with key-based auth only," but never states that an authorized key must actually be provisioned. That gap was real: the first live NixOS host (`floep`) locked out all SSH access on first rebuild, because `PasswordAuthentication = false` was in effect with no `authorizedKeys` ever declared. The fix was applied directly to `modules/nixos/common.nix` as a live incident response, outside the OpenSpec workflow — so the spec and the implementation have been out of sync since. This change brings the spec back in line with what's actually implemented and running.
4
5## What Changes
6
7- `developer-environment`'s "SSH access is enabled by default on NixOS hosts" requirement is updated to state that an authorized public key MUST be provisioned for the user, and that this is what makes key-based auth actually reachable (not just theoretically configured).
8- No code changes: `modules/nixos/common.nix` already declares `users.users.tom.openssh.authorizedKeys.keys`, fetched once from `https://github.com/tomvanderlee.keys` and pinned as a static literal. This change only updates the spec to describe that existing, already-verified-working behavior.
9
10## Capabilities
11
12### New Capabilities
13(none)
14
15### Modified Capabilities
16- `developer-environment`: the SSH requirement now explicitly requires an authorized key to be provisioned, not just the service to be enabled with password auth off.
17
18## Impact
19
20- Affected files: `openspec/specs/developer-environment/spec.md` (via this change's delta and sync), no application code.
21- Closes a real spec/implementation drift discovered after the `add-developer-environment` change was archived — the underlying fix already shipped and was verified live on the `floep` host; this change is documentation-only.