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

Is this repo maintained? #184

Open
rosenhouse opened this issue Aug 29, 2019 · 29 comments

Comments

@rosenhouse
Copy link

@rosenhouse rosenhouse commented Aug 29, 2019

The abstractions provided by MetaController look really nice. I'd love to use it for a project.

However, it looks like a PR hasn't been merged since March, and the maintainers haven't replied to an issue in about that long.

Is this maintained?

@enisoc

This comment has been minimized.

Copy link

@enisoc enisoc commented Aug 29, 2019

In short, no. I was the only maintainer at the time when I left Google at the end of March. I don't have access to merge anything on this repo since Google still owns it.

@intlabs

This comment has been minimized.

Copy link

@intlabs intlabs commented Aug 29, 2019

Metacontroller is a great project, and it would be terrible to see it wither. @enisoc do you know who, in addition to yourself, would be the most appropriate contact to discuss possible futures for this effort?

@enisoc

This comment has been minimized.

Copy link

@enisoc enisoc commented Aug 30, 2019

@AmitKumarDas has been doing experiments on a fork (https://github.com/AmitKumarDas/metac) and has mentioned that he'd be interested in upstreaming that work if a new home is found for the project.

@piersharding

This comment has been minimized.

Copy link

@piersharding piersharding commented Aug 30, 2019

@enisoc - thanks for all your efforts on this project, I also think it is a great one. I hope you remain involved in some capacity.

@AmitKumarDas

This comment has been minimized.

Copy link

@AmitKumarDas AmitKumarDas commented Aug 30, 2019

I would be glad to contribute and maintain MetaController in whatever form the community decides. Is there anyone who can start a new home/repo etc? Do we need any approvals from its current owner?

@arielb135

This comment has been minimized.

Copy link

@arielb135 arielb135 commented Aug 30, 2019

Same here, ive actually finished developing a rabbitmq controller, that creates rabbit resources based on my crd.
I intend to add it into production - is this a risk?

@intlabs

This comment has been minimized.

Copy link

@intlabs intlabs commented Aug 30, 2019

@AmitKumarDas @enisoc I think the airship project (https://www.airshipit.org/) may happy to host this project and provide CI, but that would also depend on the current owner's desires.

@enisoc

This comment has been minimized.

Copy link

@enisoc enisoc commented Aug 30, 2019

Perhaps @droot can comment on whether Google intends to do anything with this repo.

As for myself, much to my own surprise, it turned out that between a startup and a toddler, I don't have enough free time to maintain this as a side project. However, if someone decides to take on the maintainer role on their own fork, I would be interested in contributing.

@mikebryant

This comment has been minimized.

Copy link
Contributor

@mikebryant mikebryant commented Sep 10, 2019

I would be interested in helping to maintain this, we've found it to be a really useful abstraction

@DirectXMan12

This comment has been minimized.

Copy link

@DirectXMan12 DirectXMan12 commented Sep 10, 2019

@droot and I have been talking about this in the background a bit. I think our team (the KubeBuilder team) can take over maintenance here, but we've got some logistics to figure out about long-term maintenance, new features, etc.

In the short-ish term, we'd like to investigate rebasing the internals on controller-runtime, so that we're not maintaining two similar but distinct codebases.

@DirectXMan12

This comment has been minimized.

Copy link

@DirectXMan12 DirectXMan12 commented Sep 10, 2019

but we're also very happy to have community help as well from anyone who is interested, especially those who are already familiar with the codebase

e.g. @AmitKumarDas @mikebryant

@AmitKumarDas

This comment has been minimized.

Copy link

@AmitKumarDas AmitKumarDas commented Sep 11, 2019

It will be really good to have this embedded into controller-runtime and get more community support.
Let me know if there are any proposals with this investigation & I will be happy to join.

@DirectXMan12

This comment has been minimized.

Copy link

@DirectXMan12 DirectXMan12 commented Sep 11, 2019

Let me know if there are any proposals with this investigation

I did some hacking last night on replacing the internals with controller-runtime. There are currently some blockers (e.g. no way to "stop" controllers easily in controller-runtime w/o stopping the entire set of informers). Some of these might be mitigated if the proposal to move to a sidecar-based approach is moved to (e.g. sidecar means you're not starting and stopping controllers on demand).

I'd like to figure out a plan to move towards controller-runtime internals, so any input there would be super-helpful. If anyone's super-interested in tackling it themselves, I'm happy to provide guidance.

In the mean time, we'll figure out how to get correct permissions set up for this repo.

Additional things that would be helpful immediately from community members:

  • Issue triage: there are a lot of issues in this repo that seem inactive. It'd be good to get questions answered, up-to-date bug reports tagged as such, and enhancement requests tagged as such.
@kmova

This comment has been minimized.

Copy link

@kmova kmova commented Sep 12, 2019

@enisoc @DirectXMan12 @AmitKumarDas - just wondering if this could be a kubernetes sig project?

@DirectXMan12

This comment has been minimized.

Copy link

@DirectXMan12 DirectXMan12 commented Sep 16, 2019

Quite possibly -- we'd need to figure out the logistics, but I think it makes sense to put it under the server-sdk subproject (a.k.a. the KubeBuilder subproject)

@AmitKumarDas

This comment has been minimized.

Copy link

@AmitKumarDas AmitKumarDas commented Sep 17, 2019

Just wondering, if all of us agree to continue with the original purpose of MetaController. In other words, it provides us with couple of controller implementations (abstracts the developers from programming to k8s) and lets us focus only into business logic side of things.

@DirectXMan12

This comment has been minimized.

Copy link

@DirectXMan12 DirectXMan12 commented Sep 17, 2019

I'll let others weigh in too, but my take is this:

metacontroller lets you program your controllers in any language, in a "pure" (in the functional programming sense) way, without having to worry about side effects. You're always going to have to worry about k8s to some degree (e.g. finalizers), but you shouldn't have to worry about trying to connect to k8s directly, make API requests directly etc -- you should just be able to take inputs and return what you want to happen (i.e. the state of the world).

@piersharding

This comment has been minimized.

Copy link

@piersharding piersharding commented Sep 17, 2019

Hi -
My hope is that MetaController would retain the spirit of it's original ethos, in that it enables people like me to program essentially stateless controllers in any language of my choice, only caring about emitting a JSON document (I like the existing format) to describe the resources that I want associated with my CRD.

In it's existing state, it has created a toolkit that gives a very low barrier to entry (for instance I don't need to understand much about controllers, Go, or k8s libraries), and makes it easy as a DevOps/SysAdmin to create "throwaway" operators for my organisation/workplace/life/etc.
For example, an acid test of it's future would be that any changes made going forward would not break existing MetaController operators in the wild (or at least without very good reason...).

It would be good to see some sort of new MetaController road map (#9) come out of this, which would help clear up any ambiguities around aspirations.
Thanks,
Piers Harding.

@arielb135

This comment has been minimized.

Copy link

@arielb135 arielb135 commented Sep 17, 2019

I'd add to the roadmap a support to bring more objects with the sync request,
For example, I have a crd with sensitive values, so I saved them in a secret, addad a ref field in my crd, gave rbac clusterrole permissions to that specific secret (for my custom controller), then used kubernetes API to retrieve the secret in the controller.

Would be nice to define resources that metacontroller will bring to the request (like according to annotations)

@luisdavim

This comment has been minimized.

Copy link
Contributor

@luisdavim luisdavim commented Sep 17, 2019

So, will this project be moved to the kubernetes-sigs org?

@DirectXMan12

This comment has been minimized.

Copy link

@DirectXMan12 DirectXMan12 commented Sep 17, 2019

So, will this project be moved to the kubernetes-sigs org?

We need to decide that, and there's logistics to work out, but it seems reasonable to me.

@piersharding I think we're mostly in agreement there, and I don't think any breaking changes would be made w/o introducing a new major version.

@kmova

This comment has been minimized.

Copy link

@kmova kmova commented Sep 18, 2019

Sounds like we should get on call to discuss further on the logistics and the roadmap/approaches? Is there a sig community meeting where we can add this as a agenda topic? or setup a new call?

@DirectXMan12

This comment has been minimized.

Copy link

@DirectXMan12 DirectXMan12 commented Sep 19, 2019

You can propose it for the kubebuilder meeting next month, but I think there's some stuff to figure out on our end too.

@AmitKumarDas

This comment has been minimized.

Copy link

@AmitKumarDas AmitKumarDas commented Sep 19, 2019

@DirectXMan12 I wanted to propose MetaController for kubebuilder meeting. However, I am not sure of the meeting/doc link.

@DirectXMan12

This comment has been minimized.

Copy link

@DirectXMan12 DirectXMan12 commented Sep 19, 2019

join the kubebuilder mailing list listed in https://github.com/kubernetes-sigs/kubebuilder#resources and you'll get a calendar invite with the details

@DirectXMan12

This comment has been minimized.

Copy link

@DirectXMan12 DirectXMan12 commented Oct 9, 2019

We discussed this a bit in the KubeBuilder meeting today. The KB community is supportive of this.

I think the next step here would be to have someone from the metacontroller side write up a little proposal for this that we can submit to kubernetes. I'd be happy to review or provide guidance.

@luisdavim

This comment has been minimized.

Copy link
Contributor

@luisdavim luisdavim commented Oct 9, 2019

Maybe @AmitKumarDas since he's maintaining the only active fork of metacontroller??

@debianmaster

This comment has been minimized.

Copy link

@debianmaster debianmaster commented Nov 5, 2019

metacontroller is just enough abstraction for non GO programmers like me. it would be great to see this project maintained

@AmitKumarDas

This comment has been minimized.

Copy link

@AmitKumarDas AmitKumarDas commented Nov 5, 2019

All. Just wanted to give an update w.r.t submitting a proposal to add metacontroller to KB community.

I have been busy all these days and have not been able to write the proposal. It will be great if anyone in the community can send out the proposal. I have been talking with some of the metacontroller users to do the same without any success.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.