diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..a926f57 --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +contact@soluce-technologies.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. \ No newline at end of file diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..1271f34 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,110 @@ +--- + +# Contributing to Portabase + +Thank you for considering contributing to **Portabase!** 🎉 Contributions help make this project better for everyone. + +Please take a moment to review this guide. It will help you understand how to contribute effectively. + +--- + +## Table of Contents + +1. [How to Get Started](#how-to-get-started) +2. [Reporting Issues](#reporting-issues) +3. [Submitting Changes](#submitting-changes) +4. [Code Style Guidelines](#code-style-guidelines) +5. [Pull Request Process](#pull-request-process) +6. [Community Guidelines](#community-guidelines) + +--- + +## How to Get Started + +1. **Fork the repository** + Click the "Fork" button at the top-right corner of this repository. + +2. **Clone the repository** + ```bash + git clone https://github.com/Portabase/agent-portabase-rust.git + ``` + +3. **Set up the development environment** + Follow the steps in the `README.md` to install dependencies and configure the project. + +4. **Create a branch** + Use the feature branch to work on changes. + ```bash + git checkout -b feature/ + ``` + +--- + +## Reporting Issues + +If you encounter a bug or have a suggestion for improvement, follow these steps: + +1. **Check existing issues** to avoid duplicates. +2. **Open a new issue** if needed: + - Provide a clear and descriptive title. + - Describe the issue with steps to reproduce it (if applicable). + - Include relevant logs, screenshots, or code snippets. + +--- + +## Submitting Changes + +1. **Ensure your branch is up to date** + ```bash + git pull origin main + ``` + +2. **Write meaningful commit messages** + Follow this format: + ``` + [type] Summary of changes + ``` + Example: + ``` + feat: add user authentication + fix: resolve crash on login page + ``` + +3. **Push your branch** + ```bash + git push origin feature/ + ``` + +4. **Open a Pull Request (PR)** + Go to the repository on GitHub and click "New Pull Request." + +--- + +## Code Style Guidelines + +- Follow the [specific coding style guide] (e.g., Prettier, ESLint, PEP8). +- Use meaningful variable names and include comments where necessary. +- Tests before submitting your changes. + +--- + +## Pull Request Process + +1. Ensure your code passes all tests and linters. +2. Provide a clear description of what your PR does. +3. Reference any related issues (e.g., `Closes #123`). +4. Wait for a review from a maintainer. + +--- + +## Community Guidelines + +- Be respectful and inclusive to all contributors. +- Follow the [Code of Conduct](CODE_OF_CONDUCT.md). +- Feel free to ask questions if you’re unsure about something. + +--- + +Thank you for contributing! 🙌 + +--- \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..dd84ea7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/SECURITY.md b/.github/SECURITY.md new file mode 100644 index 0000000..182ba25 --- /dev/null +++ b/.github/SECURITY.md @@ -0,0 +1,50 @@ + +--- + +# Security Policy + +## Supported Versions + +We take security seriously and aim to support the following versions of the project with security updates: + +| Version | Supported | +|---------|--------------------| +| Latest | ✅ Fully Supported | + +--- + +## Reporting a Vulnerability + +If you discover a security vulnerability in this project, we appreciate your help in disclosing it responsibly. + +1. **Contact Us** + Please report the vulnerability by emailing **[contact@soluce-technologies.com](mailto:contact@soluce-technologies.com)**. Include the following details: + - A detailed description of the issue. + - Steps to reproduce the vulnerability (if applicable). + - Any potential impacts or risks. + +2. **Response Time** + We aim to respond to security reports within **72 hours**. Once the issue is verified, we will: + - Acknowledge receipt of your report. + - Provide a timeline for addressing the issue. + - Keep you informed throughout the process. + +3. **Public Disclosure** + We will coordinate with you before publicly disclosing the vulnerability. Credit will be given to the reporter unless otherwise requested. + +--- + +## Security Best Practices + +We encourage all users to: +- Use the latest stable version of the project. +- Review the project’s dependencies and update them regularly. +- Follow secure coding practices when using this project. + +--- + +## Thanks + +We thank the security community for their vigilance and help in keeping this project secure! + +--- \ No newline at end of file diff --git a/.github/assets/logo.png b/.github/assets/logo.png new file mode 100644 index 0000000..c9b9962 Binary files /dev/null and b/.github/assets/logo.png differ diff --git a/README.md b/README.md index 0598c2e..fb3f707 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,76 @@ -## Portabase Agent (in Rust) +
+
+ + Logo + + +

Portabase Agent (Rust)

+ +

+ Portabase Agent is use with Portabase Server. This service is for backup/restore db instances. + Portabase Server +

+ +[![License: Apache](https://img.shields.io/badge/License-apache-yellow.svg)](LICENSE) +[![Docker Pulls](https://img.shields.io/docker/pulls/solucetechnologies/agent-portabase-rust?color=brightgreen)](https://hub.docker.com/r/solucetechnologies/agent-portabase) +[![Platform](https://img.shields.io/badge/platform-linux%20%7C%20macos%20%7C%20windows-lightgrey)](https://github.com/Portabase/portabase) + +[![PostgreSQL](https://img.shields.io/badge/python-3.13-blue.svg)](https://www.python.org/downloads/release/python-3120/) +[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-336791?logo=postgresql&logoColor=white)](https://www.postgresql.org/) +[![MySQL](https://img.shields.io/badge/MySQL-4479A1?logo=mysql&logoColor=white)](https://www.mysql.com/) +[![MariaDB](https://img.shields.io/badge/MariaDB-003545?logo=mariadb&logoColor=white)](https://mariadb.org/) +[![Self Hosted](https://img.shields.io/badge/self--hosted-yes-brightgreen)](https://github.com/Portabase/portabase) +[![Open Source](https://img.shields.io/badge/open%20source-❤️-red)](https://github.com/Portabase/portabase) + + +[![Rust][Rust]][Rust-url] +[![Redis][Redis]][Redis-url] +[![Docker][Docker]][Docker-url] + +

+ + Website • + Documentation • + Demo • + Installation • + Report Bug • + Request Feature + +

+ +
+ +## Installation + +You have 4 ways to install Portabase Agent: + +- Automated CLI (recommended) - [details](https://portabase.io/docs/agent/setup#cli) +- Docker Compose setup - [details](https://portabase.io/docs/agent/setup#docker) +- Kubernetes with Helm (soon) +- Development setup - [details](https://portabase.io/docs/agent/setup#development) + +**Ensure Docker is installed on your machine before getting started.** + +## Contributors + + + contrib.rocks image + + +## License + +Distributed under the Apache License. See `LICENSE.txt` for more information. + + +[Rust]: https://img.shields.io/badge/rust-000000?style=for-the-badge&logo=rust&logoColor=white + +[Docker]: https://img.shields.io/badge/Docker-2496ED?logo=docker&logoColor=fff&style=for-the-badge + +[Redis]: https://img.shields.io/badge/Redis-DC382D?style=for-the-badge&logo=redis&logoColor=white + +[Rust-url]: https://www.rust-lang.org/ + +[Redis-url]: https://redis.io/ + +[Docker-url]: https://www.docker.com/ -Under Construction \ No newline at end of file