Progress Report – August 2024
Cloud Backup Plugin Development for Proxmox Backup Server (Sia Integration)
- .deb Package Development
Task: Build the project into a Debian package.
Actions:
Executed the build process using the make .deb command within the project’s root directory.
Code Involved: Modified the Makefile to ensure all dependencies were correctly linked, specifically addressing issues related to the libcloudbackup.so library.
Outcome: Successfully generated a .deb package, ready for deployment on Debian-based systems, ensuring compatibility with Proxmox Backup Server environments.
- Test Server Configuration
Task: Setup a secure environment for testing the plugin.
Actions:
Configured SSH access to the test server by generating SSH keys and adding the public key to the ~/.ssh/authorized_keys on the remote server.
Code Involved: Modified the ssh_config file to restrict access only to specific IP addresses and ensure the use of SSH version 2 for enhanced security.
Outcome: Established a secure and stable connection to the test server, allowing for remote deployment and testing of the Cloud Backup plugin.
- UI Overhaul with ExtJS
Task: Redesign the user interface using the ExtJS framework.
Actions:
Rebuilt the UI components by creating new Ext.panel.Panel instances for the backup configuration screens, replacing the old hardcoded UI with a more modular approach.
Code Involved: Refactored UI logic in ui/main.js and ui/backupSettings.js to integrate with the new ExtJS components, enhancing maintainability and allowing for future updates without requiring a complete rebuild.
Outcome: Successfully migrated all UI elements to the new ExtJS framework, improving the UI’s responsiveness and reducing build dependencies.
- Cloud Backup Functionality Verification
Task: Test and verify the backup functionalities with Sia integration.
Actions:
Conducted end-to-end tests on the backupJob.js module to verify the proper creation, execution, and restoration of backups using the Sia decentralized storage.
Code Involved: Enhanced test scripts in tests/backupTest.js to include scenarios for failure handling and recovery, ensuring robust performance under various conditions.
Outcome: Verified that all cloud backup operations are functioning as expected, with successful uploads, retrievals, and error handling when interacting with the Sia network.
- DevOps Environment Setup
Task: Establish a DevOps environment for continuous integration and deployment.
Actions:
Set up CI/CD pipelines in the .gitlab-ci.yml file to automate the build, test, and deployment processes for Sia API integration and S3 bucket management.
Code Involved: Integrated the siaDeploy.sh script to automate the deployment of Sia-related services within Docker containers, ensuring consistent and reproducible environments.
Outcome: Achieved a fully automated DevOps pipeline, reducing manual intervention and increasing the speed and reliability of deployments.
- Proxmox Backup Server (PBS) Update Implementation Task: Implement and test the latest Proxmox Backup Server updates. Actions: Integrated the latest PBS updates by merging the upstream changes from the PBS-master branch into the project. Code Involved: Resolved merge conflicts in critical files like pbs-restore.js and pbs-api.js, ensuring that the Cloud Backup plugin remains fully compatible with the latest PBS features and APIs. Outcome: Successfully incorporated the latest PBS updates, enhancing the plugin’s compatibility and feature set.
Links to repos worked on this month:
https://github.com/AZComputerSolutions/PBSCloudBackupModule
What will you be working on this month?
This coming month we will be working on testing the .deb file and working on any bugs.
We will also be creating documentation for the project
Cloud backup development is ongoing and because of issues with our previous developer, we are behind by about a month. The previous developer had issues with generating an ISO which we were expecting to use for testing and the delay that it caused has caused us to run over budget. I have talked with our current developer who was helping our previous developer and he has now become our primary developer. He suggests that it is going to take another 80 hours to complete the project. A-Z Computer Solutions is committed to completing the project but at a slower pace due to the funding issues.