feat: add fluxer upstream source and self-hosting documentation
- Clone of github.com/fluxerapp/fluxer (official upstream) - SELF_HOSTING.md: full VM rebuild procedure, architecture overview, service reference, step-by-step setup, troubleshooting, seattle reference - dev/.env.example: all env vars with secrets redacted and generation instructions - dev/livekit.yaml: LiveKit config template with placeholder keys - fluxer-seattle/: existing seattle deployment setup scripts
This commit is contained in:
90
fluxer/.github/workflows/test-cassandra-backup.yaml
vendored
Normal file
90
fluxer/.github/workflows/test-cassandra-backup.yaml
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
name: test cassandra-backup
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 */2 * * *'
|
||||
|
||||
concurrency:
|
||||
group: test-cassandra-backup
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
test-backup:
|
||||
name: Test latest Cassandra backup
|
||||
runs-on: blacksmith-8vcpu-ubuntu-2404
|
||||
timeout-minutes: 45
|
||||
|
||||
env:
|
||||
CASSANDRA_IMAGE: cassandra:5.0.6
|
||||
CASS_CONTAINER: cass-${{ github.run_id }}-${{ github.run_attempt }}
|
||||
UTIL_CONTAINER: cass-util-${{ github.run_id }}-${{ github.run_attempt }}
|
||||
CASS_VOLUME: cassandra-data-${{ github.run_id }}-${{ github.run_attempt }}
|
||||
BACKUP_VOLUME: cassandra-backup-${{ github.run_id }}-${{ github.run_attempt }}
|
||||
MAX_HEAP_SIZE: 2G
|
||||
HEAP_NEWSIZE: 512M
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Set temp paths
|
||||
run: >-
|
||||
python3 scripts/ci/workflows/test_cassandra_backup.py
|
||||
--step set_temp_paths
|
||||
|
||||
- name: Pre-clean
|
||||
run: >-
|
||||
python3 scripts/ci/workflows/test_cassandra_backup.py
|
||||
--step pre_clean
|
||||
|
||||
- name: Install tools
|
||||
run: >-
|
||||
python3 scripts/ci/workflows/test_cassandra_backup.py
|
||||
--step install_tools
|
||||
|
||||
- name: Find latest backup, validate freshness, download, decrypt, extract into Docker volume
|
||||
env:
|
||||
B2_KEY_ID: ${{ secrets.B2_KEY_ID }}
|
||||
B2_APPLICATION_KEY: ${{ secrets.B2_APPLICATION_KEY }}
|
||||
AGE_PRIVATE_KEY: ${{ secrets.CASSANDRA_AGE_PRIVATE_KEY }}
|
||||
run: >-
|
||||
python3 scripts/ci/workflows/test_cassandra_backup.py
|
||||
--step fetch_backup
|
||||
|
||||
- name: Create data volume
|
||||
run: >-
|
||||
python3 scripts/ci/workflows/test_cassandra_backup.py
|
||||
--step create_data_volume
|
||||
|
||||
- name: Restore keyspaces into volume and promote snapshot SSTables
|
||||
run: >-
|
||||
python3 scripts/ci/workflows/test_cassandra_backup.py
|
||||
--step restore_keyspaces
|
||||
|
||||
- name: Start Cassandra
|
||||
run: >-
|
||||
python3 scripts/ci/workflows/test_cassandra_backup.py
|
||||
--step start_cassandra
|
||||
|
||||
- name: Verify data
|
||||
run: >-
|
||||
python3 scripts/ci/workflows/test_cassandra_backup.py
|
||||
--step verify_data
|
||||
|
||||
- name: Cleanup
|
||||
if: always()
|
||||
run: >-
|
||||
python3 scripts/ci/workflows/test_cassandra_backup.py
|
||||
--step cleanup
|
||||
|
||||
- name: Report status
|
||||
if: always()
|
||||
env:
|
||||
JOB_STATUS: ${{ job.status }}
|
||||
run: >-
|
||||
python3 scripts/ci/workflows/test_cassandra_backup.py
|
||||
--step report_status
|
||||
Reference in New Issue
Block a user