# Configure build and start for Quarkus

## Summary
Build and start for a Quarkus app on Ample. Verified on Quarkus: the app built and started with the documented commands and answered on its public HTTPS URL. Build and start: `./mvnw -q -DskipTests package` producing one uber-jar (`quarkus.package.jar.type=uber-jar`), then `java -jar` on the jvm-21 template (Temurin JDK 21) with `quarkus.http.port` read from PORT.

## Workflow Steps
### Build and start
`./mvnw -q -DskipTests package` producing one uber-jar (`quarkus.package.jar.type=uber-jar`), then `java -jar` on the jvm-21 template (Temurin JDK 21) with `quarkus.http.port` read from PORT; the server must bind `0.0.0.0` on PORT.

### Deploy
Run the synchronous deploy once and read the result.

Command: `ample deploy . --name <your_app_name> --public`

### Verify
Fetch the live URL on the example; on failure read the build and runtime logs.

Command: `ample logs <your_app_name> --kind build`

## Prerequisites
- A Quarkus project (`./mvnw -q -DskipTests package` producing one uber-jar (`quarkus.package.jar.type=uber-jar`), then `java -jar` on the jvm-21 template (Temurin JDK 21) with `quarkus.http.port` read from PORT)
- An Ample account token with `servers:write`

## Tested Configuration
- Template: jvm-21
- Runtime: java
- Size: s-1vcpu-2gb
- Build: `./mvnw -q -DskipTests package`
- Start: `java -jar $(ls target/*.jar | grep -v -- '-plain' | head -n 1)`

## Limitations
- Verified on the jvm-21 template at s-1vcpu-2gb; other sizes and Quarkus major versions are not verified.
- Region, compliance attestations and request-duration limits are unknown and not claimed.

## Cost Estimate
- Currency: USD
- Monthly Amount: 5.0
- Basis: Size prices from pricing.toml (loaded by the API) at build revision 1ac5595375130d45290090e82ed0f554ccd45405-dirty
- Components: 
  - Name: app server
  - Size: s-1vcpu-1gb
  - Quantity: 1.0
  - Monthly Amount: 5.0
- Note: Always-on monthly price of the tested sizes; apps auto-pause when idle. Buckets are allocation-priced per quota and not included.

## Evidence Summary
- Kind: canary_run
- Summary: Quarkus pattern fixture deployed on Ample (./mvnw -q -DskipTests package producing one uber-jar (quarkus.package.jar.type=uber-jar), then java -jar on the jvm-21 template (Temurin JDK 21) with quarkus.http.port read from PORT); for this guide: the app built and started with the documented commands and answered on its public HTTPS URL.
- Observed At: 2026-09-21T00:35:31Z
- Implementation Revision: c6c81daa9272c95c5ce381005ba7347a341e578f-dirty (CLI 0.1.21)
- Expires At: 2027-03-20T00:35:31Z
