You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 06b444e
Browse filesBrowse the repository at this point in the historyBrowse files
fix(site-router): seed a PKCS#8 key, and read the failure out of the journal
Three rounds of this were spent reading the wrong source. Every check went to
raw.githubusercontent.com/vyos/vyos-1x/current/..., and vyos-1x has no branch
called `current` — GitHub silently serves the default branch, `rolling`, which
is six months ahead of the 2026.03 circinus image the appliance boots. So each
"upstream says" in the last three commit messages described code the guest
does not run.
The key. On the shipped image wrap_private_key has exactly one armour, PKCS#8
`-----BEGIN PRIVATE KEY-----`. The two-armour PKCS#8-or-SEC1 loop that the
previous commit called measured fact is rolling-only, so switching from RSA
PKCS#1 to EC SEC1 exchanged one rejected format for another and cost a second
boot. genPrivateKey "ed25519" is the one sprig generator that emits PKCS#8;
verified against the rendered value, and PKCS#8 is the first armour on rolling
too, so it holds whichever version the appliance ends up carrying.
The reporter. It could not have worked either. vyos-router.service is
Type=simple, so systemd calls it started when the process forks and an
`After=` on it is satisfied before the configuration is loaded — visible in
the boot log, where the report printed seconds ahead of "Configuration
error". The file it read is written by nothing at all: the loader's own log is
written only on the success path, after the sys.exit(1) that a rejected config
takes. What does persist is the journal, because conf_mode/pki.py and
conf_mode/service_https.py are dispatched through vyos-configd, which logs the
ConfigError it caught. The script now waits on /tmp/vyos-config-status the way
upstream's own vyos-config init does, and prints that journal when the status
is non-zero. No kernel argument needed, which was the other half of the plan
this replaces.
`system login operator-group` is removed from the chart and the baked default.
The node does not exist in the circinus line — it is in rolling and absent
from circinus-public-unmaintained, checked against both real refs — and
cli-shell-api loadFile prints "Set failed" and continues, so it was silently
dropped on every boot rather than doing anything.
The version footer keeps a note rather than an edit. It is missing components
the image declares, so migration_needed() is true every boot and the "captured
verbatim" claim above it is no longer fully true. Naming the missing entries by
hand is exactly how the earlier pki@1 mistake happened, so the note says to
re-capture from a save on the image instead.
Assisted-By: LLM
Signed-off-by: Myasnikov Daniil <[email protected]>
0 commit comments