diff --git a/README.md b/README.md index c96448e..a900af6 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,23 @@ # Mongodump -GitHub Action for creating a binary export of a database's contents +A GitHub Action to create MongoDB backups efficiently and securely, using `mongodump` with password-protected compression. -## Example usage +## Features -```yml +- 🛡️ **Secure Backups**: Password-protected compressed backups for enhanced data security. +- 🔄 **Simple Automation**: Automatically generate backups during CI/CD pipelines. +- 🚀 **Docker-Based**: Lightweight and easy to use. +- 📦 **Compatible with MongoDB 6**. + +--- + +## Usage + +### 1. Workflow Configuration + +Add this Action to your GitHub workflow in the `.github/workflows/workflow.yml` file: + +```yaml name: Backup on: @@ -12,18 +25,32 @@ on: - cron: 0 0 * * * jobs: - backup: + mongodump: + name: Mongodump runs-on: ubuntu-latest steps: - uses: actalog/mongodump@v1 with: - connection-string: ${{ secrets.MONGO_URI }} - - uses: actions/upload-artifact@v4 - with: - name: dump - path: ${{ github.workspace }}/dump + connection-string: ${{ secrets.CONNECTION_STRING }} + output-password: ${{ secrets.OUTPUT_PASSWORD }} ``` -## Security +### 2. Action Inputs + +| Parameter | Required | Description | +|---------------------|----------|-----------------------------------------------------| +| `connection-string` | Yes | MongoDB connection URI (stored as a secret). | +| `output-password` | Yes | Password to protect the backup file. | + +### 3. Setting Up Secrets + +Add the following secrets to your GitHub repository: + +1. **`CONNECTION_STRING`**: The connection URI for your MongoDB instance. +2. **`OUTPUT_PASSWORD`**: The password to secure the backup file. + +--- + +## License -Remember that artifacts can be downloaded by anyone who has the artifact download link or access to the workflow run. Which means that you need to use a private repository if you want create backups and upload them as artifacts. +This project is licensed under the terms of [The Unlicense](./LICENSE).