]>
git.ipfire.org Git - pbs.git/log
Michael Tremer [Tue, 8 Jul 2025 16:12:34 +0000 (16:12 +0000)]
frontend: Add the burger button to toggle the navbar
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 8 Jul 2025 10:04:34 +0000 (10:04 +0000)]
frontend: Remove more imported basic components
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 8 Jul 2025 09:59:17 +0000 (09:59 +0000)]
frontend: Import the maginifying glass icon for viewing files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 8 Jul 2025 09:58:40 +0000 (09:58 +0000)]
frontend: Always load the basic UI components
This allows us to keep the views and more complex components a lot
shorter by having to write fewer import statements.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 8 Jul 2025 09:45:19 +0000 (09:45 +0000)]
frontend: Improve visuals of the filelist table
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 8 Jul 2025 09:45:01 +0000 (09:45 +0000)]
frontend: Add control element to view files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 8 Jul 2025 09:15:39 +0000 (09:15 +0000)]
frontend: Only offer files for download that are downloadable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 17:54:08 +0000 (17:54 +0000)]
API: Set Content-Type when streaming some response
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 17:48:27 +0000 (17:48 +0000)]
api: Move the file streaming into the backend
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 17:44:05 +0000 (17:44 +0000)]
api: Implement downloading files from packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 17:09:29 +0000 (17:09 +0000)]
frontend: Add the filelist to the package view
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 16:08:53 +0000 (16:08 +0000)]
packages: Export NEVRA
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 16:08:20 +0000 (16:08 +0000)]
frontend: Show some package information by their UUID
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 16:02:45 +0000 (16:02 +0000)]
frontend: Create a separate type for the shorter package listing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 16:01:31 +0000 (16:01 +0000)]
frontend: Add some helper functions to render some basic things
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 14:50:33 +0000 (14:50 +0000)]
frontend: Correctly import the container module for the base layout
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 13:05:56 +0000 (13:05 +0000)]
api: Create an endpoint to fetch the filelist of a package
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 12:59:20 +0000 (12:59 +0000)]
api: Create an endpoint to fetch a package by its UUID
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 12:48:35 +0000 (12:48 +0000)]
builds: Fetch the source package and distribution when fetching a build
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 12:48:08 +0000 (12:48 +0000)]
api: packages: Add endpoint to fetch latest package by name
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 11:57:55 +0000 (11:57 +0000)]
frontend: Make links use the primary colour
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 11:55:54 +0000 (11:55 +0000)]
frontend: Fix linking to a package
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 11:18:56 +0000 (11:18 +0000)]
frontend: Create a view to list all available packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 11:04:20 +0000 (11:04 +0000)]
api: pacakges: Hide a couple of fields in the response
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 11:03:41 +0000 (11:03 +0000)]
api: Add an endpoint that lists all known packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 10:33:27 +0000 (10:33 +0000)]
frontend: Load all required components for the Login view
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 16:03:46 +0000 (16:03 +0000)]
frontend: Show an icon in the navigation if we are disconnected
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 15:54:11 +0000 (15:54 +0000)]
api: Serve debuginfo stuff
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 15:21:52 +0000 (15:21 +0000)]
frontend: Use our new icons
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 15:15:37 +0000 (15:15 +0000)]
frontend: Import FontAwesome icons
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 14:57:24 +0000 (14:57 +0000)]
frontend: Create a WebSocket which listens to events
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 14:00:16 +0000 (14:00 +0000)]
frontend: Move Builder type into the API
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 13:58:41 +0000 (13:58 +0000)]
frontend: Move user stuff into an own file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 13:53:37 +0000 (13:53 +0000)]
frontend: Create a store and listing component for mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 13:52:52 +0000 (13:52 +0000)]
frontend: Add a loading indicator component
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 13:48:49 +0000 (13:48 +0000)]
frontend: Notification: Support success and danger state
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 13:15:52 +0000 (13:15 +0000)]
frontend: Rebase the API calls on axios
This will transparently handle authentication.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 12:52:27 +0000 (12:52 +0000)]
frontend: Install axios
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 12:27:39 +0000 (12:27 +0000)]
frontend: Show the geo location of the mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 12:25:57 +0000 (12:25 +0000)]
frontend: Remove unused fields from User type
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 12:00:28 +0000 (12:00 +0000)]
frontend: Show supported protocols for mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 11:47:45 +0000 (11:47 +0000)]
frontend: Create a view if no view was found to show a better error
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 15:32:16 +0000 (15:32 +0000)]
mirrors: Add the AS name if available to the export
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 15:26:30 +0000 (15:26 +0000)]
mirrors: Export whether mirrors support IPv6/IPv4
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 10:31:11 +0000 (10:31 +0000)]
frontend: Create a box component to list mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 08:48:14 +0000 (08:48 +0000)]
frontend: Add a simple page that lists all available mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 08:36:11 +0000 (08:36 +0000)]
api: Create an endpoint to create new mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 08:15:38 +0000 (08:15 +0000)]
database: For now, show the SQL queries again
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 08:15:13 +0000 (08:15 +0000)]
database: Don't show the deleted timestamp in JSON exports
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 08:13:02 +0000 (08:13 +0000)]
api: Move function to fetch the client's IP address
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 08:08:55 +0000 (08:08 +0000)]
api: Server mirror lists
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 07:52:55 +0000 (07:52 +0000)]
api: Remove a debug line from the downloads handler
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 18:33:59 +0000 (18:33 +0000)]
api: Don't show the download endpoints in the API schema
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 18:32:19 +0000 (18:32 +0000)]
api: Move over the downloads endpoints
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 18:31:03 +0000 (18:31 +0000)]
buildservice: Fix converting paths to URLs
The relpath() function only works on absolute URLs. If we did not get
one of those, we need to call path() first to make it absolute.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:36:57 +0000 (17:36 +0000)]
api: Add an endpoint to edit a mirror
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:28:51 +0000 (17:28 +0000)]
api: Add an endpoint to delete mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:24:13 +0000 (17:24 +0000)]
api: Create an endpoint to manually trigger a mirror check
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:23:41 +0000 (17:23 +0000)]
api: Create a couple more helper functions to fetch the right objects
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:13:59 +0000 (17:13 +0000)]
mirrors: Add missing field that stores the last sync
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:08:58 +0000 (17:08 +0000)]
api: Add an endpoint to return all mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:08:32 +0000 (17:08 +0000)]
mirrors: Don't expose unnecessary fields to the API
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:03:05 +0000 (17:03 +0000)]
api: Add endpoints to fetch a single mirror
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 16:55:11 +0000 (16:55 +0000)]
API: Remove debugging line from users
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 16:50:45 +0000 (16:50 +0000)]
api: Create API endpoints to export users
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 16:50:13 +0000 (16:50 +0000)]
users: Export the realname to the API
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 16:49:55 +0000 (16:49 +0000)]
users: Don't export any sensitive fields
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 15:01:43 +0000 (15:01 +0000)]
users: Automatically create the home repository
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 15:01:01 +0000 (15:01 +0000)]
repos: Migrate the Repo <-> Build mapping to SQLModel
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 15:00:28 +0000 (15:00 +0000)]
packages: Automatically load the distro when loading a package
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 15:00:11 +0000 (15:00 +0000)]
sources: Migrate to SQLModel
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 14:31:19 +0000 (14:31 +0000)]
config: The Pakfire object is now called Root
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 14:30:50 +0000 (14:30 +0000)]
builds: Resolve ambiguous relationships
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 14:30:14 +0000 (14:30 +0000)]
mirrors: Resolve ambiguous relationships
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 14:29:34 +0000 (14:29 +0000)]
keys: Resolve ambiguous relationships
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 14:05:28 +0000 (14:05 +0000)]
database: Mirgate the soft-delete mixin to SQLModel
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 14:05:00 +0000 (14:05 +0000)]
API: Fix deleting uploads
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 14:03:30 +0000 (14:03 +0000)]
builds: Migrate to SQLModel (mostly)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 13:43:51 +0000 (13:43 +0000)]
mirrors: Migrate to SQLModel
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 13:29:10 +0000 (13:29 +0000)]
packages: Move to SQLModel
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 1 Jul 2025 17:39:53 +0000 (17:39 +0000)]
uploads: Don't delete successful uploads
The delete_on_close flag is doing something different from what I
throught and therefore we will have to handle this ourselves.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 1 Jul 2025 08:26:37 +0000 (08:26 +0000)]
api: Process system information submitted by builders
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 30 Jun 2025 13:53:59 +0000 (13:53 +0000)]
API: Add an endpoint to fetch a specific repository from a distro
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 30 Jun 2025 10:38:01 +0000 (10:38 +0000)]
api: Add some basic distro endpoints
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 30 Jun 2025 10:36:34 +0000 (10:36 +0000)]
keys: Migrate to SQLModel
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 30 Jun 2025 10:36:15 +0000 (10:36 +0000)]
distros: Migrate over to SQLModel
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 30 Jun 2025 10:34:50 +0000 (10:34 +0000)]
repos: Make them hashable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 29 Jun 2025 18:22:54 +0000 (18:22 +0000)]
repos: Move Repo class to SQLModel
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 29 Jun 2025 18:06:22 +0000 (18:06 +0000)]
API: Create a new sub-router for builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 29 Jun 2025 18:02:59 +0000 (18:02 +0000)]
API: Implement scaffolding for the builder's control connections
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 29 Jun 2025 17:59:26 +0000 (17:59 +0000)]
database: Only commit, but don't release sessions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 29 Jun 2025 17:53:53 +0000 (17:53 +0000)]
API: Wrap all upload operations into a database session
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 29 Jun 2025 17:50:41 +0000 (17:50 +0000)]
database: Create a new way to control when a database session is committed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 29 Jun 2025 17:20:41 +0000 (17:20 +0000)]
api: Make authentication work with WebSockets, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 25 Jun 2025 18:22:20 +0000 (18:22 +0000)]
api: Add endpoint to list all uploads
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 24 Jun 2025 13:44:55 +0000 (13:44 +0000)]
API: Remove a debug line
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 24 Jun 2025 13:44:08 +0000 (13:44 +0000)]
API: Remove Kerberos authentication
This is not suitable for us any more and we will try to migrate to a
unique way that is only using the JWT tokens.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 21 Jun 2025 11:02:07 +0000 (11:02 +0000)]
API: Implement Kerberos authentication against the API
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 21 Jun 2025 09:54:09 +0000 (09:54 +0000)]
frontend: Bring back the footer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 21 Jun 2025 09:42:28 +0000 (09:42 +0000)]
API: Start some event websocket thing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>