Skip to content
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

add private plugins support #7515

Closed
wants to merge 1 commit into from
Closed

Conversation

fedorovvl
Copy link

What does this PR do?

Adds support for private plugin repo (#7088)
Two new flags
--pilot.private bool
--pilot.repo string

Motivation

In my case i have private network without internet and i totally can't use plugins. And all i need for using plugins is self hosted repository

Additional Notes

i remove check phase if private repo enabled.. its not nessesary i think
private repo tree looks like (with --pilot.repo=http://example.com/traeffik_plugins/)
http://example.com/traeffik_plugins/my-cool-plugin/1.1.0
1.1.0 is zip archive without extension

@SantoDE
Copy link
Collaborator

SantoDE commented Nov 12, 2020

Greetings @fedorovvl, thank you for taking the time to prepare this PR and for your contribution to Traefik. Before I share my opinion on the issue, full disclosure, I work at Traefik Labs and have discussed your PR at great length with some other maintainers before answering. I apologize for the delay in answer.

I understand your use case and the need for private plugins. When we introduced the plugin system, our goal was to provide an "open-source" plugin catalog, and there are a number of reasons behind this:

  • Most importantly, it allows everyone to benefit from the plugin system. Contributors are encouraged to share their work, and have a centralized repository for distribution. We want to see peoples ideas and needs, and in turn this helps us understand what users are looking to achieve with Traefik.
  • It allows the community as a whole to see the most popular plugins and as a result we can better determine what features we should be accepting upstream into the project.
  • It's also a easy first step for new contributors to get involved with the project. This encourages collaboration and allows us to nurture and onboard new contributors and maintainers.

The challenge I see with private plugins is that it directly contradicts many of the positive outcomes we're trying to achieve with the plugin feature.

Still, I cannot deny the popularity of this request, and we are investigating ways to implement the support for private plugins, while preserving the benefits the open source community has been afforded since the implementation of this feature. Here are some challenges we want to ensure don't become a detriment to the project:

  • Yaegi, the open source engine for the plugins, is still in beta. Feedback from the community through the implementation of public plugins is a significant source of bug reports in that project.
  • By implementing the support for private plugins, the ability to support end-users who use this functionality would be made more difficult for maintainers and community members. We receive dozens of questions every day across multiple channels (GitHub, Forums, Reddit, StackOverflow), and introducing this capability may harm the user experience both from an end-user perspective and from a community support perspective.

While we appreciate your contribution, I don't feel it is the approach I'd like to take to ensure the best user experience while at the same time encouraging open collaboration. We are open to your ideas and feedback on how we could overcome some of these challenges. In the meantime, to keep the conversation going, I propose we switch discussions to the relevant issue (#7088).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants