-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proxy upstream support #60
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nicely done sir! Great feature 🎉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One questions and one comment about the code flow.
Great work Jesse 🎉
@lieut-data can you please provide some guidance for testing this change? It's not quite clear to me how to test this. |
@DHaussermann, yes, that's basically the idea. You'll have to edit your local |
@hanzei if you have time, is this something you would be able to peer test using the peer testing process documented here?https://mattermost.atlassian.net/wiki/spaces/INT/pages/619937892/Peer+Testing+Process |
Sure @DHaussermann 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Scope
Allow upstream marketplace
Testing notes
- Modified
plugins.json
to only contain a Matterpoll release - Run
go run ./cmd/marketplace server --upstream https://api.integrations.mattermost.com
- Confirmed that Marketplace Modal shows all plugins from https://api.integrations.mattermost.com and the Matterpoll release
Follow-up concerns
None
Thanks, @hanzei! |
Thanks for testing @hanzei! Much appreciated. |
* [MM-21749] [MM-22214] Add "Beta" and "Community" label (#37) * Add beta and community label * wording * Feedback * Make use of model.IsValid() (#44) * Pin github.com/rakyll/statik version (#47) * document automatic deployment (#46) * document automatic deployment * tweak merging language Co-authored-by: Ben Schumacher <[email protected]> * Add issue templates for community plugins (#45) Add two issue templates: one for adding a new community plugin and one for updating an existing community plugin. * [MM-23184] Omit empty labels list (#48) * Drop iconPaths workaround (#62) * Use GITHUB_TOKEN env variable instead of having the user define it (#54) * Proxy upstream support (#60) * s/store/staticStore/ * prefer later plugins if version exactly matches * introduce merged and proxy stores * support --upstream * generate on run-server * update to go1.14 * tidy up interface/comments * golangci-lint local-only complaints * Update internal/store/proxy_test.go * revert generate on run-server * avoid merged store unless needed Co-authored-by: Ben Schumacher <[email protected]> Co-authored-by: mattermod <[email protected]> * Ensure manually added plugins stay in the database (#68) * Send Announcements for new plugins (#76) * Limit enterprise plugins to E20 installations (#79) * Limit enterprise plugins to E20 installations * Apply suggestions from code review Co-authored-by: Aaron Rothschild <[email protected]> * Make getPlugins signature more clear * Don't omit enterprise in json * make generate * Include workaround for https://mattermost.atlassian.net/browse/MM-26507 * Fix typo * Changes as requested * Drop else * Move minVersionSupportingEnterpriseFlags into global scope Co-authored-by: Aaron Rothschild <[email protected]> * Add Enterprise label to MS Calendar * make generate Co-authored-by: Jesse Hallam <[email protected]> Co-authored-by: mattermod <[email protected]> Co-authored-by: Aaron Rothschild <[email protected]>
* [MM-21749] [MM-22214] Add "Beta" and "Community" label (#37) * Add beta and community label * wording * Feedback * Make use of model.IsValid() (#44) * Pin github.com/rakyll/statik version (#47) * document automatic deployment (#46) * document automatic deployment * tweak merging language Co-authored-by: Ben Schumacher <[email protected]> * Add issue templates for community plugins (#45) Add two issue templates: one for adding a new community plugin and one for updating an existing community plugin. * [MM-23184] Omit empty labels list (#48) * Drop iconPaths workaround (#62) * Use GITHUB_TOKEN env variable instead of having the user define it (#54) * Proxy upstream support (#60) * s/store/staticStore/ * prefer later plugins if version exactly matches * introduce merged and proxy stores * support --upstream * generate on run-server * update to go1.14 * tidy up interface/comments * golangci-lint local-only complaints * Update internal/store/proxy_test.go * revert generate on run-server * avoid merged store unless needed Co-authored-by: Ben Schumacher <[email protected]> Co-authored-by: mattermod <[email protected]> * Ensure manually added plugins stay in the database (#68) * Send Announcements for new plugins (#76) * Limit enterprise plugins to E20 installations (#79) * Limit enterprise plugins to E20 installations * Apply suggestions from code review Co-authored-by: Aaron Rothschild <[email protected]> * Make getPlugins signature more clear * Don't omit enterprise in json * make generate * Include workaround for https://mattermost.atlassian.net/browse/MM-26507 * Fix typo * Changes as requested * Drop else * Move minVersionSupportingEnterpriseFlags into global scope Co-authored-by: Aaron Rothschild <[email protected]> * Merge production into master (#88) * Merge master into production (#49) * [MM-21749] [MM-22214] Add "Beta" and "Community" label (#37) * Add beta and community label * wording * Feedback * Make use of model.IsValid() (#44) * Pin github.com/rakyll/statik version (#47) * document automatic deployment (#46) * document automatic deployment * tweak merging language Co-authored-by: Ben Schumacher <[email protected]> * Add issue templates for community plugins (#45) Add two issue templates: one for adding a new community plugin and one for updating an existing community plugin. * [MM-23184] Omit empty labels list (#48) Co-authored-by: Jesse Hallam <[email protected]> * Add v0.14.0 of mattermost-plugin-github to the Marketplace (#51) * Add v1.3.0 of mattermost-plugin-zoom to the Marketplace (#50) * Add v1.2.0 of mattermost-plugin-custom-attributes to the Marketpl… (#53) * Add mattermost plugin autolink v1.2.0 (#56) * Add v1.2.0 of mattermost-plugin-autolink to the Marketplace * Remove custom-attributes from this PR * add the statik.go file after manually removed autolink from plugins.json and reran 'make generate' Co-authored-by: Ben Schumacher <[email protected]> * Add v1.3.1 of mattermost-plugin-zoom to the Marketplace (#59) * Add mattermost plugin todo v0.2.0 (#57) * Add v2.4.0 of mattermost-plugin-jira to the Marketplace (#66) * Add v1.0.4 of mattermost-plugin-nps to the Marketplace (#63) * Add v0.2.0 of mattermost-plugin-skype4business to the Marketplace (#70) * Add v1.0.0 of mattermost-plugin-github to the Marketplace (#69) * Add v1.2.0 of mattermost-plugin-confluence to the Marketplace (#73) * Add mattermost plugin welcomebot v1.2.0 (#71) * Add v1.0.0 of mattermost-plugin-mscalendar to the Marketplace (#78) * Add v1.1.0 of mattermost-plugin-jenkins to the Marketplace (#80) * Add v2.0.0 of mattermost-plugin-jitsi to the Marketplace (#82) * Add Enterprise label to MS Calendar * make generate * Add v1.3.0 of mattermost-plugin-giphy-moussetc to the Marketplace (#85) Co-authored-by: Jesse Hallam <[email protected]> Co-authored-by: Jason Frerich <[email protected]> * s/sls/serverless Co-authored-by: Ben Schumacher <[email protected]> Co-authored-by: mattermod <[email protected]> Co-authored-by: Aaron Rothschild <[email protected]> Co-authored-by: Jason Frerich <[email protected]>
Summary
Support proxying to an upstream marketplace via
--upstream
or theBUILD_UPSTREAM_URL
environment variable that is baked into a binary.This is useful for customers that want to supply their own plugins, but simultaneously stay up-to-date to an upstream marketplace like
api.integrations.mattermost.com
. This is immediately useful for launching a "beta listing" of the marketplace in which to list upcoming efforts, such as the incident response plugin, but without exposing to all users of the marketplace.Ticket Link
N/A