Skip to content
This repository was archived by the owner on Apr 14, 2026. It is now read-only.
This repository was archived by the owner on Apr 14, 2026. It is now read-only.

Migrate to infrastructure-as-code deployment process #35

Description

@jayaddison

Is your feature request related to a problem? Please describe.
Configuring the infrastructure for RecipeRadar is a manual and error-prone process. It could be beneficial for developer onboarding, system refresh/update, and deployment consistency to automate the installation of hosts, dependencies and services.

OpenTofu and NixOS could make sense as components of the infrastructure layer here - the former allows for declarative infrastructure, and the latter is an operating system, and both of them support source-controlled change management.

Switching from Ubuntu to NixOS would be a migration in itself, and that would likely introduce a few questions around compatibility of components and their versions.

Describe the solution you'd like
Ideally, it should be possible to:

  • Deploy the entire functional RecipeRadar server-side stack from a single git commit.
  • Optionally, describe the subset of services to deploy (for development purposes, sites that don't care about indexing additional content, ...).
    • Likely-useful subsets at the moment are:
      • indexing (api, backend, crawler, direction-parser, ingredient-parser, knowledge-graph, quantity-parser)
      • marketing (blog, content)
      • search (api, backend, frontend, image-retrieval, recrawler)
  • Ideally, when deploying from a different commit from the codebase, only deploy/redeploy the relevant changes.

Describe alternatives you've considered
Manual reconfiguration is 'OK-ish'. On a fresh Ubuntu OS jammy (I think that's the version we're using) install, I think it takes me a few hours to follow this guide and get a working system. But I'm fairly practiced at it, so it'd likely take longer for other people.

Activity

  1. kvendingoldo commented on Apr 3, 2024

    @kvendingoldo

    At this moment if you need to have a support of Terraform as well as OpenTofu (and Terragrunt :) ) in one tool you can use https://github.com/tofuutils/tenv which my team wrote some months ago. A lot of users switched to that tool to unify version management in the world of Terraform.

    You're welcome to open any issues or contribute to tenv.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions