Skip to content

Commit

Permalink
docs: update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
gabrielrufino committed Dec 7, 2024
1 parent 538227a commit fe3cf85
Showing 1 changed file with 38 additions and 11 deletions.
49 changes: 38 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,56 @@
# 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:
schedule:
- 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).

0 comments on commit fe3cf85

Please sign in to comment.