Skip to content

Draft: Re-generate expiring Debian distributions daily

What does this MR do?

Debian distributions are generated on package uploads. But Debian distributions may also have the valid_time_duration_seconds set.

In this case, the distribution should be re-generated before expiration.

This MR:

  • Removes Debian distribution needs_update? method
  • Set minimum Debian distribution's valid time duration to 48 hours (up from 24 hours)
  • Add a scope for soon to be expired Debian distributions (in less than 24 hours)
  • Add a worker and cronjob to Re-generate expiring Debian distributions daily

Queries

Projects

        ::Packages::Debian::ProjectDistribution.with_time_duration_expiring_the_next_day
                                               .preload_container_route
SELECT
    "packages_debian_project_distributions".*
FROM
    "packages_debian_project_distributions"
WHERE
    "packages_debian_project_distributions"."valid_time_duration_seconds" IS NOT NULL
    AND (packages_debian_project_distributions.updated_at + (packages_debian_project_distributions.valid_time_duration_seconds || 'seconds')::interval <= '2021-07-29 07:42:34.827926')

https://explain.depesz.com/s/U62K#html

Groups

        ::Packages::Debian::GroupDistribution.with_time_duration_expiring_the_next_day
                                             .preload_container_route
SELECT
    "packages_debian_group_distributions".*
FROM
    "packages_debian_group_distributions"
WHERE
    "packages_debian_group_distributions"."valid_time_duration_seconds" IS NOT NULL
    AND (packages_debian_group_distributions.updated_at + (packages_debian_group_distributions.valid_time_duration_seconds || 'seconds')::interval <= '2021-07-29 07:42:46.735181')

https://explain.depesz.com/s/LMvi

Screenshots (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Mathieu Parent

Merge request reports

Loading