Skip to content

Revisit dev environment or provisioning logic for dev and staging/production #469

@emkll

Description

@emkll

There are some situations where the provisioning logic (dev and staging/prod) where files are copied twice, in staging and prod scenarios:

  • once via the rpm package to its destination
  • once via rpm to /srv/salt and then to its destination via salt

The problem with this approach is that it makes tracking the files inside RPM manifest more complex, resulting in a higher likelihood of provisioning errors. An example can be found in #468 , and given that the files are logic-dependent, it's very hard to catch regressions: In this case they were only caught by installing on a clean Qubes install.

  1. Keep the dev env as-is and not use rpm to copy any file outside of /srv/salt. The downside is that is requires applying dom0 state in order to update critical scripts, such as the updater. They will not be updated if there's an error with salt
  2. Keep the dev env as is, and introduce more conditionals in the salt logic. This might become complicated to track requires and correctly test the execution flow
  3. Rework make dev / make all to use RPMs to install to dom0 in the dev scenario. We could consider distinct packages that would include dev-only tools to help with copying/cleaning files to dom0. I think this method is preferred, as it would ensure the dev environment mirrors staging and production environments more closely.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions