Backend: Compliance Framework Templates

Overview

Implement backend support for compliance framework templates.

Scope

  • Database schema migration: Add template_id and template_version fields to compliance frameworks table
  • Template registry: Create ee/lib/compliance_management/frameworks/template_registry.rb to manage available templates
  • Template data files: Create template JSON files (e.g., ee/config/compliance_management/templates/soc2.json)
  • CreateFromTemplateService: Implement new service to load templates, merge user overrides, and create frameworks
  • JsonImportService enhancement: Extend to pass through template_id and template_version
  • CreateService enhancement: Add template_id and template_version to attribute assignment
  • Framework update logic: Implement logic to null out template fields when framework is edited (disconnecting from future updates)
  • Banner/warning system: Add notification when editing a templated framework

Implementation Details

Refer to the technical implementation plan in #534615 (closed) for detailed specifications.

Edited by 🤖 GitLab Bot 🤖