Standard Grant Proposal: Proxmox Backup Cloud Extension (Continuation)

Hey @rdwild, our dev team was having some trouble evaluating your progress so far and in particular up to your current milestone, which is “Complete the final development of the Sia renterd plugin”.

We’ll need either a setup guide, working demo, or video demo to evaluate. They mentioned they quickly scanned the repo for our code or API routes and didn’t see anything. The files mentioned in some recent reports were either too simple or not updated in a while.

Once we get that, they’ll re-evaluate and be able to send this month’s payment.

You guys asked for short reports, the long report link has been at the bottom of every report. I talked with my developer and the API stuff was not committed. Please see the following link:

If there is anything else that is needed please let me know. Thanx.

They were happy to see the API code get committed. They’d still like to see a setup guide, video demo, or working demo to verify progress. Thanks.

1 Like

Thanx Steve, I have already talked to my dev on that very subject and also passed along your comments. We should have that very soon.

There was a slight delay in getting this month’s report; it will be in by the end of the day.

1 Like

Sia Foundation Monthly Report – Jan 2025

What progress was made on your grant this month?

Phase 8: Beta testing and bug cleanup:

Sia API Integration

Full Sia API Integration: Completed the integration of the Sia API within the Proxmox Backup Server Cloud Backup Plugin. This allows seamless interaction with the Sia decentralized storage network for reliable and secure cloud backups.

File Redundancy and Bandwidth Monitoring: Added advanced Sia API functionalities, including file redundancy checks and bandwidth monitoring, improving overall system reliability.

Fallback Mechanisms: Implemented fallback systems to ensure continued operation during Sia node unavailability or network limitations, guaranteeing uninterrupted backup and restore processes.

Cloud Backup API Enhancements

API Standardization: Finalized the standardization of API interactions, ensuring improved compatibility and a streamlined data handling process across modules.

Performance Optimizations: Continued refining the API’s scalability and performance, ensuring smooth operations even with large backup datasets.

Role-Based Access Control (RBAC): Strengthened security by further enhancing role-based permissions in the cloud backup API, enabling more granular access control.

Security and Compliance Advancements

Strengthened Encryption: Continued to enhance data encryption at rest and in transit, ensuring compliance with GDPR and industry standards.

Token-Based Authentication: Improved security by replacing session-based authentication with token-based authentication for all API interactions.

Penetration Testing & Security Audits: Performed extensive penetration testing to detect and resolve vulnerabilities. Completed a security audit to ensure all components are secure and compliant.

UI/UX Enhancements

Enhanced User Interface: Implemented new UI elements, including real-time backup status indicators, progress bars, and error notifications, providing a more intuitive user experience.

Dashboard Improvements: Refined the dashboard to display enhanced metrics, including Sia storage usage, capacity estimates, and backup job dependencies.

Multi-Language Support: Expanded the plugin’s accessibility by adding support for multiple languages, broadening the user base.

Testing and Documentation

System Stress Testing: Conducted extensive stress testing to ensure system stability, successfully handling even higher-than-expected data throughput.

Updated Documentation: Continued work on detailed user and developer documentation, focusing on the new Sia API integration and cloud backup API features.

Codebase Refinement: Refined the codebase for clarity and performance, performing static code analysis and enhancing the CI/CD pipeline.

  1. Key Technical Challenges and Resolutions

Sia API Integration Challenges

Challenge: Integrating the complex Sia API with the Proxmox Backup Server required handling asynchronous operations and network instability.

Resolution: Developed robust asynchronous handling techniques and fallback strategies to mitigate node unavailability and network latency.

UI Synchronization with Real-Time Data

Challenge: The real-time synchronization of backup statuses and capacity metrics led to occasional UI inconsistencies.

Resolution: Introduced improved caching mechanisms and refined the synchronization logic to ensure smooth UI updates.

Scalability and Load Balancing in Middleware

Challenge: Ensuring the middleware could handle the increased data throughput due to full Sia API integration.

Resolution: Optimized the middleware for enhanced load balancing and asynchronous processing, ensuring it can scale efficiently with increasing user demand.

  1. Upcoming Goals

Final Testing & Stable Release Preparation

Complete final rounds of beta testing with focus on real-world performance under large-scale conditions.

Resolve any outstanding bugs and performance issues, aiming for a stable release in early February.

Expanded Documentation and Community Engagement

Finalize and release comprehensive documentation covering the new Sia API integration and enhanced API features.

Publish the plugin on GitHub, inviting open-source contributions and feedback from the broader community.

Long-Term Maintenance & Future Integrations

Plan the integration of additional storage backends and work towards optimizing middleware scalability.

Explore potential partnerships with other decentralized storage providers to further enhance functionality.

UI/UX Finalization

Complete multi-language localization and continue refining the user interface, adding advanced visualizations for backup job dependencies and storage utilization.

Add contextual help and tutorials within the UI to improve user experience for both beginners and advanced users.

What was done in the code:

src/middleware/siaIntegrationMiddleware.rs: Enhanced error-handling logic and optimized integration with Sia API.

pbs/src/api2/cloud/backup.rs: Final adjustments to API to improve scalability and performance.

pbs-api-types/src/acl.rs: Updates to access control logic for more granular role-based permissions.

pbs-api-types/src/libs.rs: Optimizations to API types for better compatibility and data handling.

pbs-api-types/src/maintenance.rs: New logic for maintenance mode checks during cloud backup operations.

pbs-api-types/src/network.rs: Updated network configuration to better manage decentralized storage communications.

Links to repos worked on this month:

Merged branch ‘develop’ of https://github.com/AZComputerSolutions/PBSCloudBackupModule

What will you be working on this month?

Release Candidate Preparation:

Final Testing and Stable Release

Conduct final beta testing and resolve any remaining bugs or performance bottlenecks. Prepare for the stable release of the Proxmox Backup Server Cloud Backup Plugin with full Sia integration. Enhanced Documentation and Community Collaboration and Publish comprehensive user and developer documentation, including setup guides and troubleshooting resources. Release the plugin on GitHub and collaborate with the open-source community to gather feedback for future improvements.

UI/UX Enhancements

Finalize multi-language localization and add contextual help features to improve user experience. Continue refining the user interface, including advanced visualization tools for backup job dependencies and performance metrics.

Please summarize your development goals into a few sentences or bullet points:

We have documented setting up a test server. So that anyone can do it with the code in our github site. I would like to note that the Proxmox group has been less than helpful in helping us set up things so we can do testing before incorporating our code into their code base. We have setup a work around where we use an overlay system. I have been able to setup a test version of the product but there are still lots of bugs in it. We are currently working to remove bugs we are finding as we move towards an beta release and external test of our software.

  1. PBS Plus Package Structure (Debian)

Copy

pbs-plus_1.0_all.deb

├── etc/

│ ├── pbs-plus/

│ │ ├── overlay/ # Custom files to overlay

│ │ │ ├── usr/

│ │ │ │ └── share/

│ │ │ │ └── proxmox-backup-ui/

│ │ │ │ └── pbs-ui.js # Modified Ember components

│ │ ├── ssl/

│ │ │ └── pbs-plus.pem # Self-signed certificate

│ ├── systemd/system/

│ │ └── pbs-plus.service

├── DEBIAN/

│ ├── control

│ ├── postinst

│ └── prerm

  1. Overlay Mount Systemd Service

  2. Certificate Management

Copy

Post-install script (DEBIAN/postinst)

#!/bin/sh

update-ca-certificates --fresh

systemctl restart nginx

  1. Ember.js UI Customization

Since PBS uses Ember.js (v3.28+), modify these core files:

Target Files:

/usr/share/proxmox-backup-ui/js/pbs.js # Main entry point

/usr/share/proxmox-backup-ui/templates/*.hbs # Handlebar templates

/usr/share/proxmox-backup-ui/public/assets/ # CSS/Images

As always, the full version of this document is available at

https://www.pbscloudbackup.com/docs/sia/sia-foundation-monthly-report-jan-2025/

Screen Shots (more to come)

Hey @rdwild we need your February report in the next couple of days to have our review done on time.

2 Likes

Thanx for the update Steve, I was out of the office last few days due to my birthday. I have the report from our dev and just need to reformat it so it should be available before the deadline. Thanx for letting me know.

1 Like

Really excited about this. But is there an estimated release Date? And will this be directly integrated into pve?

Morning OttoBoom. I see this is the first time you have posted. Welcome! Not yet, We are currently finishing internal beta testing (our developer is currently in hospital, so there will be an update as soon as he is available) to get the product to the point where it can be externally tested. Keep an eye out here and in the grants-program Sia Discord group for updates. We will also post an update when its ready on the project website.

https://www.pbscloudbackup.com/

Rodney Wild
A-Z Computer Solutions

Thanks @rdwild, do you have an estimate of when your report will be available?

Not at the moment, Steve, our dev is still in the hospital.

I just want to mention that proxmox 8.4 added a way to create 3rd party backup plugins. This could be a better and faster solution to integrate it into proxmox. See Post Proxmox VE 8.4 released! | Proxmox Support Forum

Especially since looking at this plugin code on the public git repository, I can’t really say that this is nearly ready for any testing, or even able to be compiled.

1 Like

Is this actually going somewhere? I went through the code and some commits, and to call those a joke is unfortunately fitting :/ I mean, there are literal diffs commited… No, but really, this [1] has to be a joke, right?

Since PBS uses Ember.js (v3.28+)

what does that mean? Is that what you built that UI with you took the screenshot of? Cause there is not a trace of it in the actual PBS source(if I missed it, please point it out to me).

So, I guess what I am trying to ask is: Is this a grant money cash-grab, or is this a serious effort? @rdwild

[1] sia api integration · AZComputerSolutions/PBSCloudBackupModule@6f84400 · GitHub

it is a serious effort. And if it was a cash grab, I never got any as the owner of the project.

Rodney Wild
A-Z Computer Solutions

Better question is if this will not be merged into the official pbs git, who will use it? Maybe some homeuser, but as a company, I would want to use any fork since it’s a liability issue, if something happens. For pbs I can get support, but not in a fork.

So in my opinion especially since the code base is worse then a 2000 column database table, I would say this isn’t going anywhere.
@steve

Ok, this is a scam. I thought you needed to post updates every month. But now February, march, are missing. Idk if April will come.
But I think, that 1. Such a project should not cost 80k+, and for 80k, I would expect this project to be done in 4 month top.

Imagine what 80k could do to actual open source devs, creating way better/important things.
But this is also not open source, since it was stated that it has already been compiled correctly, but also veryfiyng the current codebase my self, I can agree with @TameBrand and @GunniBusch that this is not nearly far to be compiled successfully. Which mean either the demos are fake or @rdwild only publishes enough to satisfy @steve.

It’s just sad, because I know that this project is something many pbs users want. But the fact that nearly nobody of them knows about this is another red flag.

I hope, funding will be stopped, and given to actual motivated people.

And yes, I have read the developer is in hospital, but like I said earlier the project should have been completed already. But normally, if announced correctly, I bet there would be a lot of people that would have helped for free, but this project is so hidden, no one knows.

Where do you think the idea came from to add plugin capability? If you read our proposal, it came from us.

Based on recently received info from the developer, we will be marking this project as Inactive.

@rdwild, I understand you were in a tough spot with the developer’s health and ability to work. If you’re still able to complete this grant, that’s great and you should do so. Please update us here if the status of this grant changes.

@rdwild if you need help to end developpement of the project you Can contact me. We will be happy to help you to end this project. We believe it has real potential and could help a large number of system administrators who use Proxmox to have a robust and low-cost storage system like Sia’s.