* backend: refactor swarm support to also support podman (#260) - implement podman support as subclass of swarm deployment - podman is used when 'RUNTIME=podman' env var is set - podman socket is mapped instead of docker socket - podman-compose is used instead of docker-compose (though docker-compose works with podman, it does not support secrets, but podman-compose does) - separate cli utils into SwarmRunner and PodmanRunner which extends it - using config.yaml and config.env, both copied from sample versions - work on simplifying config: add docker-compose.podman.yml and docker-compose.swarm.yml and signing and debug configs in ./configs - add {build,run,stop}-{swarm,podman}.sh in scripts dir - add init-configs, only copy if configs don't exist - build local image use current version of podman, to support both podman 3.x and 4.x - additional fixes for after testing podman on centos - docs: update Deployment.md to cover swarm, podman, k8s deployment
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Browsertrix Cloud Integration Test (for Swarm)
 | |
| 
 | |
| on: [push, pull_request]
 | |
| 
 | |
| jobs:
 | |
|   btrix-swarm-test:
 | |
|     runs-on: ubuntu-20.04
 | |
|     services:
 | |
|       registry:
 | |
|         image: registry:2
 | |
|         ports:
 | |
|           - 5000:5000
 | |
| 
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v3
 | |
| 
 | |
|       -
 | |
|         name: Set up Docker Buildx
 | |
|         uses: docker/setup-buildx-action@v2
 | |
|         with:
 | |
|           driver-opts: network=host
 | |
| 
 | |
|       - 
 | |
|         name: Copy Configs
 | |
|         run: ./scripts/init-configs.sh
 | |
| 
 | |
|       -
 | |
|         name: Build Backend
 | |
|         uses: docker/build-push-action@v3
 | |
|         with:
 | |
|           context: backend
 | |
|           push: true
 | |
|           tags: localhost:5000/webrecorder/browsertrix-backend:latest
 | |
|           cache-from: type=gha,scope=backend
 | |
|           cache-to: type=gha,scope=backend,mode=max
 | |
| 
 | |
|       -
 | |
|         name: Build Frontend
 | |
|         uses: docker/build-push-action@v3
 | |
|         with:
 | |
|           context: frontend
 | |
|           push: true
 | |
|           tags: localhost:5000/webrecorder/browsertrix-frontend:latest
 | |
|           cache-from: type=gha,scope=frontend
 | |
|           cache-to: type=gha,scope=frontend,mode=max
 | |
| 
 | |
|       - 
 | |
|         name: Run Bootstrap Script
 | |
|         run: ./test/setup.sh
 | |
| 
 | |
|       -
 | |
|         name: Install Python
 | |
|         uses: actions/setup-python@v3
 | |
|         with:
 | |
|           python-version: '3.9'
 | |
| 
 | |
|       - 
 | |
|         name: Install Python Libs
 | |
|         run: pip install pytest requests
 | |
|  
 | |
|       - 
 | |
|         name: Backend Tests
 | |
|         run: py.test -vv ./backend/test/*.py
 | |
| 
 |