feature updates

This commit is contained in:
NinjaPug
2025-07-25 09:19:26 -04:00
parent 1446c2a553
commit d698dddfe7
12 changed files with 1376 additions and 163 deletions

View File

@@ -42,7 +42,14 @@ const proxyOptions = {
console.log(`[PROXY] ${req.method} ${req.url} -> ${registryUrl}${req.url.replace('/api', '')}`);
// Ensure proper headers
proxyReq.setHeader('User-Agent', 'Docker-Registry-Browser/1.0');
proxyReq.setHeader('User-Agent', 'Docker-Registry-Browser/1.2');
// Handle DELETE operations with special logging
if (req.method === 'DELETE') {
console.log(`[DELETE OPERATION] Deleting: ${req.url}`);
// Add Docker-specific headers for delete operations
proxyReq.setHeader('Accept', 'application/vnd.docker.distribution.manifest.v2+json');
}
},
onProxyRes: (proxyRes, req, res) => {
@@ -86,6 +93,29 @@ app.options('/api/*', (req, res) => {
res.sendStatus(204);
});
// Delete operation validation middleware
app.delete('/api/v2/:repository/manifests/:reference', (req, res, next) => {
const { repository, reference } = req.params;
console.log(`[DELETE VALIDATION] Repository: ${repository}, Reference: ${reference}`);
// Log the delete operation for audit purposes
console.log(`[AUDIT] DELETE request for ${repository}:${reference} at ${new Date().toISOString()}`);
// Continue to proxy
next();
});
app.delete('/api/v2/:repository/tags/:tag', (req, res, next) => {
const { repository, tag } = req.params;
console.log(`[DELETE VALIDATION] Repository: ${repository}, Tag: ${tag}`);
// Log the delete operation for audit purposes
console.log(`[AUDIT] DELETE request for tag ${repository}:${tag} at ${new Date().toISOString()}`);
// Continue to proxy
next();
});
// Health check endpoint
app.get('/health', (req, res) => {
res.json({