-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
538227a
commit fe3cf85
Showing
1 changed file
with
38 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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). |