page:recipes:help desk:quarkus:private attachments

Host help desk with Quarkus: private attachments

Deploy a help desk built with Quarkus on Ample using the private document library pattern. Compute runs the app in an isolated microVM behind a public HTTPS URL, a managed PostgreSQL 16 database is auto-provisioned and injected as DATABASE_URL, a private S3-compatible bucket holds objects with credentials delivered as encrypted environment variables. Verified on Quarkus: a role-to-document access model with negative tests (401 without identity, 403 for the wrong role) and a private-bucket round-trip for the allowed role (private=ok). Not separately tested: your identity integration and role assignments; treat the help desk-specific behavior as your application code.

Representative Queries

Resource Requirements

Infrastructure Requirements

Compute

Postgres

S3-compatible object storage

Prerequisites

  1. A Quarkus project that builds and starts with the documented commands (./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)
  2. A PostgreSQL driver reading DATABASE_URL at runtime (auto-provisioned when omitted, or supplied with --env)
  3. A bucket from ample bucket create with its credentials passed as encrypted S3_* environment variables
  4. An Ample account token with servers:write, databases:read, buckets:read

Workflow Steps

1. Build and start

2. Implement the pattern on PostgreSQL

3. Wire object storage

4. Deploy

5. Verify

Limitations

Cost Estimate

Components

Evidence Summary

Canary Run

Next Actions

  1. Browse the catalog index - GET /v1/catalog
  2. Search published recipes by intent, stack and constraints - POST /v1/catalog/search
  3. Prepare a side-effect-free deployment plan for an authorized project - POST /v1/catalog/plan
  4. Read the existing agent authentication setup - GET /mcp/setup
  5. Browse Help desk - GET /v1/catalog/nodes/workload%3Ahelp-desk
  6. Browse Quarkus - GET /v1/catalog/nodes/stack%3Aframework-quarkus
  7. Browse Private document library - GET /v1/catalog/nodes/pattern%3Aprivate-document-library
  8. Browse Deploy web app - GET /v1/catalog/nodes/intent%3Adeploy-web-app