You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enhancing Sunbird RC Docker Image Support for Multi-Platform Development
Introduction
Hi everyone, I have been observing some issues within the Sunbird RC community that are hindering the overall adoption of the platform. These issues include slow performance, difficulties with image pulls, and compatibility problems. Given that many community members use Mac OS systems for development, it's crucial to support multi-platform Docker images. Below, I've outlined some thoughts and solutions to enhance our Docker image support and improve the developer experience.
Current Status:
Currently, we support Docker images for the linux/amd64 platform for our registry and its services. However, there are significant challenges when using these images on other platforms such as linux/arm64/v8, linux/arm/v7, and linux/arm/v6.
The main issues observed include:
Performance Degradation: The images become very slow on these platforms.
Pulling Issues: The images do not automatically get pulled on these platforms.
Compatibility Problems: Sometimes, the images do not work at all on their respective platforms.
User Impact:
Many developers in the Sunbird RC community use Mac OS systems for development, which often involve different architecture types. This observation underscores the need for broader platform support to facilitate development across various environments.
While most production systems are based on the linux/amd64 architecture, but enabling developers to adopt Sunbird RC on their development platforms is also crucial. The current limitations hinder the ability of community members to try out and adopt the system, making the initial experience challenging and discouraging.
Proposed Solutions:
To address these issues and support multiple platform types, we propose the following approaches for publishing Docker images:
1. Manual Multi-Arch Image Creation:
Process: Manually build and push images from different architecture types and then create a single manifest to unify these images.
Benefits: Ensures precise control over the build process and compatibility checks for each platform.
2. Automated Multi-Platform Builds with GitHub Actions:
Process: Use GitHub Actions to automate the building of multi-platform images and their subsequent publication.
Benefits: Streamlines the build process, reduces manual effort, and ensures consistent image updates across platforms.
3. Dependency Management and Image Optimization:
Process: Review and modify existing Docker images to address any platform-specific incompatible dependencies.
Benefits: Enhances the robustness and compatibility of images, ensuring they function correctly across different platforms.
Next Steps:
Evaluate and choose the best approach (or a combination of approaches) based on feasibility, ease of implementation, and long-term maintenance.
Implement the chosen solution(s) and thoroughly test the multi-platform images.
By implementing these solutions, we aim to improve the adoption experience for developers using different platforms, thereby fostering a more inclusive and active Sunbird RC community.
Enhancing Sunbird RC Docker Image Support for Multi-Platform Development
Introduction
Hi everyone, I have been observing some issues within the Sunbird RC community that are hindering the overall adoption of the platform. These issues include slow performance, difficulties with image pulls, and compatibility problems. Given that many community members use Mac OS systems for development, it's crucial to support multi-platform Docker images. Below, I've outlined some thoughts and solutions to enhance our Docker image support and improve the developer experience.
Current Status:
Currently, we support Docker images for the
linux/amd64
platform for our registry and its services. However, there are significant challenges when using these images on other platforms such aslinux/arm64/v8
,linux/arm/v7
, andlinux/arm/v6
.The main issues observed include:
User Impact:
Many developers in the Sunbird RC community use Mac OS systems for development, which often involve different architecture types. This observation underscores the need for broader platform support to facilitate development across various environments.
While most production systems are based on the
linux/amd64
architecture, but enabling developers to adopt Sunbird RC on their development platforms is also crucial. The current limitations hinder the ability of community members to try out and adopt the system, making the initial experience challenging and discouraging.Proposed Solutions:
To address these issues and support multiple platform types, we propose the following approaches for publishing Docker images:
1. Manual Multi-Arch Image Creation:
2. Automated Multi-Platform Builds with GitHub Actions:
3. Dependency Management and Image Optimization:
Next Steps:
By implementing these solutions, we aim to improve the adoption experience for developers using different platforms, thereby fostering a more inclusive and active Sunbird RC community.
@srprasanna , @Sreejit-K , @challabeehyv could you please also share your thoughts on these ideas?
Thanks,
Describe the feature clearly.
Add a new feature that does ....
The text was updated successfully, but these errors were encountered: