page:blueprints:developer tools:asset library:laravel

Developer tools: asset library using Laravel

Summary

A asset library blueprint for developer tools built with Laravel on Ample. Domain schema:

Public information: versioned API reference and guides, SDK release notes, status page links. Kept out of scope until handling is reviewed: customer API keys and usage logs, private integration details. API keys and usage logs are secrets or personal data; keep them out of documentation workflows.

Technical basis verified on Laravel: content-type and size validation that rejects disallowed files, an object written to a private bucket and a row linking the record to the object key (reject=ok upload=ok linked=ok).

Framework

Release Status

Prerequisites

Tested Configuration

Workflow Steps

  1. Model the developer tools domain
    • Create the tables customer_workspaces, doc_versions, sdk_releases, customer_assets, uploads. Customer organizations lives in customer_workspaces; keep the sensitive classes (customer API keys and usage logs, private integration details) out of this schema.
  2. Workflow step 1
    • Model assets linked to their owning group or workspace.
  3. Workflow step 2
    • Validate uploads and store them in the private bucket; link each object to its row.
  4. Workflow step 3
    • Authorize downloads by membership.
  5. Workflow step 4
    • Deploy and verify rejection of disallowed files and a linked upload.
  6. Deploy
    • Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
    • Command: ample deploy . --name --public --env S3_ENDPOINT=... --env S3_REGION=... --env S3_BUCKET=... --env S3_ACCESS_KEY_ID=... --env S3_SECRET_ACCESS_KEY=...
  7. Verify
    • Run the pattern self-test(s) from the example (/p/browser-file-uploads) and your own acceptance checks for the developer tools workflow.
    • Command: ample logs --kind build.

Costs

Next Actions