Skip to content

Fix plugin verification docs: replace removed CLI commands#1501

Open
fmartingr wants to merge 2 commits intomasterfrom
fix/plugin-verification
Open

Fix plugin verification docs: replace removed CLI commands#1501
fmartingr wants to merge 2 commits intomasterfrom
fix/plugin-verification

Conversation

@fmartingr
Copy link
Copy Markdown
Contributor

@fmartingr fmartingr commented Apr 14, 2026

Summary

  • The "Plugin verification" section referenced legacy mattermost CLI commands (mattermost plugin add key, mattermost plugin keys, mattermost plugin delete key) that were removed in Mattermost v6.3.0 (commit 8f01a1b5a1, MM-36448: Removes legacy CLI commands).
  • These commands were never ported to mmctl — the current mmctl plugin subcommands (add, install-url, delete, enable, disable, list) do not include any key management functionality.
  • Replaced the non-existent CLI commands with the current method for managing plugin public keys: configuring PluginSettings.SignaturePublicKeyFiles in config.json.
  • Clarified that plugins are verified against both a hard-coded Mattermost public key and any admin-configured public keys (matching the actual behavior in server/channels/app/plugin_signature.go).

fmartingr and others added 2 commits April 14, 2026 12:00
…g instructions

The plugin key management CLI commands (mattermost plugin add key,
mattermost plugin keys, mattermost plugin delete key) were removed
in Mattermost v6.3.0 (commit 8f01a1b5a1, MM-36448) and were never
added to mmctl. The documentation also had incorrect syntax even
before removal (docs said "plugin add key" but actual command was
"plugin keys add").

Replace the non-existent CLI commands with the current method:
configuring PluginSettings.SignaturePublicKeyFiles in config.json.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 14, 2026

📝 Walkthrough

Walkthrough

Documentation updated to remove CLI-based plugin public key management instructions and replace them with configuration-based guidance. Admins now add custom verification keys via PluginSettings.SignaturePublicKeyFiles in config.json.

Changes

Cohort / File(s) Summary
Plugin verification documentation
site/content/integrate/plugins/using-and-managing-plugins.md
Removed CLI-based public key management commands; updated to explain verification uses hard-coded Mattermost key plus server-configured keys set in config.json within the config directory.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title directly addresses the main change: replacing removed CLI commands in plugin verification documentation with the current configuration method.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description directly addresses the changeset by explaining the removal of legacy CLI commands and the documentation updates made to reflect current plugin verification methods.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/plugin-verification

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

Newest code from mattermost has been published to preview environment for Git SHA ad7306c

@github-actions
Copy link
Copy Markdown

Newest code from mattermost has been published to preview environment for Git SHA 0fccd5e

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the “Plugin verification” documentation to remove references to legacy mattermost plugin ... key(s) CLI commands (removed in Mattermost v6.3.0) and replaces them with the current configuration-based approach for adding plugin signature verification keys.

Changes:

  • Replaced removed legacy CLI key-management commands with PluginSettings.SignaturePublicKeyFiles configuration guidance.
  • Clarified that plugin verification checks both the built-in Mattermost key and any additional admin-configured keys.
  • Added a config.json snippet and note about where key files must be stored.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +198 to +200
Mattermost server will verify plugin signatures downloaded from the Marketplace. Plugins are verified against a hard-coded Mattermost public key, as well as any additional public keys configured on the server.

`mattermost plugin add key my-pub-key`
To add custom public keys for plugin signature verification, add the key file names to the `PluginSettings.SignaturePublicKeyFiles` setting in your `config.json`:
Copy link

Copilot AI Apr 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section describes verification keys as a “hard-coded Mattermost public key”, but earlier in the same document the terminology is “default certificate” / “public key certificate” (see around lines 105-107). To avoid confusion about whether this is a raw public key vs a certificate, align the wording here with the earlier terminology (or update both to use a single, consistent term).

Copilot uses AI. Check for mistakes.
Comment on lines +203 to +204
"PluginSettings": {
"SignaturePublicKeyFiles": ["my-pub-key-1", "my-pub-key-2"]
Copy link

Copilot AI Apr 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The JSON example is a fragment (missing the outer {}), which makes it ambiguous where it belongs in config.json and can be confusing when copying/pasting. Consider showing a complete (or clearly elided) JSON object that includes the top-level braces and PluginSettings nesting, consistent with other config snippets in this docs repo.

Suggested change
"PluginSettings": {
"SignaturePublicKeyFiles": ["my-pub-key-1", "my-pub-key-2"]
{
"PluginSettings": {
"SignaturePublicKeyFiles": ["my-pub-key-1", "my-pub-key-2"]
}

Copilot uses AI. Check for mistakes.
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.

2 participants