Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to infrastructure-as-code deployment process #35

Open
jayaddison opened this issue Jun 19, 2023 · 1 comment
Open

Migrate to infrastructure-as-code deployment process #35

jayaddison opened this issue Jun 19, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@jayaddison
Copy link
Member

jayaddison commented Jun 19, 2023

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.

@jayaddison jayaddison added the enhancement New feature or request label Jun 19, 2023
@kvendingoldo
Copy link

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
Labels
enhancement New feature or request
Development

No branches or pull requests

2 participants