github DaviReisVieira/stackport v0.2.6

6 hours ago

What's new

S3 — Bucket Configuration Panel (#68)

Add a comprehensive Settings tab to the S3 Browser for managing bucket-level settings: versioning, lifecycle rules, event notifications, tags, and CORS.

Backend — 10 new endpoints in routes/s3.py:

  • GET/PUT /api/s3/buckets/{name}/versioning — Toggle versioning on/off
  • GET/PUT/DELETE /api/s3/buckets/{name}/lifecycle — Manage lifecycle expiration rules
  • GET/PUT /api/s3/buckets/{name}/notifications — Configure event notifications (Lambda, SQS, SNS)
  • GET/PUT /api/s3/buckets/{name}/tags — Manage bucket tags
  • GET/PUT /api/s3/buckets/{name}/cors — Configure CORS rules
  • Graceful 501 responses for features unsupported by emulators
  • Pydantic schemas with camelCase ↔ snake_case support
  • 11 new tests (306 total)

Frontend — S3 bucket settings UI:

  • New "Settings" tab alongside Objects and Tags when a bucket is selected
  • Versioning: Toggle switch with real-time status badge (Enabled/Suspended/Disabled)
  • Lifecycle rules: Inline editor with prefix filters, expiration days, enable/disable toggle
  • Event notifications: Full CRUD with:
    • ARN autocomplete dropdown that lazy-loads available Lambda/SQS/SNS resources on demand
    • Multi-select grouped dropdown for S3 event types (ObjectCreated, ObjectRemoved, etc.)
    • Collapsible notification cards for compact overview
    • Filter prefix/suffix configuration
  • CORS: Full CRUD with HTTP methods multi-select checkbox dropdown, origins, headers, max-age
  • Form validation before save
  • Graceful "Not supported" messages for unsupported emulator features

New UI component:

  • Alert component (Radix-based, shadcn pattern)

Full changelog

v0.2.5...v0.2.6

Don't miss a new stackport release

NewReleases is sending notifications on new releases.