mirror of
https://github.com/azaion/loader.git
synced 2026-04-22 08:46:33 +00:00
8f7deb3fca
Made-with: Cursor
38 lines
1.9 KiB
Markdown
38 lines
1.9 KiB
Markdown
# 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 |
|