]>
git.ipfire.org Git - pbs.git/log
Michael Tremer [Wed, 12 Feb 2025 17:56:13 +0000 (17:56 +0000)]
jobs: Don't fail to make log URL if we don't have a path
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 17:55:47 +0000 (17:55 +0000)]
builds: Only allow to delete scratch builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 17:54:22 +0000 (17:54 +0000)]
jobs: Don't change order in listing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 17:33:53 +0000 (17:33 +0000)]
jobs: Fix spinning icon
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 17:26:55 +0000 (17:26 +0000)]
users: Fix fetching consumed build time
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 17:16:41 +0000 (17:16 +0000)]
users: Fix the totally broken disk usage query
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 16:42:36 +0000 (16:42 +0000)]
jobs: Fetch all queue jobs before rendering the page
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 16:40:57 +0000 (16:40 +0000)]
web: Show more finished jobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 16:40:36 +0000 (16:40 +0000)]
web: Remove the hero around the jobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 16:35:12 +0000 (16:35 +0000)]
builders: Split stats into two lines
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 16:01:35 +0000 (16:01 +0000)]
builders: Refactor listing with level
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 15:22:11 +0000 (15:22 +0000)]
jobs: Unify the job listing
There used to be a separate listing for the job queue which is not
necessary as we can unify them.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 14:29:50 +0000 (14:29 +0000)]
builds: Add an icon to view package
Tags should not be clickable. It isn't obvious.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 14:25:13 +0000 (14:25 +0000)]
CSS: Upgrade to Font-Awesome 6.7.1
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 14:24:58 +0000 (14:24 +0000)]
CSS: Migrate to Bulma 1.0.3
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 11:45:19 +0000 (11:45 +0000)]
configure: No longer depend on pygmentize
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 11:43:35 +0000 (11:43 +0000)]
configure: Migrate to Node SASS
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 11:37:35 +0000 (11:37 +0000)]
builds: Properly check if something is a scratch build
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 11:36:08 +0000 (11:36 +0000)]
packages: Remove trailing dots from summaries
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 11:33:47 +0000 (11:33 +0000)]
packages: Add an icon
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 11:31:58 +0000 (11:31 +0000)]
jobs: Remove packages from listing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Feb 2025 11:24:41 +0000 (11:24 +0000)]
builds: Add a new package listing
This is a lot cleaner and combines packages from all architectures which
massively saves space on the page.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 18:54:19 +0000 (18:54 +0000)]
jobs: Split the icon into a separate element
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 18:49:22 +0000 (18:49 +0000)]
users: Implement changing storage quota
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 18:32:00 +0000 (18:32 +0000)]
users: Fix editing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 18:25:52 +0000 (18:25 +0000)]
users: Always return an integer for the total number of builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 18:24:55 +0000 (18:24 +0000)]
users: Look for an exact match first when searching
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 18:10:06 +0000 (18:10 +0000)]
web: Add title to error page
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 18:06:57 +0000 (18:06 +0000)]
builds: Make the list cleaner
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 17:40:33 +0000 (17:40 +0000)]
web: Don't make the username a button
This does not seem to be obvious.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 17:38:29 +0000 (17:38 +0000)]
jobs: Use level for the queue
This works on mobile without breaking the layout.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 17:27:19 +0000 (17:27 +0000)]
web: Use tabs in navigation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 17:24:15 +0000 (17:24 +0000)]
web: Replace the Sign In button with an icon
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 17:18:48 +0000 (17:18 +0000)]
CSS: Add a color for noarch, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 17:14:09 +0000 (17:14 +0000)]
distros: Use my new arch colors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 17:08:42 +0000 (17:08 +0000)]
images: Add modal with all checksums
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 17:08:20 +0000 (17:08 +0000)]
JS: Add code for modals
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 16:39:18 +0000 (16:39 +0000)]
backend: Catch non-existant files on stat()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 16:39:00 +0000 (16:39 +0000)]
backend: Perform some path validation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 16:29:48 +0000 (16:29 +0000)]
mirrors: Send the correct MIME type
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 16:22:01 +0000 (16:22 +0000)]
mirrors: Set Etag header in HEAD response
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 16:21:43 +0000 (16:21 +0000)]
mirrors: Ask clients to not cache the redirect
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 15:43:29 +0000 (15:43 +0000)]
mirrors: Support HEAD requests in load balancer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 15:42:27 +0000 (15:42 +0000)]
mirrors: Don't send any Content-Type headers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 15:39:46 +0000 (15:39 +0000)]
mirrors: Check if the file exists at all
We should not query any mirrors for files that even we don't have
ourselves.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 15:39:00 +0000 (15:39 +0000)]
mirrors: Don't send body in error responses
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 15:36:14 +0000 (15:36 +0000)]
ratelimiter: Add primary key
So that I can edit the table.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 15:28:19 +0000 (15:28 +0000)]
mirrors: Limit for up to 100 requests per hour for downloads
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 15:25:21 +0000 (15:25 +0000)]
mirrors: Add a universal download load balancer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 15:24:52 +0000 (15:24 +0000)]
cache: Import datetime
This is being used in the code but was not imported.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 14:01:37 +0000 (14:01 +0000)]
web: Add some basic Python built-ins
They don't need any special wrapping, so lets pass them as they come.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 13:59:32 +0000 (13:59 +0000)]
releases: Add a simple listing of images
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 13:58:17 +0000 (13:58 +0000)]
backend: Extend path to URL function to support mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 13:57:47 +0000 (13:57 +0000)]
backend: Allow assembling absolute URLs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 13:57:01 +0000 (13:57 +0000)]
releases: I will never learn this
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 13:30:48 +0000 (13:30 +0000)]
backend: Add helper function to make paths relative
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 13:27:58 +0000 (13:27 +0000)]
releases: Make the decision whether to mirror or not a bit more complex
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 13:20:30 +0000 (13:20 +0000)]
CSS: Assign special colours for architectures
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 10:37:02 +0000 (10:37 +0000)]
releases: Show release date as short as possible
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 10:32:47 +0000 (10:32 +0000)]
releases: Fix publishing releases
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 10:29:14 +0000 (10:29 +0000)]
releases: Fix deleting releases and their images
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 10:25:00 +0000 (10:25 +0000)]
releases: Fix editing a release
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 10:22:33 +0000 (10:22 +0000)]
releases: Fix creating a new release
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 10:11:34 +0000 (10:11 +0000)]
releases: Fix rendering the detail page
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 10:11:17 +0000 (10:11 +0000)]
releases: Fix rendering the index page
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Feb 2025 09:59:49 +0000 (09:59 +0000)]
releases: Mirror all stable releases
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 16:54:14 +0000 (16:54 +0000)]
users: Add banner to ask to subscribe on front page
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 16:18:44 +0000 (16:18 +0000)]
events: Always import the Text macro
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 16:15:59 +0000 (16:15 +0000)]
builds: Fix adding/removing from repositories
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 15:53:44 +0000 (15:53 +0000)]
builds: Fix comments
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 15:33:42 +0000 (15:33 +0000)]
backend: Run autoscaling on startup
This is to potentially shut down any builders that should not be
running.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 15:31:15 +0000 (15:31 +0000)]
jobs: Abort when the build job has crashed
I think we want to collect a little bit more meta information about the
crash, but for now we at least see that something has aborted the job.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 15:30:39 +0000 (15:30 +0000)]
jobs: Automatically abort jobs that have timed out
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 15:25:03 +0000 (15:25 +0000)]
backend: Use the @run_in_thread decorator
This allows us to write shorter code but achieve the same.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 15:07:33 +0000 (15:07 +0000)]
build joins: Load builds joined
I don't know why this has to be this way, but if not, it does not work.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 15:06:46 +0000 (15:06 +0000)]
build groups: Fix database field names of ownership
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 15:05:30 +0000 (15:05 +0000)]
decorators: Drop the lazy_property decorator
We don't need this to be settable any more, so therefore we can use the
functools.cached_property decorator that comes with the standard
distribution.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 11:20:51 +0000 (11:20 +0000)]
registy: Use the new cache instead of the in-memory cache
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 11:20:20 +0000 (11:20 +0000)]
cache: Add a simple key/value cache with expiry time
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 10:51:42 +0000 (10:51 +0000)]
builds: Fix typo in class name
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 10:50:52 +0000 (10:50 +0000)]
registry: Don't fail if we could not find a file inside an image
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 10:50:31 +0000 (10:50 +0000)]
registry: Add a simple in-memory cache for indexes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 10:49:32 +0000 (10:49 +0000)]
registry: Respond with the correct code when manifest was not found
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 10:49:00 +0000 (10:49 +0000)]
registry: Add a tags handler
This lists all available tags
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 9 Feb 2025 13:56:00 +0000 (13:56 +0000)]
registry: Send proper API error if something wasn't found
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 9 Feb 2025 13:31:04 +0000 (13:31 +0000)]
registry: Split the combined handlers
I think this might all be slightly better to read instead of all the ifs
and elses.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 9 Feb 2025 13:26:23 +0000 (13:26 +0000)]
registry: Stream blobs from a separate thread
We need this to not block the main thread on really large blobs.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 9 Feb 2025 13:24:31 +0000 (13:24 +0000)]
decorators: Create a decorator to run something in a thread
This is just for convenience and to write less code since we are using
this pattern a lot.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 9 Feb 2025 13:23:48 +0000 (13:23 +0000)]
registry: Create a function to find a blob
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 9 Feb 2025 13:14:30 +0000 (13:14 +0000)]
registry: Build a basic read-only OCI registry
This allows us to easily run any OCI images in Docker/podman/etc. for CI
testing without engaging any external storage, etc.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 9 Feb 2025 11:45:46 +0000 (11:45 +0000)]
images: Build out class and add the table
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 18:10:01 +0000 (18:10 +0000)]
builds: Fix relationship to groups
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 16:27:55 +0000 (16:27 +0000)]
builds: Fix creating test groups
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 16:26:35 +0000 (16:26 +0000)]
jobs: Fix dedicated log streaming page
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 16:26:07 +0000 (16:26 +0000)]
builds: Wrap avatars in <figure>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 16:25:44 +0000 (16:25 +0000)]
jobs: Put most recently finished jobs to the top
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 15:48:37 +0000 (15:48 +0000)]
builders: Fix the watchers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 15:07:03 +0000 (15:07 +0000)]
jobs: Let Apache deliver the log files
This will be even more efficient than sending them in the main process.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 12:43:52 +0000 (12:43 +0000)]
builds: Call the right function to create a group
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 12:17:11 +0000 (12:17 +0000)]
builds: Fix fetching reverse requires
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>