alerta/alerta

Stale project, need some help??

Closed this issue ยท 13 comments

Hi Nick (@satterly) and @nfs4 ,

We are currently implementing Alerta in our systems in Vestas. Right now, we are working on integrating Alerta with a Grafana Webhook. Im also working on a ServiceNow integration via the plugin/webhook system so there can be a two-way sync between Alerta and ServiceNow. We also work with DataDope.io (awesome people btw) They do some nice stuff as extended dedub of alerta and a async plugin system, see this: https://github.com/datadope-io/iometrics-alerta..

It seems like the project is currently at a standstill where people still sending in pull requests, Im sure there are many many people using your awesome product, but its difficult use when the project are not updated.. Security bugs are obviously a big concern for us, so currently we (in Vestas) has some choices

  1. one try and make contact with you and offer help getting the project back on track merging pull requests, updating dependencies etc develop features
  2. fork the project and make a "Vestas-Alerta" version and keep our own maintained version.
  3. use an entirely different system..

I would prefer option 1 and we are considering option 2 right now. I can see several of the pull requests that would make sense for us to implement (#1797, #1798 (mine), #1803, and a bunch of dependabot updates)

What are your thoughts? You are welcome to reach out to me if you want to discuss also.. :-)

Esben

Hi @hyberdk, just wanted to tell you that our organization are almost in the same boat as you and your team.

Alerta is a vital part of our monitoring system and we too were looking at the exact same options as you were.
There are also other people whom has asked the same question on slack.

We decided to go with the 1st option.
Since Alerta is so important to us and the cost of replacing it with a new or different system is high, our team has been given time to work on maintaining Alerta at out workplace.
We asked @satterly if we were allowed to contribute with PR, updating dependencies, implementing new features and so on. We were more than welcome to participate.

We're still waiting on either getting our PRs reviewed or getting the access to start reviewing them our self.

Personally I like hearing that you too prefer option 1 and I hope that we can get the ball rolling so that we can keep maintaining Alerta.

We would also like to contribute to alerta repo instead of maintaining our fork (which is what we have done so far). Thanks

Its very nice to see that we are not the only one that want to push this project forward. Option one where we can help each other out and we don't have to do everything ourselves is for sure the best path.

@sixcare, are you already in dialogue with @satterly or where are you in the process? I don't have too much experience in "large" opensource groups, here I'm thinking about governance, strategy and overall processes for merging pull requests and features.. I guess there has to be some rules to follow, that I assume is the tricky part of it..

I guess it depends on how much control @satterly wants to keep of the project and how much time he feels he can put into it.. It would be nice if we were able to setup a meet between us (including @satterly), so we could get aligned, but for now I have not yet been successful in creating contact..

Yes @hyberdk we have been in dialogue with @satterly. We've asked how we can help him out maintaining the project.
From that positive response we've started updating dependencies, but are still waiting on getting them review or getting the access to review PRs.

A meeting with him would be the best way to go. But we haven't heard from him in almost two months.
I'll keep on trying to get in touch with him and If I do I'll give you a heads up @hyberdk

okay, that is good.. Question is if it makes sense to setup a project that we can run until @satterly is ready to setup the access or merge the PRs.. I mean, if we can operate one common instance that has all the PRs it would be easier to move that into the main project once its ready.. Im afraid that changes you make, I make and 3rd party makes would get out of sync and it would be a nightmare to merge them all in the correct order is avoid conflicts etc.

I'm currently trying to add in the ServiceNow integration in the docker container, but for that I really do need to merge PRs into the alerta-contrib so I can create a new container in the docker-alerta repo, and there is a few fixes in the alerta-alerta also otherwise I would need to create my own Dockerfile either importing the docker-alerta or do it from scratch.

I have started to setup the project on my repo including tests etc. obviously I cannot push to pypi, but the tests can be done and generate some containers. But I would also like to import the 3.11 support and some of the dependency bumps, but soon it will be a nightmare to maintain if I keep "cherry picking" pull requests from all over including dependabot.. if the main branch would ever be updated, I would have to retrace my steps and get them into the main alerta branch.....

If we had one common repo that we all pushed into, we could merge that into the main once @satterly is ready to give access..

make sense?

We would love to contribute our enhancements to alerta, the plugins in contrib-alerta, and alerta-webui to a central repo. For now, our contributions exist in our fork.

We are constructing the docker image slightly differently. Instead of pulling from pypi

  • releases, we use a more fine-grained control by pulling specific SHA from the different repos to have clear understanding of what it available in the current docker build.

We are constructing the docker image slightly differently. Instead of pulling from pypi

yeah, Im also struggling a bit with the existing setup there is for docker. my solution might be too custom for us, so we might end up building our own containers. We do also need the ability to pull directly from git, so we get specific versions that might not yet be released.. Perhaps if the alerta-beta was updated every time from master with with a commit label, I could fix the version I wanted from there (if it was not a "GA-release").. However its sorta a problem that the image contains multiple repos.. Personally I would rather have a separate container for the webui and api that would make it more clear-cut.. Currently I have split internally with an api container and a webui that uses the nginx container, forwarding /api to the api container... but I think I will end up with a compose file of nginx (for ssl offloading etc) that forwards to the webui and api + the db.. it would make it more clear of the responsibilities for each container and I could drop supervisord..

then I will most likely do a script that on startup that checks via environment variables what plugins are to be installed and then installs it if its not currently there.. Then you would have the flexibility to specify exactly what you want (from any git repo) and also the point in history/commit id you want.

I need to play a little more with it before I settle 100% on a setup.. experience of what you guys are doing is welcome (although this is becoming a little OT) :-)

okay, that is good.. Question is if it makes sense to setup a project that we can run until @satterly is ready to setup the access or merge the PRs.. I mean, if we can operate one common instance that has all the PRs it would be easier to move that into the main project once its ready.. Im afraid that changes you make, I make and 3rd party makes would get out of sync and it would be a nightmare to merge them all in the correct order is avoid conflicts etc.

Yes @hyberdk , this sounds like a good idea. We too cherry-pick and create branches from branches that hasn't been accepted. This isn't optimal and increases the risk of conflicts in the long run.

We can set up an organization on GitHub and give you all access, @hyberdk and @headphonejames. Does that sound alright?
We can figure out the details once we've got the project page up and running.

I need to play a little more with it before I settle 100% on a setup.. experience of what you guys are doing is welcome (although this is becoming a little OT) :-)
Hit me up on slack and I can tell you how we've implemented Alerta in our monitoring system.

We can set up an organization on GitHub and give you all access, @hyberdk and @headphonejames. Does that sound alright? We can figure out the details once we've got the project page up and running.

sounds like a good idea..

Hit me up on slack and I can tell you how we've implemented Alerta in our monitoring system.

sure, I just had to resurrect my old slack login ;-)

I will reach out to you..

All, thanks for reaching out with offers to help. I'm happy to give access to anyone wanting to help maintain and enhance Alerta.

Let's set up a meeting via slack to discuss the future direction.

sbengo commented

Hi @satterly ,
I'm part of @datadope-io and as @hyberdk said, we are working together trying to use alerta as part of the core alerting engine system

As he has mentioned, we are working trying to improve the alerta behaviour with some features all of them in top of alerta as our core, but we are struggling with some of the alerta native features that should be improved/changed

We would love to participate and contribute with the community to enhance and improve alerta, so I would like to join to the meet!

If people interested in joining this meeting can join the slack channel #contributors that would be great and we can work out a suitable time. Thanks. https://alerta.slack.com/archives/C041KDLLB16

Hi all, thanks for a very good and productive meeting.. its very nice to see that so many people are using this project and that even though the project has been at a standstill lately (at least publicly), it is in fact very much alive and we just need some more coordination effort here.. @satterly, thanks for hosting the meeting and being open and positive towards the community, Im sure this will continue to be an awesome project for many years to come...

I will close this "issue" as I have gotten my question answered. :-)

Have a great week!