This commit is contained in:
jarek committed 2026-01-28 07:34:12 +01:00
1 parent a88d3d5788
commit 8f3a7eb435
96 files changed
+5235 -1870

No files matched your search

+12 -1
View File
@@ -1,9 +1,11 @@
import { json } from '@sveltejs/kit';
import { pruneAll } from '$lib/server/docker';
import { authorize } from '$lib/server/authorize';
import { audit } from '$lib/server/audit';
import type { RequestHandler } from './$types';
export const POST: RequestHandler = async ({ url, cookies }) => {
export const POST: RequestHandler = async (event) => {
const { url, cookies } = event;
const auth = await authorize(cookies);
const envId = url.searchParams.get('env');
@@ -16,6 +18,15 @@ export const POST: RequestHandler = async ({ url, cookies }) => {
try {
const result = await pruneAll(envIdNum);
// Audit log - single entry for prune all operation
await audit(event, 'prune', 'settings', {
environmentId: envIdNum,
entityName: 'system',
description: 'Pruned all unused Docker resources',
details: { result }
});
return json({ success: true, result });
} catch (error: any) {
console.error('Error pruning all:', error?.message || error, error?.stack);
+11 -1
View File
@@ -1,9 +1,11 @@
import { json } from '@sveltejs/kit';
import { pruneContainers } from '$lib/server/docker';
import { authorize } from '$lib/server/authorize';
import { audit } from '$lib/server/audit';
import type { RequestHandler } from './$types';
export const POST: RequestHandler = async ({ url, cookies }) => {
export const POST: RequestHandler = async (event) => {
const { url, cookies } = event;
const auth = await authorize(cookies);
const envId = url.searchParams.get('env');
@@ -16,6 +18,14 @@ export const POST: RequestHandler = async ({ url, cookies }) => {
try {
const result = await pruneContainers(envIdNum);
// Audit log
await audit(event, 'prune', 'container', {
environmentId: envIdNum,
description: 'Pruned stopped containers',
details: { result }
});
return json({ success: true, result });
} catch (error) {
console.error('Error pruning containers:', error);
+11 -1
View File
@@ -1,9 +1,11 @@
import { json } from '@sveltejs/kit';
import { pruneImages } from '$lib/server/docker';
import { authorize } from '$lib/server/authorize';
import { audit } from '$lib/server/audit';
import type { RequestHandler } from './$types';
export const POST: RequestHandler = async ({ url, cookies }) => {
export const POST: RequestHandler = async (event) => {
const { url, cookies } = event;
const auth = await authorize(cookies);
const envId = url.searchParams.get('env');
@@ -17,6 +19,14 @@ export const POST: RequestHandler = async ({ url, cookies }) => {
try {
const result = await pruneImages(danglingOnly, envIdNum);
// Audit log
await audit(event, 'prune', 'image', {
environmentId: envIdNum,
description: `Pruned ${danglingOnly ? 'dangling' : 'unused'} images`,
details: { danglingOnly, result }
});
return json({ success: true, result });
} catch (error) {
console.error('Error pruning images:', error);
+11 -1
View File
@@ -1,9 +1,11 @@
import { json } from '@sveltejs/kit';
import { pruneNetworks } from '$lib/server/docker';
import { authorize } from '$lib/server/authorize';
import { audit } from '$lib/server/audit';
import type { RequestHandler } from './$types';
export const POST: RequestHandler = async ({ url, cookies }) => {
export const POST: RequestHandler = async (event) => {
const { url, cookies } = event;
const auth = await authorize(cookies);
const envId = url.searchParams.get('env');
@@ -16,6 +18,14 @@ export const POST: RequestHandler = async ({ url, cookies }) => {
try {
const result = await pruneNetworks(envIdNum);
// Audit log
await audit(event, 'prune', 'network', {
environmentId: envIdNum,
description: 'Pruned unused networks',
details: { result }
});
return json({ success: true, result });
} catch (error) {
console.error('Error pruning networks:', error);
+11 -1
View File
@@ -1,9 +1,11 @@
import { json } from '@sveltejs/kit';
import { pruneVolumes } from '$lib/server/docker';
import { authorize } from '$lib/server/authorize';
import { audit } from '$lib/server/audit';
import type { RequestHandler } from './$types';
export const POST: RequestHandler = async ({ url, cookies }) => {
export const POST: RequestHandler = async (event) => {
const { url, cookies } = event;
const auth = await authorize(cookies);
const envId = url.searchParams.get('env');
@@ -16,6 +18,14 @@ export const POST: RequestHandler = async ({ url, cookies }) => {
try {
const result = await pruneVolumes(envIdNum);
// Audit log
await audit(event, 'prune', 'volume', {
environmentId: envIdNum,
description: 'Pruned unused volumes',
details: { result }
});
return json({ success: true, result });
} catch (error) {
console.error('Error pruning volumes:', error);