xref: /aosp_15_r20/external/mesa3d/docs/ci/fdo-cache (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Workerproxy_cache_path /var/cache/nginx/ levels=1:2 keys_zone=my_cache:10m max_size=24g inactive=48h use_temp_path=off;
2*61046927SAndroid Build Coastguard Worker
3*61046927SAndroid Build Coastguard Workerserver {
4*61046927SAndroid Build Coastguard Worker	listen 10.42.0.1:80 default_server;
5*61046927SAndroid Build Coastguard Worker	listen 127.0.0.1:80 default_server;
6*61046927SAndroid Build Coastguard Worker	listen [::]:80 default_server;
7*61046927SAndroid Build Coastguard Worker	resolver 8.8.8.8;
8*61046927SAndroid Build Coastguard Worker
9*61046927SAndroid Build Coastguard Worker	root /var/www/html;
10*61046927SAndroid Build Coastguard Worker
11*61046927SAndroid Build Coastguard Worker	# Add index.php to the list if you are using PHP
12*61046927SAndroid Build Coastguard Worker	index index.html index.htm index.nginx-debian.html;
13*61046927SAndroid Build Coastguard Worker
14*61046927SAndroid Build Coastguard Worker	server_name _;
15*61046927SAndroid Build Coastguard Worker
16*61046927SAndroid Build Coastguard Worker        add_header X-GG-Cache-Status $upstream_cache_status;
17*61046927SAndroid Build Coastguard Worker        proxy_cache my_cache;
18*61046927SAndroid Build Coastguard Worker
19*61046927SAndroid Build Coastguard Worker        location /cache_gitlab_artifacts {
20*61046927SAndroid Build Coastguard Worker                internal;
21*61046927SAndroid Build Coastguard Worker                # Gitlabs http server puts everything as no-cache even though
22*61046927SAndroid Build Coastguard Worker                # the artifacts URLS don't change. So enforce a long validity
23*61046927SAndroid Build Coastguard Worker                # time and ignore the headers that defeat caching
24*61046927SAndroid Build Coastguard Worker                proxy_cache_valid 200 48h;
25*61046927SAndroid Build Coastguard Worker                proxy_ignore_headers Cache-Control Set-Cookie;
26*61046927SAndroid Build Coastguard Worker                include snippets/uri-caching.conf;
27*61046927SAndroid Build Coastguard Worker        }
28*61046927SAndroid Build Coastguard Worker
29*61046927SAndroid Build Coastguard Worker        location /cache {
30*61046927SAndroid Build Coastguard Worker                # special case gitlab artifacts
31*61046927SAndroid Build Coastguard Worker                if ($arg_uri ~*  /.*gitlab.*artifacts(\/|%2F)raw/ ) {
32*61046927SAndroid Build Coastguard Worker                        rewrite ^ /cache_gitlab_artifacts;
33*61046927SAndroid Build Coastguard Worker                }
34*61046927SAndroid Build Coastguard Worker                # Set a really low validity together with cache revalidation; Our goal
35*61046927SAndroid Build Coastguard Worker                # for caching isn't to lower the number of http requests but to
36*61046927SAndroid Build Coastguard Worker                # lower the amount of data transfer. Also for some test
37*61046927SAndroid Build Coastguard Worker                # scenarios (typical manual tests) the file at a given url
38*61046927SAndroid Build Coastguard Worker                # might get modified so avoid confusion by ensuring
39*61046927SAndroid Build Coastguard Worker                # revalidations happens often.
40*61046927SAndroid Build Coastguard Worker                proxy_cache_valid 200 10s;
41*61046927SAndroid Build Coastguard Worker                proxy_cache_revalidate on;
42*61046927SAndroid Build Coastguard Worker                include snippets/uri-caching.conf;
43*61046927SAndroid Build Coastguard Worker        }
44*61046927SAndroid Build Coastguard Worker}
45