]>
git.ipfire.org Git - pbs.git/log
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>
Michael Tremer [Fri, 20 Jun 2025 13:17:49 +0000 (13:17 +0000)]
frontend: Make authentication a composable
This should allow us to re-use the code better.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 20 Jun 2025 12:48:06 +0000 (12:48 +0000)]
frontend: Show a list of builders
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 20 Jun 2025 12:47:19 +0000 (12:47 +0000)]
builders: Exclude some fields from being exported
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 20 Jun 2025 12:46:58 +0000 (12:46 +0000)]
API: Export builders
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 20 Jun 2025 12:10:01 +0000 (12:10 +0000)]
backend: Drop server-side sessions
Authentication is now entirely handled using decentralised JWTs.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 20 Jun 2025 12:03:47 +0000 (12:03 +0000)]
frontend: Log in users when the app is being reloaded
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 20 Jun 2025 11:42:37 +0000 (11:42 +0000)]
frontend: Make the logout link work
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 20 Jun 2025 11:40:57 +0000 (11:40 +0000)]
frontend: Store login information in presistent storage
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 20 Jun 2025 11:38:48 +0000 (11:38 +0000)]
API: auth: Add an endpoint for the currently logged in user
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 20 Jun 2025 11:31:50 +0000 (11:31 +0000)]
frontend: Setup pinia
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 20 Jun 2025 09:54:26 +0000 (09:54 +0000)]
API: Set the refresh token in a cookie as well
This will make it easier to refresh the token from a browser when it is
persistently stored as a cookie.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 20 Jun 2025 09:29:51 +0000 (09:29 +0000)]
frontend: Create a basic Login view
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 20 Jun 2025 09:28:06 +0000 (09:28 +0000)]
API: Add an /api/v1 prefix to everything
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Jun 2025 16:11:39 +0000 (16:11 +0000)]
frontend: Install a router
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Jun 2025 16:11:07 +0000 (16:11 +0000)]
frontend: Create some simple Home view
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Jun 2025 16:10:37 +0000 (16:10 +0000)]
frontend: Drop demo components
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Jun 2025 15:50:00 +0000 (15:50 +0000)]
frontend: Enable translation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Jun 2025 15:45:30 +0000 (15:45 +0000)]
frontend: Use our primary colour and font
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Jun 2025 15:35:19 +0000 (15:35 +0000)]
frontend: Pull in Prompt
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Jun 2025 15:31:48 +0000 (15:31 +0000)]
frontend: Install Bulma
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Jun 2025 15:08:51 +0000 (15:08 +0000)]
frontend: Update the index.html
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Jun 2025 15:07:09 +0000 (15:07 +0000)]
frontend: Create a new vue.js application
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 17 Jun 2025 14:24:16 +0000 (14:24 +0000)]
API: Implement streaming the upload's payload
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 17 Jun 2025 13:23:57 +0000 (13:23 +0000)]
API: Implement creating a new upload
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 17 Jun 2025 13:22:49 +0000 (13:22 +0000)]
uploads: Always fetch the builders/users when fetching uploads
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 17 Jun 2025 13:21:36 +0000 (13:21 +0000)]
API: uploads: Include the digest in hex format
The binary part cannot be serialized in JSON.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 17 Jun 2025 09:47:58 +0000 (09:47 +0000)]
API: Implement deleting uploads
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 17 Jun 2025 09:46:01 +0000 (09:46 +0000)]
API: Return the user object for successfully authenticated people
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 17:35:01 +0000 (17:35 +0000)]
API: Consolidate code to fetch uploads and check permissions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 17:24:17 +0000 (17:24 +0000)]
API: Require authentication for all upload endpoints
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 17:24:04 +0000 (17:24 +0000)]
API: Add functions to verify authentication
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 17:20:22 +0000 (17:20 +0000)]
API: Add helper function to fetch the principal
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 17:14:04 +0000 (17:14 +0000)]
API: Create a separate router for uploads
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 17:11:57 +0000 (17:11 +0000)]
API: Group all authentication endpoints together
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 16:57:30 +0000 (16:57 +0000)]
API: Implement endpoint to refresh an access token
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 16:57:05 +0000 (16:57 +0000)]
API: Automatically set a default value for the auth token type
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 16:35:23 +0000 (16:35 +0000)]
API: Add some simple authentication endpoint
This will now respond with JWT tokens.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 15:41:04 +0000 (15:41 +0000)]
uploads: Don't expose foreign keys/IDs in the API response
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 15:40:45 +0000 (15:40 +0000)]
builders: Migrate to SQLModel
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 15:26:08 +0000 (15:26 +0000)]
sessions: SQLModel does not know how to handle INET
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>