]>
git.ipfire.org Git - pbs.git/log
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>
Michael Tremer [Wed, 22 Jan 2025 18:00:03 +0000 (18:00 +0000)]
builds+jobs: Generate a random UUID
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 17:59:21 +0000 (17:59 +0000)]
web: Properly await write_error()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 17:46:39 +0000 (17:46 +0000)]
repos: Fix deleting a repository
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 17:31:54 +0000 (17:31 +0000)]
repos: Fix editinig repos
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 17:27:06 +0000 (17:27 +0000)]
distros: Make them sortable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 17:17:06 +0000 (17:17 +0000)]
web: Go back to statically set current_user
This changes it so that we will always try to log in the user. That way,
we don't have to always call the get_current_user() function which makes
the code rather messy.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 17:07:30 +0000 (17:07 +0000)]
repos: Don't show an empty mirrorlist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 17:05:07 +0000 (17:05 +0000)]
repos: Use os.path to compose URLs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 17:03:07 +0000 (17:03 +0000)]
repos: Fix creating custom repositories
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 17:01:20 +0000 (17:01 +0000)]
config: Refactor iterating over repositories
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 17:00:10 +0000 (17:00 +0000)]
repos: Drop loading the unused tempfile module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 16:59:22 +0000 (16:59 +0000)]
repos: Create CTEs to easily fetch all packages and builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 16:58:24 +0000 (16:58 +0000)]
keys: Correct the type of the key_id field
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 16:58:00 +0000 (16:58 +0000)]
jobs: Make the package mapping table accessible from other modules
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 15:24:10 +0000 (15:24 +0000)]
repos: Allow listing repos without build membership
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 15:23:52 +0000 (15:23 +0000)]
repos: Fix rendering page
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 15:17:14 +0000 (15:17 +0000)]
users: Fix showing total builds/build time
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 14:54:04 +0000 (14:54 +0000)]
uploads: Fix cleanup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 14:53:47 +0000 (14:53 +0000)]
sessions: Rename valid_until into expires_at
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 14:47:15 +0000 (14:47 +0000)]
backend: Re-enable the periodic cleanup job
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 14:46:52 +0000 (14:46 +0000)]
ratelimiter: Fix cleanup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 14:46:40 +0000 (14:46 +0000)]
sessions: Fix cleanup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 14:41:27 +0000 (14:41 +0000)]
packages: Fix rendering page and fetch builds manually
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 14:41:10 +0000 (14:41 +0000)]
builds: Add property to disable test builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 14:40:42 +0000 (14:40 +0000)]
builds: Add a relationship to commits
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 14:05:27 +0000 (14:05 +0000)]
web: Don't import everything from handlers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 14:03:58 +0000 (14:03 +0000)]
web: Remove any old UI methods
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 14:00:25 +0000 (14:00 +0000)]
web: Drop importing the removed ui_modules module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 13:57:22 +0000 (13:57 +0000)]
builds: Fix accessing uploads
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 13:56:29 +0000 (13:56 +0000)]
uploads: Fix deletion
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 13:51:33 +0000 (13:51 +0000)]
packages: Fix deletion
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 13:51:06 +0000 (13:51 +0000)]
packages: Don't fetch all builds all of the time
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 13:49:54 +0000 (13:49 +0000)]
web: Fix sending errors for API requests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 13:40:36 +0000 (13:40 +0000)]
packages: Refactor importing filelists
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 13:23:40 +0000 (13:23 +0000)]
distros: Create tag as a generated column
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 13:00:31 +0000 (13:00 +0000)]
builders: Refactor dispatching jobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 12:47:52 +0000 (12:47 +0000)]
builders: Fetch the builder again on message
This is necessary because this will be launched in a new task. Since we
cannot use the object from a different session, we have to fetch the
builder again.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 12:47:33 +0000 (12:47 +0000)]
builders: Fix logging stats
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Jan 2025 12:05:54 +0000 (12:05 +0000)]
builders: Fix connecting to the controller
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 17:21:06 +0000 (17:21 +0000)]
builders: Implement fetching uploads
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 17:15:45 +0000 (17:15 +0000)]
distros: Remove the unused ReleasesList module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 17:14:34 +0000 (17:14 +0000)]
builds: Add missing shorter argument to BuildList
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 17:13:08 +0000 (17:13 +0000)]
bulma: Upgrade to Bulma 0.9.4
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 17:10:11 +0000 (17:10 +0000)]
events: Don't link to deleted items
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 16:38:19 +0000 (16:38 +0000)]
builders: Fix creating/deleting builders
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 16:37:28 +0000 (16:37 +0000)]
database: Remove unused declarations
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 15:56:18 +0000 (15:56 +0000)]
users: Remove extra attributes that were used by the testsuite
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 15:54:28 +0000 (15:54 +0000)]
web: Create a handler that can only be called by admins
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 15:32:31 +0000 (15:32 +0000)]
builders: Fix starting/stopping builders
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 15:17:26 +0000 (15:17 +0000)]
builders: Fix editing builders
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 15:17:14 +0000 (15:17 +0000)]
web: Make the modal template fit for Jinja
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 15:11:24 +0000 (15:11 +0000)]
builders: Fix current user permission check
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 15:07:50 +0000 (15:07 +0000)]
web: Replace authentication decorate with our custom version
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 15:05:50 +0000 (15:05 +0000)]
builders: Fix name of edit handler
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 15:04:41 +0000 (15:04 +0000)]
builders: Fix showing running jobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 15:04:28 +0000 (15:04 +0000)]
builders: Fix showing the total build time
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 15:04:04 +0000 (15:04 +0000)]
builders: The hostname has been renamed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 15:03:41 +0000 (15:03 +0000)]
events: Repositories have been renamed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 14:55:12 +0000 (14:55 +0000)]
web: Fail if template variables are not defined
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 14:54:58 +0000 (14:54 +0000)]
web: Always set the XSRF token in the environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 14:47:00 +0000 (14:47 +0000)]
distros: Release the strong relationship to releases
We don't want to fetch all releases every time we access the
distribution.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 14:38:48 +0000 (14:38 +0000)]
cache: Remove unused Redis cache
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 14:36:33 +0000 (14:36 +0000)]
packages: Limit viewing/downloading of files
This is all going into a single bucket so that we don't have a rate
limiter per path.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 14:36:20 +0000 (14:36 +0000)]
ratelimiter: Allow passing arbitrary arguments
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 14:27:03 +0000 (14:27 +0000)]
ratelimiter: Reimplement using the PostgreSQL database
Redis does not seem the right choice for this. We can have a fast,
unlogged database table for any of this data and we can drop the entire
depdency to redis.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 14:24:54 +0000 (14:24 +0000)]
auth: Fix logging out
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 14:24:28 +0000 (14:24 +0000)]
database: Allow to execute raw statements
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 11:00:21 +0000 (11:00 +0000)]
db: Import any schema changes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 10:57:55 +0000 (10:57 +0000)]
repos: Rename from repository
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 10:54:12 +0000 (10:54 +0000)]
distros: Rename from distributions
I don't want to typo so many letters...
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 10:51:16 +0000 (10:51 +0000)]
images: Split them off into their own module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 10:48:34 +0000 (10:48 +0000)]
releases: Split them off into their own file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Jan 2025 10:38:58 +0000 (10:38 +0000)]
Migrate to an even more async design
This monster commit replaces our database engine by SQLAlchemy so that
we can utilise eager loading and don't have to implement this on our
own. Although Jinja is a lot more flexible and allows us to
asynchronically fetch any data, we cannot really have async properties.
Therefore it is a good idea to have some eager loading happening when we
fetch certain objects that will always depend on some other objects.
This has been a major rewrite of the backend which still isn't done, but
I needed to commit this somehow. There was little point it doing it
gradually so here is this mountain of a commit. Enjoy.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 15 Jan 2025 19:13:23 +0000 (19:13 +0000)]
backend: Load krb5 and sync settings from config
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 15 Jan 2025 15:59:44 +0000 (15:59 +0000)]
AWS: Read configuration from file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 12 Jan 2025 15:13:11 +0000 (15:13 +0000)]
web: Implement translation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 12 Jan 2025 14:03:57 +0000 (14:03 +0000)]
web: Load some useful Jinja extensions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 12 Jan 2025 13:43:25 +0000 (13:43 +0000)]
web: Convert login page to Jinja
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 12 Jan 2025 13:34:59 +0000 (13:34 +0000)]
web: Set globals to avoid a namespace that is too large
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>