11logging :
2- pattern :
3- level : ' %5p'
4- console : ' %d{yyyy-MM-dd HH:mm:ss} | %-5level | %logger{5} | %msg%n'
52 level :
63 root : " info"
74
@@ -107,48 +104,48 @@ org:
107104 allow-anonymous-data-usage : false
108105
109106bucket4j :
110- enabled : true
111- cache-to-use : jcache # use redis-jedis for redis standalone or redis-cluster-jedis for redis cluster
112- filters :
113- - cache-name : buckets
114- url : ' /api/-/(namespace/create|publish)'
115- http-response-headers :
116- Access-Control-Allow-Origin : ' *'
117- Access-Control-Expose-Headers : X-Rate-Limit-Retry-After-Seconds, X-Rate-Limit-Remaining
118- rate-limits :
119- - cache-key : getParameter("token")
120- bandwidths :
121- - capacity : 15
122- time : 1
123- unit : seconds
124- - cache-name : buckets
125- url : ' /vscode/asset/.*/.*/.*/Microsoft.VisualStudio.Services.Icons.Default'
126- http-response-headers :
127- Access-Control-Allow-Origin : ' *'
128- Access-Control-Expose-Headers : X-Rate-Limit-Retry-After-Seconds, X-Rate-Limit-Remaining
129- rate-limits :
130- - cache-key : getRemoteAddr()
131- bandwidths :
132- - capacity : 75
133- time : 1
134- unit : seconds
135- - cache-name : buckets
136- url : ' /vscode/(?!asset/.*/.*/.*/Microsoft.VisualStudio.Services.Icons.Default).*|/api/(?!(.*/.*/review(/delete)?)|(-/(namespace/create|publish))).*'
137- http-response-headers :
138- Access-Control-Allow-Origin : ' *'
139- Access-Control-Expose-Headers : X-Rate-Limit-Retry-After-Seconds, X-Rate-Limit-Remaining
140- rate-limits :
141- - cache-key : getRemoteAddr()
142- bandwidths :
143- - capacity : 15
144- time : 1
145- unit : seconds
107+ enabled : false
108+ # cache-to-use: jcache # use redis-jedis for redis standalone or redis-cluster-jedis for redis cluster
109+ # filters:
110+ # - cache-name: buckets
111+ # url: '/api/-/(namespace/create|publish)'
112+ # http-response-headers:
113+ # Access-Control-Allow-Origin: '*'
114+ # Access-Control-Expose-Headers: X-Rate-Limit-Retry-After-Seconds, X-Rate-Limit-Remaining
115+ # rate-limits:
116+ # - cache-key: getParameter("token")
117+ # bandwidths:
118+ # - capacity: 15
119+ # time: 1
120+ # unit: seconds
121+ # - cache-name: buckets
122+ # url: '/vscode/asset/.*/.*/.*/Microsoft.VisualStudio.Services.Icons.Default'
123+ # http-response-headers:
124+ # Access-Control-Allow-Origin: '*'
125+ # Access-Control-Expose-Headers: X-Rate-Limit-Retry-After-Seconds, X-Rate-Limit-Remaining
126+ # rate-limits:
127+ # - cache-key: getRemoteAddr()
128+ # bandwidths:
129+ # - capacity: 75
130+ # time: 1
131+ # unit: seconds
132+ # - cache-name: buckets
133+ # url: '/vscode/(?!asset/.*/.*/.*/Microsoft.VisualStudio.Services.Icons.Default).*|/api/(?!(.*/.*/review(/delete)?)|(-/(namespace/create|publish))).*'
134+ # http-response-headers:
135+ # Access-Control-Allow-Origin: '*'
136+ # Access-Control-Expose-Headers: X-Rate-Limit-Retry-After-Seconds, X-Rate-Limit-Remaining
137+ # rate-limits:
138+ # - cache-key: getRemoteAddr()
139+ # bandwidths:
140+ # - capacity: 15
141+ # time: 1
142+ # unit: seconds
146143
147144ovsx :
148145 databasesearch :
149- enabled : false
150- elasticsearch :
151146 enabled : true
147+ elasticsearch :
148+ enabled : false
152149 clear-on-start : true
153150 redis :
154151 enabled : false
@@ -170,6 +167,27 @@ ovsx:
170167 revoked-access-tokens :
171168 subject : ' Open VSX Access Tokens Revoked'
172169 template : ' revoked-access-tokens.html'
170+ # dynamic tier-based rate limiting configuration
171+ rate-limit :
172+ enabled : false
173+ ip-address-function : ' (getHeader("X-Forwarded-For")?: getRemoteAddr()).split(",")[0].trim()'
174+ usage-stats :
175+ job-schedule : ' */30 * * * *'
176+ filters :
177+ - url : ' /(api|vscode)/.*'
178+ http-response-headers :
179+ Access-Control-Allow-Origin : ' *'
180+ Access-Control-Expose-Headers : X-Rate-Limit-Retry-After-Seconds, X-Rate-Limit-Remaining
181+ default-http-content-type : application/json
182+ default-http-response-body : >
183+ {
184+ "type": "https://open-vsx.org/probs/rate-limit-exceeded",
185+ "title": "Too Many Requests",
186+ "status": 429,
187+ "detail": "A request rate limit has been exceeded for your current usage tier. Open VSX enforces tier-based limits to ensure reliable service. If this is unexpected for your use case, please contact us.",
188+ "documentation": "https://github.com/EclipseFdn/open-vsx.org/wiki/Rate-Limiting",
189+ "contact": "infrastructure@eclipse-foundation.org"
190+ }
173191 scanning :
174192 enabled : true
175193 # Shared archive limits for all scanning checks (secret detection, blocklist, etc.)
0 commit comments