Skip to content

Conversation

Copy link

Copilot AI commented Jan 29, 2026

Description

The keystore is referenced in management.md but lacked dedicated user documentation. Users couldn't discover supported key types (RSA, X25519, WiFi PSK, WireGuard PSK) or usage patterns without exploring YANG models.

Also in this PR is a "revert" of the augments and deviations made earlier in this release cycle to ietf-keystore. The changes now amount to adding new identities only, keeping the IETF yang model intact and compatible with other models.

To aid with the UX of working with 'type binary' settings like cleartext-symmetric-key, the CLI helper change has been expanded to allow users to enter a WiFi passphrase without showing anyone peeking over their shoulder.

Support for an admin-exec level wireguard <genkey | genpsk command has also been added to aid users setting up Wireguard tunnels. The do prefix is really useful in such cases.

Checklist

Tick relevant boxes, this PR is-a or has-a:

  • Bugfix
    • Regression tests
    • ChangeLog updates (for next release)
  • Feature
    • YANG model change => revision updated?
    • Regression tests added?
    • ChangeLog updates (for next release)
    • Documentation added?
  • Test changes
    • Checked in changed Readme.adoc (make test-spec)
    • Added new test to group Readme.adoc and yaml file
  • Code style update (formatting, renaming)
  • Refactoring (please detail in commit messages)
  • Build related changes
  • Documentation content changes
    • ChangeLog updated (for major changes)
  • Other (please describe):
Original prompt

This section details on the original issue you should resolve

<issue_title>Missing documentation for Infix keystore</issue_title>
<issue_description>### Current Behavior

Infix management documentation refers to the keystore as part of the SSH section, but there is no user documenation on the Infix keystore and how to use it.

As minimum, the existing functionality should be documented. Perhaps there should also be additional functionality, but that would render a new issue (or the title of this issue should be changed).

The following functionality is available for configuration

admin@example:/config/> edit keystore
admin@example:/config/keystore/> help
  asymmetric-key                    An asymmetric key.
  symmetric-key                     A symmetric key.
admin@example:/config/keystore/>

The current online help is sparse, and I cannot say if it is correct

admin@example:/config/keystore/> help asymmetric-key 
NAME
        name <string>

DESCRIPTION
        An arbitrary name for the asymmetric key.

admin@example:/config/keystore/> help symmetric-key 
NAME
        name <string>

DESCRIPTION
        An arbitrary name for the symmetric key.

admin@example:/config/keystore/>

This is what the config output looks like on infix default (qemu).

admin@example:/config/keystore/> show
asymmetric-keys {
  asymmetric-key genkey {
    public-key-format ssh-public-key-format;
    public-key MIIBCgKCAQEAm6uCENSafz7mIfIJ8O.... AQAB;
    private-key-format rsa-private-key-format;
    cleartext-private-key MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYw...b7dyPr4mpHg==;
  }
}


admin@example:/config/keystore/>

Expected Behavior

User documentation for the keystore could perhaps be put in separate file like "doc/keystore.md".
It could contain rudimentary information on how it works, and example of how to use it.

Steps To Reproduce

Not applicable

Additional information

None</issue_description>

<agent_instructions>This is a documentation-only change, so please add [skip ci] to the commit message(s).</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI changed the title [WIP] Add documentation for Infix keystore usage Add keystore documentation Jan 29, 2026
Copilot AI requested a review from troglobit January 29, 2026 20:35
@troglobit troglobit requested review from jovatn and removed request for troglobit January 29, 2026 20:39
@troglobit troglobit marked this pull request as ready for review January 29, 2026 20:39
@troglobit troglobit force-pushed the copilot/add-infix-keystore-documentation branch from d74a6bb to f44dd91 Compare January 30, 2026 10:06
@troglobit troglobit requested a review from mattiaswal January 30, 2026 10:48
@troglobit troglobit force-pushed the copilot/add-infix-keystore-documentation branch from 35749cd to 4e71656 Compare January 31, 2026 17:55
@troglobit troglobit changed the title Add keystore documentation Keystore refactor and documentation Jan 31, 2026
@troglobit troglobit added this to the Infix v26.01 milestone Feb 1, 2026
@troglobit troglobit requested a review from wkz February 1, 2026 11:39
@troglobit troglobit force-pushed the copilot/add-infix-keystore-documentation branch 2 times, most recently from c00ec33 to e337ad0 Compare February 1, 2026 16:10
Infix key format identities now derive from the IETF bases, so the standard
identityref accepts them without any need for deviations.  This also preserves
the nacm default rules, which were inadvertently dropped before.

Also rename format identities for generality:

 - wifi-preshared-key-format      -> renamed: 'passphrase-key-format'
 - wireguard-symmetric-key-format -> use IETF 'octet-string-key-format'

Since cleartext-symmetric-key is now type binary (base64-encoded), the
WiFi backends (station and AP) decode values before passing them to
wpa_supplicant and hostapd.

Signed-off-by: Joachim Wiberg <[email protected]>
This update brings new support for editing cleartext-symmetric-keys with
the 'change' command.  The cleartext-symmetric-key is of type binary and
its use differs between different key-formats.

Signed-off-by: Joachim Wiberg <[email protected]>
Helper command to improve the UX for setting up Wireguard tunnels.

Signed-off-by: Joachim Wiberg <[email protected]>
Since the WiFi passphrase is base64 encoded in the keystore configuration it's
quite difficult for a human to check what the password is.  This commit adds
support for showing it in actual cleartext for admin level users from the
admin-exec context using 'show interface wifiN' (details view).

Signed-off-by: Joachim Wiberg <[email protected]>
@troglobit troglobit force-pushed the copilot/add-infix-keystore-documentation branch from e337ad0 to d87ae9c Compare February 1, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing documentation for Infix keystore

3 participants