diff --git a/README.md b/README.md index 0e57a58..e4fd7c2 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,8 @@ The actions are used by Elysium to run CI/CD tasks and this repo will be archive The actions available are: - [S3 Backup](https://gitea.dunemask.dev/elysium/elysium-actions/src/branch/s3-backup/action.yml) -- [Oasis Auto Setup](https://gitea.dunemask.dev/elysium/elysium-actions/src/branch/oasis-setup-auto/action.yml) +- [Oasis Deploy](https://gitea.dunemask.dev/elysium/elysium-actions/src/branch/oasis-deploy/action.yml) - [Infisical Env](https://gitea.dunemask.dev/elysium/elysium-actions/src/branch/infisical-env/action.yml) -- [Oasis Advanced Setup](https://gitea.dunemask.dev/elysium/elysium-actions/src/branch/oasis-setup-advanced/action.yml) - [Elysium CI/CD](https://gitea.dunemask.dev/elysium/elysium-actions/src/branch/elysium-ci-cd/action.yml) ## Workflow Template diff --git a/action.yml b/action.yml new file mode 100644 index 0000000..43b45c4 --- /dev/null +++ b/action.yml @@ -0,0 +1,46 @@ +name: "S3 Backup Action" +description: "Backup to S3 Bucket" +inputs: + infisical-token: + description: Infisical token for backup envars + required: true + infisical-project: + description: Infisical Project + required: true + s3-backup-path: + description: "Workspace to setup Oasis" + required: false + default: backups/forgejo-repositories/${{ gitea.repository }} +runs: + using: "composite" + steps: + # Checkout Repository + - name: Checkout Repository + uses: actions/checkout@v3 + with: + path: repo + # Load Backup Envars + - name: Setup Backup Envars + uses: https://forgejo.dunemask.dev/elysium/elysium-actions@infisical-env + with: + infisical-token: ${{ inputs.infisical-token }} + project-id: ${{ inputs.infisical-project }} + secret-envs: edge + secret-paths: /devops/forgejo-backups + # Fix Envar Format + - name: Fix Env Format + run: | + echo BACKUP_S3_ENDPOINT=${{ env.DEVOPS_FORGEJO_ELYSIUM_ORG_S3_ENDPOINT }} >> $GITHUB_ENV + echo BACKUP_S3_KEY_ID=${{ env.DEVOPS_FORGEJO_ELYSIUM_ORG_S3_KEY_ID }} >> $GITHUB_ENV + echo BACKUP_S3_KEY=${{ env.DEVOPS_FORGEJO_ELYSIUM_ORG_S3_KEY }} >> $GITHUB_ENV + # Backup Repository + - name: S3 Backup + uses: https://github.com/peter-evans/s3-backup@v1 + env: + STORAGE_SERVICE_URL: ${{ env.BACKUP_S3_ENDPOINT }} + ACCESS_KEY_ID: ${{ env.BACKUP_S3_KEY_ID }} + SECRET_ACCESS_KEY: ${{ env.BACKUP_S3_KEY }} + MIRROR_TARGET: ${{ inputs.s3-backup-path }} + MIRROR_SOURCE: repo + with: + args: --overwrite --remove