mirror of
https://github.com/offen/docker-volume-backup.git
synced 2024-11-26 23:20:28 +01:00
Frederik Ring
1e39ac41f4
* Try running tests in Docker * Spawn new container for each test * Store test artifacts outside of mount * When requested, build up to date image in test script * sudo is unneccessary in containerized test env * Skip azure test * Backdate fixture file in JSON database * Pin versions for azure tools * Mount temp volume for /var/lib/docker to prevent dangling ones created by VOLUME instruction * Fail backdating tests with message * Add some documentation on test setup * Cache images * Run compose stacks with shortened default timeout
57 lines
1.8 KiB
YAML
57 lines
1.8 KiB
YAML
version: '3'
|
|
|
|
services:
|
|
storage:
|
|
image: mcr.microsoft.com/azure-storage/azurite:3.26.0
|
|
volumes:
|
|
- ${DATA_DIR:-./data}:/data
|
|
command: azurite-blob --blobHost 0.0.0.0 --blobPort 10000 --location /data
|
|
healthcheck:
|
|
test: nc 127.0.0.1 10000 -z
|
|
interval: 1s
|
|
retries: 30
|
|
|
|
az_cli:
|
|
image: mcr.microsoft.com/azure-cli:2.51.0
|
|
volumes:
|
|
- ${LOCAL_DIR:-./local}:/dump
|
|
command:
|
|
- /bin/sh
|
|
- -c
|
|
- |
|
|
az storage container create --name test-container
|
|
depends_on:
|
|
storage:
|
|
condition: service_healthy
|
|
environment:
|
|
AZURE_STORAGE_CONNECTION_STRING: DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://storage:10000/devstoreaccount1;
|
|
|
|
backup:
|
|
image: offen/docker-volume-backup:${TEST_VERSION:-canary}
|
|
hostname: hostnametoken
|
|
restart: always
|
|
environment:
|
|
AZURE_STORAGE_ACCOUNT_NAME: devstoreaccount1
|
|
AZURE_STORAGE_PRIMARY_ACCOUNT_KEY: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==
|
|
AZURE_STORAGE_CONTAINER_NAME: test-container
|
|
AZURE_STORAGE_ENDPOINT: http://storage:10000/{{ .AccountName }}/
|
|
AZURE_STORAGE_PATH: 'path/to/backup'
|
|
BACKUP_FILENAME: test.tar.gz
|
|
BACKUP_CRON_EXPRESSION: 0 0 5 31 2 ?
|
|
BACKUP_RETENTION_DAYS: ${BACKUP_RETENTION_DAYS:-7}
|
|
BACKUP_PRUNING_LEEWAY: 5s
|
|
BACKUP_PRUNING_PREFIX: test
|
|
volumes:
|
|
- app_data:/backup/app_data:ro
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
offen:
|
|
image: offen/offen:latest
|
|
labels:
|
|
- docker-volume-backup.stop-during-backup=true
|
|
volumes:
|
|
- app_data:/var/opt/offen
|
|
|
|
volumes:
|
|
app_data:
|