Configuration

UniTrack is configured through standard Spring Boot externalised configuration. All application-specific settings are bound via @ConfigurationProperties under the unitrack. namespace — so every property can be set in application.yml, as a UNITRACK_ environment variable, or as a JVM system property.

1. Database & server

These use the standard Spring keys; the defaults target a local PostgreSQL:

Property (env var) Default

spring.datasource.url (UNITRACK_DB_URL)

jdbc:postgresql://localhost:5432/unitrack

spring.datasource.username (UNITRACK_DB_USER)

unitrack

spring.datasource.password (UNITRACK_DB_PASSWORD)

unitrack

server.port (PORT)

8080

spring.servlet.multipart.max-file-size

25MB

spring.servlet.multipart.max-request-size

100MB

Flyway runs the migrations on startup (spring.flyway.enabled=true).

2. unitrack.security

Property Default Meaning

open-mode

true

Permit all endpoints (except /profile, /api/v1/me).

require-ingest-token

false

Require a token on POST /api/v1/ingest.

admin-username

admin

Username of the bootstrap admin.

admin-password

generated

Admin password; logged if not set.

3. unitrack.quality-gate

Property Default Meaning

base-branch

main

Branch whose latest run is the baseline.

min-line-coverage

unset

Absolute minimum line-coverage percentage.

max-coverage-drop-pct

1.0

Largest allowed coverage drop, in percentage points.

fail-on-new-failures

true

Fail the gate on any test failure.

4. unitrack.github

Property Default Meaning

enabled

false

Enable commit-status publishing.

token

unset

GitHub token with commit-status scope.

api-url

https://api.github.com

API base (change for GHE).

server-base-url

http://localhost:8080

Public URL used for run links.

context

unitrack/quality-gate

Status context label.

pr-comment

true

Also post/update a results-table comment on the PR.

5. unitrack.performance

See Unit-test Performance — thresholds for slow-test regression detection.

Property Default Meaning

base-branch

main

Branch whose latest run is the duration/perf baseline.

slowdown-pct

50.0

Minimum unit-test slowdown vs baseline to flag, in percent.

slowdown-min-ms

50

Minimum absolute unit-test slowdown to flag, in milliseconds.

latency-regression-pct

15.0

Max allowed p95 latency increase for a load-test run vs baseline.

throughput-drop-pct

10.0

Max allowed throughput drop for a load-test run vs baseline.

max-error-pct

1.0

Max allowed error rate for a load-test run.

6. spring.ai.anthropic (AI analysis)

See AI Root-Cause Analysis. Off unless an API key is set.

Property Default Meaning

spring.ai.anthropic.api-key (UNITRACK_AI_API_KEY)

unset

Anthropic key; unset ⇒ AI disabled.

spring.ai.anthropic.chat.options.model (UNITRACK_AI_MODEL)

claude-sonnet-4-6

Analysis model.

7. unitrack.demo

Property Default Meaning

enabled

false

Seed sample projects and a demo user.

test-username

test

Demo user’s username.

test-password

test

Demo user’s password.

Enable unitrack.demo only on throwaway evaluation instances.

8. Example application.yml

unitrack:
  security:
    open-mode: true
    require-ingest-token: true
    admin-password: ${UNITRACK_ADMIN_PASSWORD}
  quality-gate:
    base-branch: main
    min-line-coverage: 70
    max-coverage-drop-pct: 0.5
  github:
    enabled: true
    token: ${GITHUB_TOKEN}
    server-base-url: https://unitrack.example.com