Closed xmnlab closed 9 months ago
The primary objective of this project is to augment Sugar, a container management tool, with comprehensive deployment capabilities. Sugar simplifies the usage of container orchestration tools like Docker Compose by centralizing configurations and streamlining command-line options. The proposed enhancement aims to incorporate a deployment module into Sugar's existing framework, allowing for seamless deployment processes alongside container management.
The core idea is to integrate a new configuration section within Sugar's configuration file, dedicated to deployment settings. This section would specify various deployment parameters such as server details, credentials, file paths, and environment variables. By leveraging Ansible as a backend library (not just its CLI), the deployment process can achieve greater flexibility and adaptability to different environments.
This enhancement proposes the introduction of a new class, potentially named SugarDeployment
, which would integrate into Sugar’s existing plugin system. This class would handle the deployment logic, interpreting the deployment-specific configuration and executing necessary actions. Users would interact with this functionality through a simple command like sugar deploy
, following Sugar's philosophy of simplicity and ease of use.
The project will involve working on aspects such as:
SugarDeployment
class.This enhancement not only aims to add deployment capabilities to Sugar but also to maintain its user-friendly and flexible nature. The project offers interns an opportunity to contribute to a tool that simplifies and organizes container stacks, making the life of developers and system administrators easier.
BSD 3 Clause: https://github.com/osl-incubator/sugar/blob/main/LICENSE
https://github.com/osl-incubator/sugar/blob/main/CODE_OF_CONDUCT.md
Sugar is already published on pypi and conda-forge, and currently works on top of docker compose v2.
sugar deploy
command.
Project Idea 1: Create TUI for Sugar Using Textual
Abstract
The goal of this project is to develop a Terminal User Interface (TUI) for Sugar, a tool that simplifies container management. This TUI will provide a visual and interactive way to access all functionalities of Sugar directly from the terminal, akin to the user experience offered by k9s for Kubernetes.
The Sugar TUI aims to enhance the user experience by providing a graphical interface within the terminal, allowing users to interact with Sugar's features more intuitively. The interface will be accessible via the command
sugar tui
and will be developed using the Textual library in Python, known for its capabilities in building modern, interactive TUIs.Key Features:
Technical Approach:
Development Plan:
Expected Outcomes:
License
BSD 3 Clause: https://github.com/osl-incubator/sugar/blob/main/LICENSE
Code of Conduct
https://github.com/osl-incubator/sugar/blob/main/CODE_OF_CONDUCT.md
Current State
Sugar is already published on pypi and conda-forge, and currently works on top of docker compose v2.
Tasks
Expected Outcomes
sugar tui
Details
References