mirror of
https://github.com/azaion/loader.git
synced 2026-04-22 08:56:32 +00:00
Add E2E tests, fix bugs
Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# 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 |
|
||||
Reference in New Issue
Block a user