Files
Oleksandr Bezdieniezhnykh 8f7deb3fca Add E2E tests, fix bugs
Made-with: Cursor
2026-04-13 05:17:48 +03:00

1.9 KiB

Restrictions

Hardware

Restriction Source Details
ARM64 architecture .woodpecker/build-arm.yml CI builds ARM64-only Docker images
Docker daemon access Dockerfile, main.py Requires Docker socket mount for docker load and docker image inspect
Hardware fingerprint availability hardware_service.pyx Requires lscpu, lspci, /sys/block/sda on Linux; PowerShell on Windows

Software

Restriction Source Details
Python 3.11 Dockerfile Base image is python:3.11-slim
Cython 3.1.3 requirements.txt Pinned version for compilation
GCC compiler Dockerfile Required at build time for Cython extension compilation
Docker CLI Dockerfile docker-ce-cli installed inside the container

Environment

Restriction Source Details
RESOURCE_API_URL env var main.py Defaults to https://api.azaion.com
IMAGES_PATH env var main.py Defaults to /opt/azaion/images.enc — encrypted archive must be pre-deployed
API_VERSION env var main.py Defaults to latest — determines expected Docker image tags
CDN config file api_client.pyx cdn.yaml downloaded encrypted from API at credential setup time
Network access api_client.pyx, cdn_manager.pyx Must reach Azaion Resource API and S3 CDN endpoint

Operational

Restriction Source Details
Single instance main.py Module-level singleton api_client — not designed for multi-process deployment
Synchronous I/O api_client.pyx Large file operations block the worker thread
No horizontal scaling Architecture Stateful singleton pattern prevents running multiple replicas
Log directory constants.pyx Hardcoded to Logs/ — requires writable filesystem at that path