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 structured data across ISD Data and Architecture workstreams. This deployment guide outlines the steps and best practices for deploying changes to Klamm.

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