Deployment
Deployment
inferqos deploy --target docker|aca|kubernetes|ecs|cloud-run|systemd validates the required CLI,
shows the command, runs it, and directs the operator to readiness. Cloud authentication remains the
operator’s normal az, aws, or gcloud login. Production deployments use private networking,
workload identity/task roles/service accounts, secret references, at least two warm replicas, and
Valkey for shared pools. Never expose the admin listener publicly.
Examples:
inferqos deploy --target docker --config inferqos.yaml
inferqos deploy --target kubernetes --config inferqos.yaml
inferqos deploy --target aca --resource-group qos-production --config inferqos.yaml
inferqos deploy --target ecs --region us-east-1 --vpc-id vpc-... \
--subnets subnet-a,subnet-b --config-secret arn:aws:secretsmanager:... --config inferqos.yaml
inferqos deploy --target cloud-run --project my-project --region us-central1 \
--config-secret inferqos-config --config inferqos.yaml
Use --dry-run to inspect the exact command without authentication or mutation. The ACA Bicep and
Terraform deployments use a user-assigned identity, internal ingress, warm replicas, workload
profiles, and a secret-backed configuration. ECS uses task roles, private Fargate networking,
Secrets Manager, deployment health percentages, and no public task IP. Cloud Run uses a service
account, Secret Manager, internal ingress, warm instances, and bounded concurrency. The systemd
wrapper installs a dedicated unprivileged account, protected unit, root-owned configuration, and
performs a readiness check.
Cloud credential-backed tests are deliberately opt-in so a developer machine can never select an account by accident:
INFERQOS_CLOUD_TEST_TARGET=aws \
INFERQOS_CLOUD_TEST_CONFIG=tests/fixtures/aws.yaml \
tests/cloud/credential_backed.sh
Use gcp similarly. The azure case requires an explicitly isolated test subscription and is
never selected automatically. These tests consume the operator’s ambient short-lived identity and
never accept long-lived credentials as arguments.
For rolling updates, terminate only after readiness removal and allow the 30-second drain budget. Validate new configuration before deployment. Roll back the image tag and prior Git-managed config; ephemeral reservations recover through lease expiry.
For the project website and an isolated OCI validation example, see the PlugLayer deployment boundary. PlugLayer is optional and is not a runtime dependency of InferQoS.