question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

feat: support container-based plugins

See original GitHub issue

Problem to Solve

There is a whole world of plugins outside of the Python ecosystem that would benefit from having Meltano act as their foundation. Specific examples include:

The current container_spec implementation is insufficient for some of the use cases of these plugins. There may be no pip_url and the user may likely never need or want to interact with the plugin outside of the containerized context.

The goal of this is to unlock a larger world of possible plugins for Meltano

Prior Art / Things to Consider

Definition of Done

  • Any dockerized tool should be able to be used within Meltano as a utility
    • Bytebase and Lightdash should be used as a test bed for validating.
  • YAML spec is updated to support containerized plugins
  • Consideration for other multiple container specs - docker can be used as primary for this
  • Documentation updated in Meltano and the Hub to make it clear how to use these plugins

Issue Analytics

  • State:closed
  • Created a year ago
  • Reactions:2
  • Comments:6 (1 by maintainers)

github_iconTop GitHub Comments

1reaction
tayloramurphycommented, Jul 27, 2022

Can we agree though that the user experience (setting apart the experience of the maintainer) is identical regardless of whether container_spec inherits from plugin-level or is set explicitly per command? As we think about whether we have a full and complete dockerization/containerization featureset, I think it’s important to temporarily sideline berevity and focus on capability.

@aaronsteers I think that’s a fair statement. There are some oddities in the implementation that we can clear up likely in other issues.

One thing I do want to call out though is the perception challenge with container based plugins. The fact that it even feels like we might not support containerized plugins is itself a problem and we should fix through documentation and marketing. But also given recent conversations on priorities I believe we’re good to close this issue and keep the discussion in https://github.com/meltano/meltano/discussions/6459 and in specific docs issues.

1reaction
aaronsteerscommented, Jul 19, 2022

The current container_spec implementation is insufficient for some of the use cases of these plugins. There may be no pip_url and the user may likely never need or want to interact with the plugin outside of the containerized context.

@tayloramurphy and @DouweM - I’m not clear what the deficiency is, or if there is any deficiency at all. Non-Python plugins are already fully supported - as evidenced by the evidence.dev integration I built here: https://github.com/aaronsteers/aj-dataops-personal/blob/main/meltano.yml#L193-L246

Are we sure there are limitations or do we just need more ‘in the wild’ examples of container-based plugins to be added to the hub. If the former and we do have limitations, we should document those as issues to address.

  1. This should be closed (I think) as I believe it’s already resolved with the current featureset: https://github.com/meltano/meltano/issues/3300
  2. This is doable, for sure, but probably should not be prioritized, since won’t impact the drive for non-EL plugins: https://github.com/meltano/meltano/issues/3181
  3. Non-docker runtimes is worth adding (https://github.com/meltano/meltano/issues/3246), but doesn’t change anything from an overall functionality/vision perspective. When we’re all feeling confortable that the current implementation is functionally complete, then I think we can certainly pick up the “other container runtimes” spec - which would bring the parity features to Ranger Desktop, containerd, etc. but would not otherwise change underlying behaviors.
Read more comments on GitHub >

github_iconTop Results From Across the Web

progrium/docker-plugins - GitHub
A Docker container for running plugn plugins that respond to Docker events, and a builtin collection of generally useful Docker plugins.
Read more >
Container Guide - SUSE Documentation
The following guide covers the SUSE Linux Enterprise container ecosystem. Since containers are a constantly evolving technology, the guide ...
Read more >
DataCore storage gets Kubernetes and Docker plugins
New DataCore plugins for Kubernetes and Docker will help customers developing container-based applications and microservices to access its ...
Read more >
Use Docker Engine plugins
An open source volume plugin that provides multi-tenant, persistent, distributed storage with intent based consumption. It has support for Ceph and NFS. Convoy ......
Read more >
List of Plugins By Category - Fluentd
Download Name Author Version 68239 amazon_sns Tatsuhiko Miyagawa 0.1.0 7381 aurora‑slowquerylog Takayuki WATANABE 0.0.4 13543110 aws‑elasticsearch‑service atomita 2.4.1
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found