]>
git.ipfire.org Git - pbs.git/log
Michael Tremer [Wed, 29 Jan 2025 17:15:46 +0000 (17:15 +0000)]
uploads: Calculate the digest when receiving the file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 29 Jan 2025 17:14:01 +0000 (17:14 +0000)]
jobs: Fix sending configuration
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 29 Jan 2025 17:13:27 +0000 (17:13 +0000)]
uploads: Return the received filename in the API response
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 29 Jan 2025 10:40:11 +0000 (10:40 +0000)]
uploads: Add a debug handler to download any uploaded payload
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 29 Jan 2025 10:39:39 +0000 (10:39 +0000)]
uploads: Send an URL to the client where to send the payload
Hopefully this will give us some more flexibility in the future.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 29 Jan 2025 10:38:58 +0000 (10:38 +0000)]
uploads: Manually commit the session
This is required because the session might not be fast enough before the
client comes back with the payload. This ensures that we won't have a
race.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 27 Jan 2025 15:47:45 +0000 (15:47 +0000)]
config: Pass the configuration to Pakfire as string
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 27 Jan 2025 15:07:59 +0000 (15:07 +0000)]
configure: Check for all required Python module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 27 Jan 2025 15:02:09 +0000 (15:02 +0000)]
constants: Remove unused values
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 27 Jan 2025 14:58:53 +0000 (14:58 +0000)]
Rename to PBS
This is easier than a hyphenated Python package name. This is now also
moved out of the pakfire module which has become a pure C module.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 17:27:35 +0000 (17:27 +0000)]
jobs: Store control connections by their UUID
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 17:26:52 +0000 (17:26 +0000)]
jobs: Add crash handler
This will be called by the builders when the build process has
unexexpectedly crashed.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 14:32:35 +0000 (14:32 +0000)]
jobs: Fix retrying jobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 14:28:32 +0000 (14:28 +0000)]
jobs: Fix aborting jobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 14:22:15 +0000 (14:22 +0000)]
web: Don't fetch index data in a transaction
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 14:21:54 +0000 (14:21 +0000)]
jobs: Fix fetching running jobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 14:01:32 +0000 (14:01 +0000)]
builders: Refactor dispatching jobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 13:58:25 +0000 (13:58 +0000)]
config: Tidy up code
No functional changes.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 13:54:39 +0000 (13:54 +0000)]
config: Make it easier to generate a text configuration
We cannot use the old method any more since we need to call async
methods.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 13:53:40 +0000 (13:53 +0000)]
database: (Re-)raise any exceptions after the task is done
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 13:42:10 +0000 (13:42 +0000)]
builders: Fix least busy iterator
This must be an outer join so that we will always get all builds, even
those that don't have a job running.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 13:41:48 +0000 (13:41 +0000)]
builders: Fix accidental join
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 13:32:01 +0000 (13:32 +0000)]
jobs: Use shorter code return queue length
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 13:31:15 +0000 (13:31 +0000)]
database: Fix loads of incorrect joins
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 13:01:46 +0000 (13:01 +0000)]
cli: Fix running installchecks
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 12:20:38 +0000 (12:20 +0000)]
jobs: Send log files with decompressing them if client supports it
If the browser supports gzip, we simply send the raw file as there is no
need to decompress it first and then have the reverse proxy compress it
again.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 12:09:15 +0000 (12:09 +0000)]
events: Rely more on "selectin"
This seems to be slightly faster in case of larger result sets.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 12:06:59 +0000 (12:06 +0000)]
web: Initialize the locale
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 12:05:49 +0000 (12:05 +0000)]
web: Log in the user before checking the XSRF cookie
In case the cookie validation fails, we need to be able to send an error
message which accesses current_user.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 12:04:44 +0000 (12:04 +0000)]
database: Implement custom logger that only logs debugging
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 11:57:12 +0000 (11:57 +0000)]
users: Bring back the welcome push message
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 11:02:07 +0000 (11:02 +0000)]
users: Don't include the TTL in the payload of the push message
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 10:57:52 +0000 (10:57 +0000)]
users: Simplify passing around push messages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 10:57:11 +0000 (10:57 +0000)]
auth: Correctly set session expiry time in cookies
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 10:56:56 +0000 (10:56 +0000)]
sessions: Correctly set expiry time
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 10:35:34 +0000 (10:35 +0000)]
users: Send push messages from the same task
This is necessary because SQLAlchemy cannot delete the push
notification from a different task.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 10:35:07 +0000 (10:35 +0000)]
users: Fix sending push notifications from command line
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 10:34:50 +0000 (10:34 +0000)]
users: Fix deleting push subscriptions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 10:28:02 +0000 (10:28 +0000)]
users: Move JS for push notifications into the main file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 10:24:46 +0000 (10:24 +0000)]
users: Fix subscribing to push notifications
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 26 Jan 2025 09:44:47 +0000 (09:44 +0000)]
builders: Fix showing number of running jobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 25 Jan 2025 19:31:10 +0000 (19:31 +0000)]
builders: Store when a builder has connected last and from where
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 25 Jan 2025 19:24:55 +0000 (19:24 +0000)]
builders: Hash connections by hostname
Since we now have one builder object per session they don't match their
hashes any more. Therefore we identify them by their name which is also
unique.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 25 Jan 2025 19:24:39 +0000 (19:24 +0000)]
builders: Log when builders connect or disconnect
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 25 Jan 2025 19:20:55 +0000 (19:20 +0000)]
uploads: Actually send an empty response
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 25 Jan 2025 19:15:26 +0000 (19:15 +0000)]
watchers: Fetch users as selectin
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 25 Jan 2025 19:15:01 +0000 (19:15 +0000)]
builds: Finish relationship to points
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 25 Jan 2025 19:09:03 +0000 (19:09 +0000)]
CSS: Fix broken stuff by importing CSS in the correct order
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 25 Jan 2025 19:05:31 +0000 (19:05 +0000)]
CSS: Drop unused style.css
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 25 Jan 2025 19:04:45 +0000 (19:04 +0000)]
builders: Show system information
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 25 Jan 2025 17:52:41 +0000 (17:52 +0000)]
builders: Rename a couple of fields and add system
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 25 Jan 2025 17:51:06 +0000 (17:51 +0000)]
database: Add a helper function to trigger a commit
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 17:16:43 +0000 (17:16 +0000)]
jobs: Limit the amount of concurrent log tail operations
This way we will ensure that we access one file at a time and put the
others in a queue to not starve IO too hard.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 17:14:22 +0000 (17:14 +0000)]
jobs: Stream the log file faster
When we are downloading the entire file, we only have to decompress it
and we don't have to search for line breaks before sending each chunk.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 17:05:35 +0000 (17:05 +0000)]
jobs: Ratelimit access to logs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 16:52:16 +0000 (16:52 +0000)]
builds: Fix deleting builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 16:24:35 +0000 (16:24 +0000)]
events: Correctly show the bug ID
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 15:56:35 +0000 (15:56 +0000)]
builders: Refactor auto-scaling
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 15:56:07 +0000 (15:56 +0000)]
builds: Propagate back the group
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 15:55:44 +0000 (15:55 +0000)]
builds: Make repos read-only
SQLAlchemy complained and wanted this flag set.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 15:55:15 +0000 (15:55 +0000)]
jobs: Add a CTE to fetch all currently running jobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 13:06:57 +0000 (13:06 +0000)]
builds: Fix rendering bugs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 13:04:24 +0000 (13:04 +0000)]
builds: Fix incorrect attribute access
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 11:34:22 +0000 (11:34 +0000)]
builds: Refactor handling bugs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 11:19:37 +0000 (11:19 +0000)]
builds: Make the group a relationship again
This is the only way to easily work with the group; to assign it when we
create a build.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 11:10:34 +0000 (11:10 +0000)]
builds: Rename "build_group" to just "group"
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 11:06:48 +0000 (11:06 +0000)]
builds: Rename "build_repo" to just "repo"
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 10:56:08 +0000 (10:56 +0000)]
builds: Fix cloning a build
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 24 Jan 2025 10:37:22 +0000 (10:37 +0000)]
packages: Read files with a larger chunk size
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 20:54:55 +0000 (20:54 +0000)]
database: Directly assign values on delete
I don't know why I implemented it like this.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 20:54:34 +0000 (20:54 +0000)]
mirrors: Fix editing and deleting mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 20:35:11 +0000 (20:35 +0000)]
mirrors: Use the correct function to format the check time
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 20:34:54 +0000 (20:34 +0000)]
mirrors: Fix check
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 20:21:57 +0000 (20:21 +0000)]
cli: Remove reference to command to generate VAPID keys
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 14:05:21 +0000 (14:05 +0000)]
jobs: Fix showing logs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 14:04:58 +0000 (14:04 +0000)]
builds: Fix fetch builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 13:51:16 +0000 (13:51 +0000)]
builds: Fix order after grouping
It looks like groupby() is sorting the groups before it returns them
which results in our original order being removed. We simply want to
have the most recent build at the top.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 13:32:52 +0000 (13:32 +0000)]
backend: Remove unnecessary imports
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 11:43:18 +0000 (11:43 +0000)]
backend: Run periodic tasks as a separate task
This is the easiest option to ensure that any changes will be committed
to the database in the end. When we run the callback in the same task,
we will never release the database session and therfore have no
automatic commit.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 11:38:30 +0000 (11:38 +0000)]
users: Read the VAPID keys from the configuration file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 11:29:04 +0000 (11:29 +0000)]
build groups: Fix rendering macro
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 11:28:34 +0000 (11:28 +0000)]
builds: Relax relationship between test groups
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 10:06:02 +0000 (10:06 +0000)]
jobs: Fix the empty state of the job queue
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 10:05:42 +0000 (10:05 +0000)]
jobs: Fix rendering the job index page
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 09:56:01 +0000 (09:56 +0000)]
jobs: Show a message if the queue is empty
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 09:55:51 +0000 (09:55 +0000)]
jobs: Fix rendering the queue
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 09:54:59 +0000 (09:54 +0000)]
jobs: Fix queries that generate the queue
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 09:46:49 +0000 (09:46 +0000)]
builds: Drop message
This was an unused concept.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 23 Jan 2025 09:39:30 +0000 (09:39 +0000)]
database: Use joined loading a little bit more often
Since we have so many objects that have so many very close relationships
between each other, we can have lots of roundtrips to the database when
we fetch them all individually in an extra query.
The joined loads will however increase the size of the result by quite a
siginificant amount of data when applied to 1:N relationships with
larger Ns. It is pretty much free in a 1:1 relationship.
Therefore this commit changes that we fetch lots of stuff in one go so
we don't have as many roundtrips to the database. It will however result
in larger queries and potentially a little bit more bandwidth usage.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 18:58:39 +0000 (18:58 +0000)]
jobs: Fix running the installcheck
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 18:58:16 +0000 (18:58 +0000)]
jobs: Fix storing the result of the installcheck
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 18:57:34 +0000 (18:57 +0000)]
builders: Add helper function to find the least busy builders
This works out a little bit easier than fetching the job queue for each
individual builder.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 18:57:01 +0000 (18:57 +0000)]
repos: Correctly wrap transactions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 18:23:52 +0000 (18:23 +0000)]
mirrors: Add filter to show the name of an ASN
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 18:23:18 +0000 (18:23 +0000)]
web: Add handler that disables authentication
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 18:20:01 +0000 (18:20 +0000)]
repos: Fix rendering the mirror list
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 18:01:37 +0000 (18:01 +0000)]
builds: Asynchronously create jobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 18:01:12 +0000 (18:01 +0000)]
jobs: Let failed default to False
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 18:00:51 +0000 (18:00 +0000)]
builds: Fix wrong argument name for groups
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 18:00:30 +0000 (18:00 +0000)]
builds: Correctly open a transaction
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>