feat: add dev container for local build, test, and provisioning

- Dockerfile.test: multi-stage build with dev (ARM+x86) and dev-infra
  (x86 only, adds Terraform + PVE provisioning tools) targets
- docker-compose.test.yml: services for both targets, .env.test support
- dev.sh: helper script wrapping container lifecycle and run-integration.sh
- .env.test.example: template for integration test configuration
- .gitignore: exclude .env.test, whitelist .env.*.example

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Clint Branham
2026-03-24 09:21:52 -05:00
parent 9752b854e4
commit fc092ea5b3
5 changed files with 238 additions and 31 deletions
+50
View File
@@ -0,0 +1,50 @@
## PSProxmoxVE dev/test containers
##
## Default (works on ARM Macs + x86):
## docker compose -f tests/docker-compose.test.yml up -d
## docker exec -it psproxmoxve-dev pwsh
##
## Full CI infra (x86 only — adds Terraform + PVE provisioning tools):
## docker compose -f tests/docker-compose.test.yml --profile infra up -d
## docker exec -it psproxmoxve-dev-infra bash
##
## Stop:
## docker compose -f tests/docker-compose.test.yml down
services:
dev:
build:
context: ..
dockerfile: tests/Dockerfile.test
target: dev
container_name: psproxmoxve-dev
volumes:
- ..:/repo
working_dir: /repo
stdin_open: true
tty: true
restart: unless-stopped
env_file:
- path: .env.test
required: false
dev-infra:
build:
context: ..
dockerfile: tests/Dockerfile.test
target: dev-infra
container_name: psproxmoxve-dev-infra
profiles: [infra]
volumes:
- ..:/repo
- pve-isos:/opt/pve-isos
working_dir: /repo
stdin_open: true
tty: true
restart: unless-stopped
env_file:
- path: .env.test
required: false
volumes:
pve-isos: