Enhancement: Rewrite the Infrastructure Agent in GoLang #1006

Closed
opened 2026-04-05 16:24:44 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @anxuanzi on 5/9/2024

Is your feature request related to a problem? Please describe.
I encountered significant difficulties with the original Node.js version of the OneUptime Infrastructure Agent when attempting to install and use it on CentOS9. Issues included complex dependencies that had to be managed and poor performance.

Describe the solution you'd like
I propose a rewrite of the OneUptime Infrastructure Agent in GoLang. The new GoLang version eliminates the dependency issues and enhances performance, making it more efficient and easier to deploy across various environments. Here are the highlights:

No dependencies: The GoLang agent is standalone and doesn’t require any additional installations to run.
Improved performance: Faster execution and lower resource consumption.
Cross-platform support: Ensures compatibility with Linux, MacOS, and Windows.

Describe alternatives you've considered
Maintaining the Node.js version with updates and dependency management, but this does not address the fundamental installation and performance issues on some systems.

Additional context
This rewrite aims to simplify deployment, enhance performance, and increase the reliability of the OneUptime Infrastructure Agent.

https://github.com/anxuanzi/oneuptime-infrastructure-agent-go

I'm using this on my own deployment without a problem. I also changed CPU usage calculation method to (avg load1) / (numbers of cpu) * 100

*Originally created by @anxuanzi on 5/9/2024* **Is your feature request related to a problem? Please describe.** I encountered significant difficulties with the original Node.js version of the OneUptime Infrastructure Agent when attempting to install and use it on CentOS9. Issues included complex dependencies that had to be managed and poor performance. **Describe the solution you'd like** I propose a rewrite of the OneUptime Infrastructure Agent in GoLang. The new GoLang version eliminates the dependency issues and enhances performance, making it more efficient and easier to deploy across various environments. Here are the highlights: No dependencies: The GoLang agent is standalone and doesn’t require any additional installations to run. Improved performance: Faster execution and lower resource consumption. Cross-platform support: Ensures compatibility with Linux, MacOS, and Windows. **Describe alternatives you've considered** Maintaining the Node.js version with updates and dependency management, but this does not address the fundamental installation and performance issues on some systems. **Additional context** This rewrite aims to simplify deployment, enhance performance, and increase the reliability of the OneUptime Infrastructure Agent. https://github.com/anxuanzi/oneuptime-infrastructure-agent-go <s>I'm using this on my own deployment without a problem. I also changed CPU usage calculation method to (avg load1) / (numbers of cpu) * 100</s>
MrUnknownDE added the enhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancementenhancement labels 2026-04-05 16:24:46 +02:00
Sign in to join this conversation.
No Label enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement enhancement
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/oneuptime#1006