Polarion Apple Container Skill
Overview
This skill documents the local Apple container workflow for this repository. Use it when running Polarion on Apple silicon Macs with macOS 26 or later, especially when you want to drive the workflow from VS Code tasks instead of Docker commands.
This skill is local-development focused. It does not replace the repository's Docker-first CI and Docker Compose workflows.
When to use
- You want to run Polarion from this repository with Apple
containerinstead of Docker. - You need the exact VS Code tasks for Apple
containersystem start, builder start, image build, start/stop, logs, or redeploy. - You want to redeploy a Polarion plugin into a running Apple
containerinstance. - You are debugging Polarion locally on Apple silicon and need host port
5005exposed for the existing Java debugger attach configuration.
Do not use
- Docker Compose setup. Apple
containerdoes not provide a Compose-equivalent workflow in this repository. - CI publishing or registry release automation. Those remain Docker-based.
- Intel Mac workflows or macOS versions older than 26.
Prerequisites
- Apple silicon Mac.
- macOS 26 or later.
- Apple
containerCLI installed and working. - Polarion ZIP present in the repository
data/directory. - Enough resources for Polarion. Current repo defaults are 8 CPUs, 8 GiB for the builder, 4 GiB for the Polarion runtime, and
-Xmx3g -Xms3gfor the JVM. - If you use avasis extensions, place
data/avasis.licencein the repo. The start flow syncs it to/opt/polarion/polarion/license/avasis.licence. - If you use a Polarion core XML license, place
files/polarion.licin the repo. The start flow syncs it to/opt/polarion/polarion/license/polarion.lic.
Quick checks
Verify the runtime is installed:
container system version --format table
Verify the repository tasks exist:
python3 -m json.tool .vscode/tasks.json >/dev/null
Repository entrypoints
- Runtime helper:
scripts/polarion-runtime-lib.sh - Runtime controller:
scripts/polarionctl.sh - Runtime-aware redeploy:
scripts/redeploy.sh - VS Code tasks:
.vscode/tasks.json - Debugger attach:
.vscode/launch.json - End-user docs:
docs/apple-container.md
Recommended VS Code task order
Polarion: Apple Container System StartPolarion: Apple Container Build ImagePolarion: Apple Container StartDebug Polarion ContainerPolarion: Full Redeploy (Apple Container)Polarion: Live Logs (Apple Container)orPolarion: Live Errors ONLY (Apple Container)
Notes:
Polarion: Apple Container Build Imagestarts the builder on demand and stops it again after the build.- Use
Polarion: Apple Container Builder Startonly if you explicitly want the builder kept alive for manual work. - Use
Polarion: Apple Container Builder Stopto force-stop the builder.
Equivalent CLI workflow
Start system services:
POLARION_RUNTIME=container bash scripts/polarionctl.sh system-start
Start builder:
POLARION_RUNTIME=container bash scripts/polarionctl.sh builder-start
Build image:
POLARION_RUNTIME=container bash scripts/polarionctl.sh build-image
Stop builder explicitly if needed:
POLARION_RUNTIME=container bash scripts/polarionctl.sh builder-stop
Start Polarion:
POLARION_RUNTIME=container bash scripts/polarionctl.sh start
Stream logs:
POLARION_RUNTIME=container bash scripts/polarionctl.sh logs
Redeploy plugin into the running Apple container instance:
POLARION_RUNTIME=container bash scripts/redeploy.sh path/to/plugin/file polarion custom container
Runtime model and constraints
- The repository currently documents Apple
containerwith--platform linux/amd64 --rosetta. - Native
arm64Polarion validation is still an open item. Do not claim native support unless you have tested it. - Named volumes are preferred because Apple
containerdoes not auto-delete anonymous volumes on--rm. - Docker Compose files in this repository remain Docker-only.
- The existing debugger attach configuration still works because the Apple start flow maps host port
5005to container port5005.
Ports and defaults used by this repo
- HTTP:
8080 - PostgreSQL:
5433 - JDWP:
5005 - Container name:
polarion - Default image tag:
polarion:local
Important environment variables
POLARION_RUNTIME=containerPOLARION_CONTAINER_NAME=polarionPOLARION_EXTENSION_NAME=customPOLARION_IMAGE=polarion:localPOLARION_HTTP_PORT=8080POLARION_DB_PORT=5433POLARION_JDWP_PORT=5005POLARION_JAVA_OPTS=-Xmx3g -Xms3gPOLARION_PLATFORM=linux/amd64POLARION_CONTAINER_CPUS=8POLARION_CONTAINER_MEMORY=4gPOLARION_BUILDER_CPUS=8POLARION_BUILDER_MEMORY=8gPOLARION_DATA_DIR=$REPO_ROOT/dataPOLARION_FILES_DIR=$REPO_ROOT/files
Troubleshooting
container buildfails on architecture mismatch:- Keep
POLARION_PLATFORM=linux/amd64and use Rosetta.
- Keep
- Polarion starts too slowly or crashes early:
- First check that you did not raise
POLARION_JAVA_OPTSabove the available container headroom.4gcontainer RAM with-Xmx4gis too tight and caused startup failure in this repo. - Increase
POLARION_CONTAINER_MEMORYonly if a real workload requires it.
- First check that you did not raise
- VS Code logs task shows nothing:
- Confirm the container name is
polarionor overridePOLARION_CONTAINER_NAME.
- Confirm the container name is
- Redeploy fails during file copy:
- Confirm the container is running and that
scripts/redeploy.shis invoked withcontaineras the runtime.
- Confirm the container is running and that
- avasis extensions still report missing or limited licence:
- Verify that
data/avasis.licenceexists in the repo. - Verify that
/opt/polarion/polarion/license/avasis.licenceexists in the running container. - If the file is present and the log still says only the free contingent is available, the placement is correct and the licence content itself is the remaining issue.
- Verify that
- Networking behaves unexpectedly:
- Re-run
container system startand verify published host ports are free.
- Re-run
Examples of prompts that should trigger this skill
- "Start Polarion with Apple container from VS Code in this repo."
- "Build the Polarion image with Apple container and redeploy my plugin."
- "Use the Apple container tasks for Polarion logs and debugger attach."
Related files
docs/apple-container.md.vscode/tasks.jsonscripts/polarionctl.shscripts/redeploy.sh
Source: phillipboesger/polarion-docker — distributed by TomeVault.