Ben Schumacher
23ecc9ad0a
[MM-25284] Include license type in Marketplace request ( #14586 )
2020-05-23 07:05:51 +02:00
Maria A Nunez
87eb7697f9
MM-19606- Rework Prepackaged Plugins ( #13449 )
...
* MM-19609 - Add new prepackage configuration settings (#13062 )
* Add signatures to the prepackaged plugins (#13138 )
* MM-19612 - Support querying local plugin marketplace when upst… (#13250 )
* MM-19612 - Support querying local plugin marketplace when upstream unavailable or disabled
* Update translations file
* Fixed comment
* Updated to check EnableRemoteMarketplace setting and LocalOnly to get marketplace plugins
* Fixed unit tests
* Tests cleanup code
* Removed unused error message
* Updated tests
* MM-19614- Updated Marketplace Service error id (#13388 )
* [MM-19610] Consume prepackaged plugins (#13005 )
* consume prepackaged plugins into memory
* missing i18n
* remove spurious .gitignore changes
* return on failure to install prepackged plugins
* cleanup
* s/plugins/availablePlugins
* whitespace
* don't return extractDir when not needed
* s/plug/plugin
* error on icon, cleanup
* update armored version of testplugin signature
* honour AutomaticPrepackagedPlugins
* document getPrepackagedPlugin
* MM-19613 - Include prepackaged plugins in marketplace results (#13433 )
* Added prepackaged plugins to marketplace results
* PR Feedback
* PR Feedback
* Update error where definition
* Removing unnecessary var declaration
* Updated comments
* MM-21263 - Use EnableRemoteMarketplace in marketplace install… (#13438 )
* MM-21263 - Use EnableRemoteMarketplace in marketplace install endpoint
* Call updateConfig before calling NewServer in TestHelper
* Added translations
* PR feedback
* Translations
* Feedback
* s/helpers.go/download.go
* Converging env.PrepackagedPlugins
* Initial PR feedback
* Ordered imports properly
* Updated DownloadURL to return slice of bytes
* Fixed method typo
* Fixed logging
* Added read lock for prepackaged plugins list
* PR Feedback
* Added condition to only install prepackaged plugin if it was previously enabled
* Linting
* Updated to check plugin state in config
* Closing filereader
* Only add local label if remote marketplace is enabled
* Updated local tag description
* Fixed tests
Co-authored-by: Ali Farooq <ali.farooq0@pm.me >
Co-authored-by: Shota Gvinepadze <wineson@gmail.com >
Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com >
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com >
2020-01-15 13:38:55 -05:00
Ben Schumacher
1f3f8fbf57
[MM-21123] Add Labels to upstream Marketplace response ( #13425 )
...
* Add Labels to upstream Marketplace response
* Add LOCAL label to local plugins
2020-01-14 07:16:36 +01:00
Ali Farooq
a6e992ae74
MM-16368 - Plugin Signing ( #13017 )
...
* [MM-18757] POST handler for `/plugins/marketplace` (#12372 )
* Implement installMarketplacePlugin
* Add InstallMarketplacePlugin endpoint
* Fix go.mod
* merge with master
* Fix go.mod
* Fix plugin tests
* Move get plugin to marketplace client
* Fix stylistic concerns
* Add trailing newline to the go.mod
* [MM-16586] Add plugin signature settings (#12390 )
* MM-17149 - Extend config.json for marketplace settings (#11933 )
* MM-17149 - Extend config.json for marketplace settings
* Renamed MarketplaceUrl, tracking default marketplace url
* Added EnableMarketplace to the client config
* Revert "Added EnableMarketplace to the client config"
This reverts commit 0f982c4c661c2cd9bb96264e9a01a2363c40d9c5.
* MM-17149 - Added EnableMarketplace to the client config (#11958 )
* Added EnableMarketplace to the client config
* Moved EnableMarketplace setting out of limited client configuration
* Add public key settings to the config.json
* Rename PublicKeys to SignaturePublicKeyFiles
* Change filepath.Split to Base
* Remove additional prints
* Force extention of a public key file
* Remove config validation
* Remove error on delete
* Remove config cloning
* Add error messages
* Add plugin public key tests
* Rename extension to PluginSignaturePublicKeyFileExtention
* Remove EnforceVerification
* Change []*PublicKeyDescription to []string
* Change .asc extension to .plugin.asc
* Change ordering of public methods
* Change plugin key commands
* Update examples in the plugin key commands
* Remove forcing extention
* Add verify signature in settings
* Fix tabbing
* Fix naming
* Remove unused text
* Remove unused text
* Update command examples
* Fix unit tests
* Change errors.New to errors.Wrap
* Fix verbose flag
* Change .asc to .gpg
* Fix }
* Change AddPublicKey signature
* Change public.key extension
* Add plugin public key command tests
* Update en.json
* Bootstrap the public keys
* Update en.json
* Fix en.json
* Fix en.json
* Bootstrap hard-coded public key
* Remove unused texts in en.json
* Change file to name
* Add license header
* Update development public key
* Remove writeFile method
* Remove .plugin.asc extension
* Rename publiKey to mattermostPublicKey
* Remove init_public_keys string
* GolangCI
* Closing file handlers
* Fixed test that was installing nps plugin
* [MM-19798] Implement plugin signature verification (#12768 )
* MM-17149 - Extend config.json for marketplace settings (#11933 )
* MM-17149 - Extend config.json for marketplace settings
* Renamed MarketplaceUrl, tracking default marketplace url
* Added EnableMarketplace to the client config
* Revert "Added EnableMarketplace to the client config"
This reverts commit 0f982c4c661c2cd9bb96264e9a01a2363c40d9c5.
* MM-17149 - Added EnableMarketplace to the client config (#11958 )
* Added EnableMarketplace to the client config
* Moved EnableMarketplace setting out of limited client configuration
* Add public key settings to the config.json
* Rename PublicKeys to SignaturePublicKeyFiles
* Change filepath.Split to Base
* Remove additional prints
* Force extention of a public key file
* Remove config validation
* Remove error on delete
* Remove config cloning
* Add error messages
* Add plugin public key tests
* Rename extension to PluginSignaturePublicKeyFileExtention
* Remove EnforceVerification
* Change []*PublicKeyDescription to []string
* Change .asc extension to .plugin.asc
* Change ordering of public methods
* Change plugin key commands
* Update examples in the plugin key commands
* Remove forcing extention
* Add verify signature in settings
* Fix tabbing
* Fix naming
* Remove unused text
* Remove unused text
* Update command examples
* Fix unit tests
* Change errors.New to errors.Wrap
* Fix verbose flag
* Change .asc to .gpg
* Fix }
* Change AddPublicKey signature
* Change public.key extension
* Add plugin public key command tests
* Update en.json
* Bootstrap the public keys
* Update en.json
* Fix en.json
* Fix en.json
* Bootstrap hard-coded public key
* Remove unused texts in en.json
* Change file to name
* Add license header
* Implement plugin signature verification
* Remove benburker openpgp
* Update en.json
* Update development public key
* Add support of multiple signatures in filestore
* Update en.json
* Run go mod vendor
* Fix style
* Remove writeFile method
* Remove .plugin.asc extension
* Rename publiKey to mattermostPublicKey
* Verify plugin with mattermost public key
* Remove init_public_keys string
* Add InstallPluginWithSignature method and Refactor
* Add signature verification on claster notification
* Remove armored signature headers
* Add error strings
* Fix en.json
* Change signatureStorePath
* Implement minor fixes
* Refactor plugin install methods
* Add installPlugin method to uploadPlugin
* Update en.json
* Refactor installPlugin
* Limit number of signatures
* Close signatures
* Fix helper function
* Fix fromReadCloseSeekerToReadSeeker
* Cleaned up ReadCloseSeeker for signatures
* Remove signature truncation on FS
* GolangCI
* Add tests for armored signatures and plugin uploads
* Fix nil slice issue
* Fix TestPluginSync
* Fixed tests
* Return io.ReadSeeker from downloadFromUrl
* Add log for the found plugins in the file store
* Remove logging plugin detection info
* [MM-20134] Consume and store single-signature for each plugin (#13081 )
* Consume and store single-signature for each plugin
* Fix en.json
* Remove saveSignature method
* Remove public key hash
* PR Feedback
* refactored config
* PR feedback
2019-11-18 19:02:41 -05:00
Jesse Hallam
2571d97723
MM-18517: Plugin Marketplace (Phase 2) ( #13086 )
...
* MM-17549: use StatusNotFound when deleting plugin (#12983 )
Trying to delete a plugin that does not exist should fail with a 404, not a 400.
Relates-to: https://mattermost.atlassian.net/browse/MM-17549
* MM-19630: marketplace: model ReleaseNotesURL (#13083 )
Automatic Merge
* MM-20065: allow prepackaged plugin upgrade (#13076 )
* MM-20065: allow prepackaged plugin upgrade
When locally installing prepackaged plugins, skip if a plugin exists with the same id and is the same or a newer version.
This is effectively a "poor man's" rework of prepackaged plugins to allow upgrade of prepackaged plugins via the marketplace. The larger plan to rework prepackaged plugins was deferred from v5.18.
Fixes: https://mattermost.atlassian.net/browse/MM-20065
* eliminate unnecessary installPlugin
* fix TestPluginSync defaults to match minio
* cleanExistingBundles
* close prepackaged filereader
* simplify
2019-11-18 13:40:49 -04:00
Jesse Hallam
4ce7b92283
MM-17023: Plugin Marketplace ( #12183 )
...
* MM-17149 - Extend config.json for marketplace settings (#11933 )
* MM-17149 - Extend config.json for marketplace settings
* Renamed MarketplaceUrl, tracking default marketplace url
* Added EnableMarketplace to the client config
* Revert "Added EnableMarketplace to the client config"
This reverts commit 0f982c4c661c2cd9bb96264e9a01a2363c40d9c5.
* MM-17149 - Added EnableMarketplace to the client config (#11958 )
* Added EnableMarketplace to the client config
* Moved EnableMarketplace setting out of limited client configuration
* MM-17150, MM-17545, MM-18100 - Implement GET /api/v4/plugins/m… (#11977 )
* MM-17150 - Implement GET /api/v4/plugins/marketplace proxying upstream
MM-17545 - Merge locally installed plugins into GET /api/v4/plugins/marketplace
* Replaced MarketplacePluginState with Installed
* Setting InstalledVersion instead of Installed
* marketplace client setting per_page if non zero
* Creating insecure client for marketplace url
* Fixed trailing slash for default marketplace url
* Adding filtering
* Fixed function names
* Renamed Manifest() to GetManifest(), added godoc for BaseMarketplacePlugin
* Handling plugin.ErrNotFound correctly
* Checking err == nil instead when a plugin is installed
* MM-18450 - Local-only plugin search (#12152 )
* MM-17846: plugin icons (#12157 )
* MM-17846: add support for plugin icons
Extend the model definitions to support plugin icons from the marketplace.
* s/IconURL/IconData
* MM-18475 - Converge on snake_case responses from the marketplace (#12179 )
* MM-18520 - MM-Server should forward server version to marketplace server (#12181 )
* Renamed request to filter client4.GetMarketplacePlugins
* Renamed request to filter
* Guarding against bad marketplace server response
2019-09-17 15:02:26 -04:00