]>
git.ipfire.org Git - pbs.git/log
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>
Michael Tremer [Mon, 16 Jun 2025 15:22:34 +0000 (15:22 +0000)]
sessions: Sessions are stored in a table, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 15:22:20 +0000 (15:22 +0000)]
users: Migrate to SQLModel
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 16 Jun 2025 15:21:10 +0000 (15:21 +0000)]
sessions: Migrate to SQLModel
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 15 Jun 2025 15:22:14 +0000 (15:22 +0000)]
API: Set the return type for builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 15 Jun 2025 15:21:50 +0000 (15:21 +0000)]
API: Add method to fetch basic information about an upload
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 15 Jun 2025 15:21:21 +0000 (15:21 +0000)]
uploads: Migrate to SQLModel
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 15 Jun 2025 14:07:38 +0000 (14:07 +0000)]
API: Move the app into __init__.py
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 15 Jun 2025 14:02:09 +0000 (14:02 +0000)]
API: Build out returning a build
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 15 Jun 2025 14:01:51 +0000 (14:01 +0000)]
API: Load sub-modules with the app
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 15 Jun 2025 14:01:27 +0000 (14:01 +0000)]
API: Initialize the backend
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 15 Jun 2025 13:42:18 +0000 (13:42 +0000)]
API: Add the CORS middleware
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 15 Jun 2025 13:38:39 +0000 (13:38 +0000)]
api: Start a new test API using FastAPI
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 15 Jun 2025 13:29:09 +0000 (13:29 +0000)]
configure: Remove systemd unit directory auto-detection
This no longer works in Debian 13, and we need systemd regardless.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 12:22:40 +0000 (12:22 +0000)]
builds: Load all builds with the group
Otherwise we have some problems with fetching them later...
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 11:41:01 +0000 (11:41 +0000)]
builds: Show tested build in the Test Build tag
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 11:39:09 +0000 (11:39 +0000)]
builders: Make handling log messages actually fast
We don't need to fetch the build object here which saves us from opening
and closing an entire database session which is not really needed.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 11:28:29 +0000 (11:28 +0000)]
database: Log returned number of rows
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 11:27:49 +0000 (11:27 +0000)]
database: Use the async session maker
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 11:25:23 +0000 (11:25 +0000)]
packages: Fetch distribution without join
This should slightly reduce the database bandwidth.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 10:29:44 +0000 (10:29 +0000)]
repos: Fetch the distro only once
This should slightly decrease database bandwidth.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 10:29:13 +0000 (10:29 +0000)]
jobs: Fetch the builders in separate query
This should slightly decrease database bandwidth.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 10:28:37 +0000 (10:28 +0000)]
builds: Fetch builds separately when fetching a group
This should slightly decrease the database bandwidth.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 09:36:16 +0000 (09:36 +0000)]
builds: Disable deprecating builds for now
I am not sure we actually want or need this any more. This is quite a
complicated operation and I think this all might happen automatically
anyways.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 09:34:02 +0000 (09:34 +0000)]
jobs: Commit before we send a response to the builder on finish
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 09:32:19 +0000 (09:32 +0000)]
builds: Refactor showing scratch builds
I don't think this is working tho
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 09:31:34 +0000 (09:31 +0000)]
jobs: Show a tag with the builder name
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 09:28:08 +0000 (09:28 +0000)]
jobs: Log streams are <div>s now
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 09:27:11 +0000 (09:27 +0000)]
builds: Make the tag clickable
This is actually supported by Bulma and looks much better.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 May 2025 09:26:31 +0000 (09:26 +0000)]
release monitoring: Don't pass target to dist()
The dist command now returns an archive object instead of copying it to
a specific place.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 20 Apr 2025 14:18:00 +0000 (14:18 +0000)]
JS: Decode log messages from base64
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 16 Apr 2025 14:55:46 +0000 (14:55 +0000)]
log streaming: Slightly improve visual appearance
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 16 Apr 2025 13:59:04 +0000 (13:59 +0000)]
log stream: Implement auto-scroll
This patch also removes any dependencies to jQuery in this code.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 16 Apr 2025 13:58:22 +0000 (13:58 +0000)]
log streaming: Fix highlighting in CSS
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 16 Apr 2025 13:53:51 +0000 (13:53 +0000)]
log streams: Fix mapping log priorities
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 16 Apr 2025 09:38:53 +0000 (09:38 +0000)]
sources: Bring back fetching the Git repositories
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 16 Apr 2025 09:35:46 +0000 (09:35 +0000)]
sync: Never sync any temporary files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 16 Apr 2025 09:35:17 +0000 (09:35 +0000)]
web: Fix encoding of the XSRF token
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 9 Apr 2025 18:14:12 +0000 (18:14 +0000)]
backend: Import errors for CommandExecutionError
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 30 Mar 2025 17:09:08 +0000 (17:09 +0000)]
release monitoring: Fix creating packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 30 Mar 2025 17:08:30 +0000 (17:08 +0000)]
uploads: Compute checksum for locally uploaded files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 27 Mar 2025 17:51:35 +0000 (17:51 +0000)]
release monitoring: Manually fetch the Pakfire user
The property does not support the async stuff.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 27 Mar 2025 17:47:59 +0000 (17:47 +0000)]
mirrors: No longer print resolved addresses to the console
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 27 Mar 2025 11:47:29 +0000 (11:47 +0000)]
release monitoring: Fix controls
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 27 Mar 2025 11:44:28 +0000 (11:44 +0000)]
release monitoring: Backend.url_to() is not a coroutine
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 27 Mar 2025 11:43:52 +0000 (11:43 +0000)]
distro: Pass correct argument
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 27 Mar 2025 11:41:56 +0000 (11:41 +0000)]
config: Fix double-used attribute name in logger
The method "log" could never be called because it was overwritten by the
logger.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 27 Mar 2025 11:41:28 +0000 (11:41 +0000)]
bugs: Fix fetching creator and assignee
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 27 Mar 2025 10:47:59 +0000 (10:47 +0000)]
jobs: Permanently stream logs
This is just a lot easier than the turning on and off which turned out
to be a bit fragile and racy.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 27 Mar 2025 10:46:01 +0000 (10:46 +0000)]
builders: Raise BuilderNotOnlineError if the connection does not work
In case we have a connection, but it has gone away, we will just pretend
that the builder is offline.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 19 Feb 2025 11:37:38 +0000 (11:37 +0000)]
packages: Don't show size on the index page
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 17 Feb 2025 11:46:26 +0000 (11:46 +0000)]
jobs: Add more debug logging when dispatching jobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 17 Feb 2025 11:45:52 +0000 (11:45 +0000)]
jobs: Fix halted check
Only scratch builds can be halted.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 17 Feb 2025 11:45:16 +0000 (11:45 +0000)]
builds: Add all watchers of a scratch build to the test builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 17 Feb 2025 11:44:47 +0000 (11:44 +0000)]
jobs: Fix sending emails if a job fails
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 17 Feb 2025 11:44:02 +0000 (11:44 +0000)]
builds: Check if watchers exist before adding this
There is no elegant way to upsert here, so this is what it has to be for
now.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 17 Feb 2025 11:43:23 +0000 (11:43 +0000)]
mirrors: Group mirrors by country
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 17 Feb 2025 11:32:23 +0000 (11:32 +0000)]
auth: Fix rendering the error page in case credentials have been invalid
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Feb 2025 12:25:51 +0000 (12:25 +0000)]
builds: Move commenting into a modal
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Feb 2025 10:22:59 +0000 (10:22 +0000)]
builds: Don't overwrite points
The cache could not be updated when we tried to add the BuildPoint
class.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Feb 2025 10:22:26 +0000 (10:22 +0000)]
web: Use babel to format time deltas
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 13 Feb 2025 21:12:13 +0000 (21:12 +0000)]
users: Don't exclude deleted builds from total builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 13 Feb 2025 21:10:08 +0000 (21:10 +0000)]
users: Make the avatars smaller on the listing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 13 Feb 2025 21:09:50 +0000 (21:09 +0000)]
users: Fix rendering users list
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 13 Feb 2025 21:01:25 +0000 (21:01 +0000)]
users: Add a srcset= attribute to avatars
This way, browsers can choose which resolution they want to download.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 13 Feb 2025 20:54:29 +0000 (20:54 +0000)]
builds: Set a proper resolution for the avatar
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 13 Feb 2025 20:53:32 +0000 (20:53 +0000)]
users: Add a default resolution to avatars
Otherwise we are receiving the original image which might be huge and
usually is not square.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 13 Feb 2025 20:48:28 +0000 (20:48 +0000)]
configure: Require Python >= 3.11
This was built against Python 3.11 and I don't know whether if works on
previous versions or not.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 13 Feb 2025 20:44:29 +0000 (20:44 +0000)]
mirrors: Don't send clients to a mirror they don't support
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 13 Feb 2025 20:39:41 +0000 (20:39 +0000)]
mirrors: Remove the extra network lookup function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 13 Feb 2025 20:37:20 +0000 (20:37 +0000)]
mirrors: Refactor the selection process
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>