From 04935427a137f4c0c5e9a77b2d04cc44dda52769 Mon Sep 17 00:00:00 2001 From: Dcntrlized Auto CopyLeft Bot Date: Tue, 4 Aug 2026 22:02:50 +0000 Subject: [PATCH] chore: add AGPL-3.0 license headers --- Dockerfile | 15 +++++++++++++++ src/frontend/index.html | 17 +++++++++++++++++ src/frontend/src/app.tsx | 17 +++++++++++++++++ src/frontend/src/components/brand-mark.tsx | 17 +++++++++++++++++ .../components/connection/connection-badge.tsx | 17 +++++++++++++++++ src/frontend/src/components/container/status.ts | 17 +++++++++++++++++ src/frontend/src/components/layout/header.tsx | 17 +++++++++++++++++ .../src/components/layout/status-states.tsx | 17 +++++++++++++++++ src/frontend/src/components/layout/toolbar.tsx | 17 +++++++++++++++++ .../src/components/service/service-card.tsx | 17 +++++++++++++++++ .../src/components/service/service-grid.tsx | 17 +++++++++++++++++ src/frontend/src/index.css | 17 +++++++++++++++++ src/frontend/src/lib/api/client.ts | 17 +++++++++++++++++ src/frontend/src/lib/api/containers.ts | 17 +++++++++++++++++ src/frontend/src/lib/api/registry.ts | 17 +++++++++++++++++ src/frontend/src/lib/domain/filter.ts | 17 +++++++++++++++++ src/frontend/src/lib/domain/merge.ts | 17 +++++++++++++++++ src/frontend/src/lib/domain/version.ts | 17 +++++++++++++++++ src/frontend/src/lib/hooks/useAsyncAction.ts | 17 +++++++++++++++++ src/frontend/src/lib/hooks/useContainerStore.ts | 17 +++++++++++++++++ src/frontend/src/lib/hooks/useMasterRegistry.ts | 17 +++++++++++++++++ src/frontend/src/lib/types.ts | 17 +++++++++++++++++ src/frontend/src/lib/utils.ts | 17 +++++++++++++++++ src/frontend/src/lib/ws/client.ts | 17 +++++++++++++++++ src/frontend/src/lib/ws/registry.ts | 17 +++++++++++++++++ src/frontend/src/main.tsx | 17 +++++++++++++++++ src/frontend/vite.config.ts | 17 +++++++++++++++++ src/handlers/actions/actions.go | 15 +++++++++++++++ src/handlers/containers/install.go | 15 +++++++++++++++ src/handlers/containers/lifecycle.go | 15 +++++++++++++++ src/handlers/containers/list.go | 15 +++++++++++++++ src/handlers/containers/ws.go | 15 +++++++++++++++ src/handlers/registry/registry.go | 15 +++++++++++++++ src/lib/actions/actions.go | 15 +++++++++++++++ src/lib/containers/cache.go | 15 +++++++++++++++ src/lib/containers/compose.go | 15 +++++++++++++++ src/lib/containers/install.go | 15 +++++++++++++++ src/lib/containers/installed.go | 15 +++++++++++++++ src/lib/containers/name.go | 15 +++++++++++++++ src/lib/containers/start.go | 15 +++++++++++++++ src/lib/containers/stop.go | 15 +++++++++++++++ src/lib/containers/uninstall.go | 15 +++++++++++++++ src/lib/containers/watcher.go | 15 +++++++++++++++ src/lib/containers/watcher_dev.go | 15 +++++++++++++++ src/lib/docker/client.go | 15 +++++++++++++++ src/lib/logger/logger.go | 15 +++++++++++++++ src/lib/types/docker.go | 15 +++++++++++++++ src/lib/types/registry.go | 15 +++++++++++++++ src/lib/types/service.go | 15 +++++++++++++++ src/main.go | 15 +++++++++++++++ 50 files changed, 802 insertions(+) diff --git a/Dockerfile b/Dockerfile index b74e9ea..00dcdf4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,18 @@ +# Copyright (C) 2026 Dcntrlized +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + # Stage 1: Build the UI bundle FROM oven/bun:1.3.9-alpine AS frontend-builder WORKDIR /app diff --git a/src/frontend/index.html b/src/frontend/index.html index f640ea2..a1c7f70 100644 --- a/src/frontend/index.html +++ b/src/frontend/index.html @@ -1,4 +1,21 @@ + + diff --git a/src/frontend/src/app.tsx b/src/frontend/src/app.tsx index 27f5c47..032d4ce 100644 --- a/src/frontend/src/app.tsx +++ b/src/frontend/src/app.tsx @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { useMemo, useState } from 'preact/hooks' import { useContainerStore } from '@lib/hooks/useContainerStore' import { useMasterRegistry } from '@lib/hooks/useMasterRegistry' diff --git a/src/frontend/src/components/brand-mark.tsx b/src/frontend/src/components/brand-mark.tsx index ba3b6f5..5ad4e0e 100644 --- a/src/frontend/src/components/brand-mark.tsx +++ b/src/frontend/src/components/brand-mark.tsx @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { cn } from '@lib/utils' /** diff --git a/src/frontend/src/components/connection/connection-badge.tsx b/src/frontend/src/components/connection/connection-badge.tsx index 7a3129a..dbdae7a 100644 --- a/src/frontend/src/components/connection/connection-badge.tsx +++ b/src/frontend/src/components/connection/connection-badge.tsx @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { cn } from '@lib/utils' import { connectWebSocket } from '@lib/ws/client' import type { ConnectionStatus } from '@lib/ws/registry' diff --git a/src/frontend/src/components/container/status.ts b/src/frontend/src/components/container/status.ts index 8e9a1d9..5048f43 100644 --- a/src/frontend/src/components/container/status.ts +++ b/src/frontend/src/components/container/status.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + export interface StatusMeta { label: string dot: string diff --git a/src/frontend/src/components/layout/header.tsx b/src/frontend/src/components/layout/header.tsx index d8c7d7f..2efc4e7 100644 --- a/src/frontend/src/components/layout/header.tsx +++ b/src/frontend/src/components/layout/header.tsx @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { BrandMark } from '@components/brand-mark' import { ConnectionBadge } from '@components/connection/connection-badge' import type { ConnectionStatus } from '@lib/ws/registry' diff --git a/src/frontend/src/components/layout/status-states.tsx b/src/frontend/src/components/layout/status-states.tsx index 5df38c3..579ae8a 100644 --- a/src/frontend/src/components/layout/status-states.tsx +++ b/src/frontend/src/components/layout/status-states.tsx @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { ServerCrash, Boxes } from 'lucide-react' import { BrandMark } from '@components/brand-mark' import { Button } from '@components/ui/button' diff --git a/src/frontend/src/components/layout/toolbar.tsx b/src/frontend/src/components/layout/toolbar.tsx index ab4bca0..9a41bbb 100644 --- a/src/frontend/src/components/layout/toolbar.tsx +++ b/src/frontend/src/components/layout/toolbar.tsx @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { Search } from 'lucide-react' import { Input } from '@components/ui/input' import { FILTERS } from '@lib/domain/filter' diff --git a/src/frontend/src/components/service/service-card.tsx b/src/frontend/src/components/service/service-card.tsx index e8236a8..a40ca44 100644 --- a/src/frontend/src/components/service/service-card.tsx +++ b/src/frontend/src/components/service/service-card.tsx @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { ExternalLink, Power, Trash2, ArrowUp, LoaderCircle, Copy, Download } from 'lucide-react' import { Button } from '@components/ui/button' import { Card, CardContent, CardFooter } from '@components/ui/card' diff --git a/src/frontend/src/components/service/service-grid.tsx b/src/frontend/src/components/service/service-grid.tsx index d06a5fc..b897389 100644 --- a/src/frontend/src/components/service/service-grid.tsx +++ b/src/frontend/src/components/service/service-grid.tsx @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import type { Service } from '@lib/types' import { ServiceCard } from './service-card' diff --git a/src/frontend/src/index.css b/src/frontend/src/index.css index b429412..cbb77b5 100644 --- a/src/frontend/src/index.css +++ b/src/frontend/src/index.css @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + @import "tailwindcss"; @import "tw-animate-css"; @import "shadcn/tailwind.css"; diff --git a/src/frontend/src/lib/api/client.ts b/src/frontend/src/lib/api/client.ts index 52396bc..537226b 100644 --- a/src/frontend/src/lib/api/client.ts +++ b/src/frontend/src/lib/api/client.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + export class ApiError extends Error { readonly status: number diff --git a/src/frontend/src/lib/api/containers.ts b/src/frontend/src/lib/api/containers.ts index 447693d..ed65949 100644 --- a/src/frontend/src/lib/api/containers.ts +++ b/src/frontend/src/lib/api/containers.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { post } from './client' import type { RegistryItem, Service } from '../types' diff --git a/src/frontend/src/lib/api/registry.ts b/src/frontend/src/lib/api/registry.ts index 390f97c..a6d389f 100644 --- a/src/frontend/src/lib/api/registry.ts +++ b/src/frontend/src/lib/api/registry.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { get } from './client' import type { RegistryItem } from '../types' diff --git a/src/frontend/src/lib/domain/filter.ts b/src/frontend/src/lib/domain/filter.ts index fb18c93..055db81 100644 --- a/src/frontend/src/lib/domain/filter.ts +++ b/src/frontend/src/lib/domain/filter.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import type { FilterOption, Service, ServiceFilter } from '../types' export const FILTERS: FilterOption[] = [ diff --git a/src/frontend/src/lib/domain/merge.ts b/src/frontend/src/lib/domain/merge.ts index 4a6e66a..6d2aa67 100644 --- a/src/frontend/src/lib/domain/merge.ts +++ b/src/frontend/src/lib/domain/merge.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import type { Container, RegistryItem, Service } from '../types' import { baseImageOf, compareVersions, normalizeVersion, versionFromImage } from './version' diff --git a/src/frontend/src/lib/domain/version.ts b/src/frontend/src/lib/domain/version.ts index 0559746..d99304a 100644 --- a/src/frontend/src/lib/domain/version.ts +++ b/src/frontend/src/lib/domain/version.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + /** * Version and image-reference helpers. * diff --git a/src/frontend/src/lib/hooks/useAsyncAction.ts b/src/frontend/src/lib/hooks/useAsyncAction.ts index 6202107..da94e08 100644 --- a/src/frontend/src/lib/hooks/useAsyncAction.ts +++ b/src/frontend/src/lib/hooks/useAsyncAction.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { useState } from 'preact/hooks' interface AsyncAction { diff --git a/src/frontend/src/lib/hooks/useContainerStore.ts b/src/frontend/src/lib/hooks/useContainerStore.ts index d5689e0..a5a3743 100644 --- a/src/frontend/src/lib/hooks/useContainerStore.ts +++ b/src/frontend/src/lib/hooks/useContainerStore.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { useEffect, useState } from 'preact/hooks' import { store, type ContainerStoreState } from '../ws/registry' import { connectWebSocket } from '../ws/client' diff --git a/src/frontend/src/lib/hooks/useMasterRegistry.ts b/src/frontend/src/lib/hooks/useMasterRegistry.ts index e47e45d..64ddae6 100644 --- a/src/frontend/src/lib/hooks/useMasterRegistry.ts +++ b/src/frontend/src/lib/hooks/useMasterRegistry.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { useCallback, useEffect, useState } from 'preact/hooks' import { fetchMasterRegistry } from '../api/registry' import type { RegistryItem } from '../types' diff --git a/src/frontend/src/lib/types.ts b/src/frontend/src/lib/types.ts index 2ee9ac1..69f69b1 100644 --- a/src/frontend/src/lib/types.ts +++ b/src/frontend/src/lib/types.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + export type ContainerOrigin = 'local' | 'remote' | 'both' export interface PortMapping { diff --git a/src/frontend/src/lib/utils.ts b/src/frontend/src/lib/utils.ts index fed2fe9..70509ad 100644 --- a/src/frontend/src/lib/utils.ts +++ b/src/frontend/src/lib/utils.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { clsx, type ClassValue } from 'clsx' import { twMerge } from 'tailwind-merge' diff --git a/src/frontend/src/lib/ws/client.ts b/src/frontend/src/lib/ws/client.ts index 757a079..802b7b9 100644 --- a/src/frontend/src/lib/ws/client.ts +++ b/src/frontend/src/lib/ws/client.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { store } from './registry' import type { Container } from '../types' diff --git a/src/frontend/src/lib/ws/registry.ts b/src/frontend/src/lib/ws/registry.ts index c67bbcc..6330fd1 100644 --- a/src/frontend/src/lib/ws/registry.ts +++ b/src/frontend/src/lib/ws/registry.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import type { Container } from '../types' export type ConnectionStatus = 'connecting' | 'open' | 'closing' | 'closed' diff --git a/src/frontend/src/main.tsx b/src/frontend/src/main.tsx index 95dfa24..aa3d855 100644 --- a/src/frontend/src/main.tsx +++ b/src/frontend/src/main.tsx @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { render } from 'preact' import './index.css' import { App } from './app.tsx' diff --git a/src/frontend/vite.config.ts b/src/frontend/vite.config.ts index 71b90e0..546e985 100644 --- a/src/frontend/vite.config.ts +++ b/src/frontend/vite.config.ts @@ -1,3 +1,20 @@ +/** + * Copyright (C) 2026 Dcntrlized + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + import { defineConfig, type UserConfig } from 'vite' import preact from '@preact/preset-vite' import tailwindcss from '@tailwindcss/vite' diff --git a/src/handlers/actions/actions.go b/src/handlers/actions/actions.go index 8fd8d73..1f1bf3f 100644 --- a/src/handlers/actions/actions.go +++ b/src/handlers/actions/actions.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package actions import ( diff --git a/src/handlers/containers/install.go b/src/handlers/containers/install.go index fb15fac..6f9f566 100644 --- a/src/handlers/containers/install.go +++ b/src/handlers/containers/install.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/handlers/containers/lifecycle.go b/src/handlers/containers/lifecycle.go index a6bf138..c8bbdaa 100644 --- a/src/handlers/containers/lifecycle.go +++ b/src/handlers/containers/lifecycle.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/handlers/containers/list.go b/src/handlers/containers/list.go index ed5c4b3..d007b95 100644 --- a/src/handlers/containers/list.go +++ b/src/handlers/containers/list.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/handlers/containers/ws.go b/src/handlers/containers/ws.go index dd6f989..2703ae4 100644 --- a/src/handlers/containers/ws.go +++ b/src/handlers/containers/ws.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/handlers/registry/registry.go b/src/handlers/registry/registry.go index 54c3882..89daf07 100644 --- a/src/handlers/registry/registry.go +++ b/src/handlers/registry/registry.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package handlers import ( diff --git a/src/lib/actions/actions.go b/src/lib/actions/actions.go index cc1ca08..8c515f0 100644 --- a/src/lib/actions/actions.go +++ b/src/lib/actions/actions.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package actions import ( diff --git a/src/lib/containers/cache.go b/src/lib/containers/cache.go index 4f0f074..6209f85 100644 --- a/src/lib/containers/cache.go +++ b/src/lib/containers/cache.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/lib/containers/compose.go b/src/lib/containers/compose.go index fb50d8d..d318f5f 100644 --- a/src/lib/containers/compose.go +++ b/src/lib/containers/compose.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/lib/containers/install.go b/src/lib/containers/install.go index 59c706e..8620a98 100644 --- a/src/lib/containers/install.go +++ b/src/lib/containers/install.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/lib/containers/installed.go b/src/lib/containers/installed.go index 71a0044..388f347 100644 --- a/src/lib/containers/installed.go +++ b/src/lib/containers/installed.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/lib/containers/name.go b/src/lib/containers/name.go index 21b3294..e3b7fa3 100644 --- a/src/lib/containers/name.go +++ b/src/lib/containers/name.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/lib/containers/start.go b/src/lib/containers/start.go index aed8a10..8f9b977 100644 --- a/src/lib/containers/start.go +++ b/src/lib/containers/start.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/lib/containers/stop.go b/src/lib/containers/stop.go index 07846a1..44dac44 100644 --- a/src/lib/containers/stop.go +++ b/src/lib/containers/stop.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/lib/containers/uninstall.go b/src/lib/containers/uninstall.go index f9a9986..75df71d 100644 --- a/src/lib/containers/uninstall.go +++ b/src/lib/containers/uninstall.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/lib/containers/watcher.go b/src/lib/containers/watcher.go index 1079a38..ae86dba 100644 --- a/src/lib/containers/watcher.go +++ b/src/lib/containers/watcher.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/lib/containers/watcher_dev.go b/src/lib/containers/watcher_dev.go index c46ba91..725e715 100644 --- a/src/lib/containers/watcher_dev.go +++ b/src/lib/containers/watcher_dev.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package containers import ( diff --git a/src/lib/docker/client.go b/src/lib/docker/client.go index 15ce9aa..4c44f98 100644 --- a/src/lib/docker/client.go +++ b/src/lib/docker/client.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package docker import ( diff --git a/src/lib/logger/logger.go b/src/lib/logger/logger.go index 327fd47..6ffaf57 100644 --- a/src/lib/logger/logger.go +++ b/src/lib/logger/logger.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package logger import ( diff --git a/src/lib/types/docker.go b/src/lib/types/docker.go index 7146b28..79f300d 100644 --- a/src/lib/types/docker.go +++ b/src/lib/types/docker.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package types type PortMapping struct { diff --git a/src/lib/types/registry.go b/src/lib/types/registry.go index b2b1172..47b4b4a 100644 --- a/src/lib/types/registry.go +++ b/src/lib/types/registry.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package types // RegistryContainer represents a clean API payload specifically for container registry items. diff --git a/src/lib/types/service.go b/src/lib/types/service.go index 4ad7b56..77b4786 100644 --- a/src/lib/types/service.go +++ b/src/lib/types/service.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package types type Manifest struct { diff --git a/src/main.go b/src/main.go index 467f5c8..6e62e1e 100644 --- a/src/main.go +++ b/src/main.go @@ -1,3 +1,18 @@ +// Copyright (C) 2026 Dcntrlized +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + package main import (