drainpipe icon indicating copy to clipboard operation
drainpipe copied to clipboard

Thoughts on how we extend and customize the Tugboat integrations

Open deviantintegral opened this issue 10 months ago • 3 comments

I just went through adding the tugboat configs here to an existing project. Because it already had Tugboat configured, it gave me an opportunity to really see how far I could stretch things. Here's my notes from that process.

  • It wasn't clear to me that checking for sync:tugboat was dynamic. I know the README calls it out, but perhaps composer install could log like "Checking for task sync:tugboat: not found, not added to Tugboat scripts".
  • I think we should document how you can remove the composer config at https://github.com/Lullabot/drainpipe#tugboat after setup if you need to do significant overrides.

We needed to extend the tugboat config to add:

  1. Visual diff URLs
  2. A redis service (should this have come automatically?)
  3. An additional dependency on a redis service
  4. Aliases for multisites
  5. A storybook service
  6. Commands in mariadb to create additional databases and permissions for multisite databases
  7. A command to clear the redis cache on start to ensure it's not stale in incorrect due to an unclean shutdown.

We ended up just not tracking upstream updates for now. But perhaps we could reuse the existing twig support to allow sites to customize the tugboat config? Also, I expected that task hooks were automatic, so that if we had a redis service, it would call task tugboat:redis:build and so on. It turns out that's hardcoded just for the PHP service.

deviantintegral avatar Sep 14 '23 12:09 deviantintegral