News for hackers. Stuff that matters.

harshadmanglani

Show HN: Poseidon, an Oncall AI agent (open source alt to resolve.ai)

https://github.com/harshadmanglani/poseidon

Oncall devs, say goodbye to 2 AM pages on a Saturday.Poseidon v0.1 analyzes past incidents, logs, metrics, and ops history to suggest root causes (demo in README).In the next version, Poseidon will hook up to more tools in your org with MCP, and along with the summary, will send a "stop loss" button in your Slack message.This stop loss button can: 1. revert a faulty config 2. revert a faulty...

( Read More... | no comments | on HN )
Re:Show HN: Workflow orchestrator in Golang on Thursday March 07, 2024 @11:41PM (#39637858)
Added docs and an example with docusaurus: https://harshadmanglani.github.io/polaris
Re:Show HN: Workflow orchestrator in Golang on Thursday March 07, 2024 @10:17AM (#39630112)
Yes, I've added the license.

Thanks for sharing your work Deepak, you have some pretty extensive documentation! Funnily enough, the Golang framework is almost a clone of https://github.com/flipkart-incubator/databuilderframework (another orchestration engine in Java).

This is another HN post that extensively covers almost every major orchestrator in the market: https://news.ycombinator.com/item?id=24216317

As for multi version workflows, I suppose that will have to be a tradeoff between maintaining somewhat redundant code or adding workflows as WorkflowV1 and WorkflowV2 and stitching together relevant steps in respective versions (reduces redundancy to some extent but won't eliminate)

Re:Show HN: Workflow orchestrator in Golang on Thursday March 07, 2024 @10:09AM (#39630001)
Fair enough, will do. Thanks!
Re:Show HN: Workflow orchestrator in Golang on Monday March 04, 2024 @11:07PM (#39599326)
Thanks for sharing! I'll check it out.
Re:Show HN: Workflow orchestrator in Golang on Monday March 04, 2024 @11:05PM (#39599313)
Thanks for sharing this! There is no support for timeouts yet, but might be a good addition.
Re:Show HN: Workflow orchestrator in Golang on Monday March 04, 2024 @11:04PM (#39599303)
Can you elaborate on what you mean by modelling non-centralized things?
Re:Show HN: Workflow orchestrator in Golang on Monday March 04, 2024 @11:03PM (#39599291)
Super helpful feedback @peter. Thanks a ton!

I've noted all of these and I'll modify the README to include them. Thank you for taking the time to go through in such detail :)

Given that the current state of a workflow:

- is inherently invisible

- all we can really check in the DB is if, for a workflow, the available data contains the target data;

how would I address observability concerns?

This is a function of a lack of workflow states due to the lower levels of abstraction it operates on. User defined workflow states would do the trick, but I suppose that would take writing some more code after integrating the framework.

Re:Show HN: Workflow orchestrator in Golang on Monday March 04, 2024 @10:47PM (#39599199)
Thanks for the inputs! I'll add some examples in the documentation.

- with control on the database reader yourself, i think you should be able to find a way around saturation/desaturation?

- again, the fairly certain you can limit DB readers in the DataStore interface you pass to the orchestrator. I'll think about the cpu and memory share and if there's a way to expose that.

A major concern I've always had with workflow orchestrators is the versioning of workflows. Think about long running workflows (>2 days). If you change your workflow logic, what happens to the existing ones that haven't completed yet?

Everyone handles this differently, and I've been thinking about a generic way to do this. Thoughts?

Re:Show HN: Workflow orchestrator in Golang on Monday March 04, 2024 @10:40PM (#39599161)
thanks for sharing this. that's what @withinboredom mentioned too :)
Re:Show HN: Workflow orchestrator in Golang on Monday March 04, 2024 @10:37PM (#39599145)
Let me add a license, I missed it. Thanks for pointing it out!

Show HN: Workflow orchestrator in Golang

https://github.com/harshadmanglani/polaris

A brief overview: 1. Workflows steps share a running context, with access to data they need require. 2. Steps in the workflow (builders) are chained together based on a topologically sorted built from the predefined input & output. 3. No servers spin up (like Conductor/Cadence) - the orchestrator is low level and meant for simplifying business logic. 4. Before/After listeners for each...

( Read More... | 23 comments | 25 points | on HN )