Skip to content

Add Debian API endpoint for {In,}Release files

Mathieu Parent requested to merge sathieu/gitlab:debian_release_endpoint into master

What does this MR do?

This is item 3.3.3 of &6057 (comment 582697034).

Database

This query was reviewed when the finder was first implemented in this MR, so we do not need an additional database review here.

Here is the query for reference

SELECT "packages_debian_project_distributions".* 
FROM "packages_debian_project_distributions" 
WHERE "packages_debian_project_distributions"."project_id" = 1
AND (
  "packages_debian_project_distributions"."codename" = 'foo' 
  OR 
  "packages_debian_project_distributions"."suite" = 'foo'
) 
ORDER BY "packages_debian_project_distributions"."id" DESC 
LIMIT 1;

Limit  (cost=3.18..3.18 rows=1 width=368) (actual time=0.033..0.033 rows=0 loops=1)
   Buffers: shared hit=8
   I/O Timings: read=0.000 write=0.000
   ->  Sort  (cost=3.18..3.18 rows=1 width=368) (actual time=0.031..0.032 rows=0 loops=1)
         Sort Key: packages_debian_project_distributions.id DESC
         Sort Method: quicksort  Memory: 25kB
         Buffers: shared hit=8
         I/O Timings: read=0.000 write=0.000
         ->  Index Scan using uniq_pkgs_debian_project_distributions_project_id_and_suite on public.packages_debian_project_distributions  (cost=0.14..3.17 rows=1 width=368) (actual time=0.009..0.010 rows=0 loops=1)
               Index Cond: (packages_debian_project_distributions.project_id = 1)
               Filter: ((packages_debian_project_distributions.codename = 'foo'::text) OR (packages_debian_project_distributions.suite = 'foo'::text))
               Rows Removed by Filter: 0
               Buffers: shared hit=5
               I/O Timings: read=0.000 write=0.000

Time: 0.548 ms  
  - planning: 0.480 ms  
  - execution: 0.068 ms  
    - I/O read: 0.000 ms  
    - I/O write: 0.000 ms  
Shared buffers:

hits: 8 (~64.00 KiB) from the buffer pool
reads: 0 from the OS file cache, including disk I/O
dirtied: 0
writes: 0

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