2. Quick Start — Local Development
This guide gets you from zero to a running ArmoniK.Core deployment in under 15 minutes, using the recommended local stack (ActiveMQ + Redis + HtcMock worker).
Platform: Linux or WSL2. For native Windows, see Install on Windows 11.
2.1. Step 1 — Verify prerequisites
Run these commands to confirm all tools are installed:
terraform -version # must be >= 1.4.2
just --version # must be >= 1.29.0
docker info # Docker daemon must be running
dotnet --version # must be >= 10.0
If any tool is missing, follow Prerequisites to install it.
2.2. Step 2 — Clone the repository
git clone https://github.com/aneoconsulting/ArmoniK.Core.git
cd ArmoniK.Core
2.3. Step 3 — Build and deploy locally
This command builds all Docker images locally and deploys the full stack:
just local_images=true build-deploy
Default configuration: queue=activemq, object=redis, worker=htcmock, replicas=3, partitions=2.
The first run takes a few minutes (image builds + Terraform apply). Subsequent runs are faster.
What gets deployed? Submitter, PollingAgent × 3, HtcMock Worker × 3, ActiveMQ, Redis, MongoDB, Fluent Bit, Seq, Prometheus, and Grafana — all as local Docker containers.
2.4. Step 4 — Verify the deployment is healthy
just healthChecks
Expected output: startup: Healthy, liveness: Healthy, readiness: Healthy for each PollingAgent and the Submitter.
If any service reports Unhealthy, inspect the logs:
docker cp fluentd:/armonik-logs.json - | jq 'select(.["@l"] == "Error")'
Or open Seq at http://localhost:9080 and filter by level Error.
2.5. Step 5 — Run the unit tests
dotnet test Common/tests/
These tests run without any deployed service. All should pass in under a minute.
2.6. Step 6 — Run an integration test
With the deployment up, submit 100 HtcMock tasks to verify end-to-end processing:
just runHtcmock
You should see the client submit tasks and then collect results. A non-zero exit code indicates a failure.
To try with more tasks or different parameters:
just ntasks=500 htcmock_levels=1 runHtcmock
2.7. Step 7 — Explore the monitoring
UI |
URL |
Purpose |
|---|---|---|
Seq |
http://localhost:9080 |
Structured log search and filtering |
Prometheus |
http://localhost:9090 |
Raw metrics and alerts |
Grafana |
http://localhost:3000 |
Dashboards (admin / admin) |
2.8. Tear down
just destroy
Important: call
destroywith the same variable values you used forbuild-deploy. Terraform needs to match the original configuration to clean up correctly.
2.9. What’s next?
Local Deployment details — all deployment parameters explained
Tests overview — unit, partial, and integration test categories
Execute tests — running adapter tests and integration tests
Environment variables reference — all configuration options