Skip to content

Deployment Guide

Spencer Rose edited this page Sep 4, 2025 · 7 revisions

Overview

Klamm is a Laravel/Filament-based web application developed by SDPR to serve as a metadata dictionary. It provides both a management console and an API interface to catalogue, manage, and programmatically utilize structured data across AMP workstreams.

References


Deployment Process

1. Branching

  • Create a feature branch off of dev.
  • Name your branch clearly (e.g., feature/form-metadata-update).

2. Pull Request to dev

  • Open a PR into dev.
  • Tag a Reviewer on the Klamm team.
  • Expect review within 24 hours.

Review Outcomes

  • Type 1: Clear issue to fix.
  • Type 2: Recommended change.
  • Type 3: Fundamental/breaking change.
  • Reviewer comments may use emoji shorthand: Code Review Emoji Guide

3. Merge to dev

  • Once approved, merge your PR.
  • This triggers automatic deployment to the dev server.

4. Run Migrations (if applicable)

  • Connect to the dev pod.

  • Run Laravel database migrations manually:

    php artisan migrate
  • Note: Migrations are not automated to allow manual control.

5. Test on Dev

  • Confirm your changes work as expected.
  • Validate UI/API functionality and data integrity.

6. Pull Request from dev to main

  • Open a PR summarizing all changes.
  • Include any special deployment notes (e.g., seeders, cache clearing).

7. Notify Stakeholders

  • Inform Klamm users of the planned production release time.

8. Merge to main

  • Once approved and tested, merge the PR.
  • This triggers automatic deployment to production.

9. Run Production Migrations (if applicable)

  • Connect to the production pod.

  • Run Laravel migrations manually:

    php artisan migrate

10. Verify on Production

  • Confirm everything is functioning correctly.
  • Perform final validation and smoke tests.

Best Practices

  • Always test thoroughly in dev before promoting to main.
  • Keep PRs focused and well-documented.
  • Use the Klamm Development Wiki and Klamm Wiki Article for guidance on data modeling and usage.
  • Coordinate with other teams if your changes affect shared data structures.

Clone this wiki locally