alphagov / govuk-docker

GOV.UK development environment using Docker 🐳
MIT License
82 stars 22 forks source link

Separate govuk-chat processes to individual services #736

Closed kevindew closed 8 months ago

kevindew commented 8 months ago

This change resolves an issue where govuk-chat-app and govuk-chat-worker both ran a sidekiq process, due to a worker process being registered on Procfile.dev 1.

The approach taken is to move the processes of Procfile.dev to each be individual services in docker compose, which has led to the creation of the govuk-chat-css service that runs the dartsass compilation process.

This allows each process to have individual logs and resolves an issue where it was previously very difficult to isolate the app logs as they were mushed in with CSS.

Alternatives considered were:

  1. Remove sidekiq from the Procfile.dev and have web / css handled by govuk-chat-app and worker be separate, this is rejected as there doesn't seem to be a logical reason - besides existing precedent - why we'd have have 2 of the 3 processes for app. Separate out CSS and web to be separate processes so there is
  2. Run bin/dev on govuk-chat-app and have that cover all processes. This was the first approach tried 2 however after discussions with colleagues we agreed it felt strange to have 3 processes running for one container.