]>
git.ipfire.org Git - pbs.git/log
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>
Michael Tremer [Fri, 7 Feb 2025 11:58:48 +0000 (11:58 +0000)]
jobs: Fix log streaming
This will now dynamically turn this on and off whenever it is needed.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 23:08:57 +0000 (23:08 +0000)]
jobs: Drop the old log stream module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 23:08:19 +0000 (23:08 +0000)]
messages: Fix sending emails
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 23:07:56 +0000 (23:07 +0000)]
jobs: Move log stream frontend code
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 23:00:15 +0000 (23:00 +0000)]
builds: Fix sending emails to watchers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 22:59:25 +0000 (22:59 +0000)]
builds: Send a push notification when a build is ready
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 21:24:39 +0000 (21:24 +0000)]
builders: Hash builders by hostname for their stats connections
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 21:08:05 +0000 (21:08 +0000)]
builders: Fix memory usage calculation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 20:30:27 +0000 (20:30 +0000)]
builds: Add a combined operation to flush and refresh
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 20:25:21 +0000 (20:25 +0000)]
builds: Fix fetching watchers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 20:24:50 +0000 (20:24 +0000)]
builders: Fix sending stats
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 20:23:39 +0000 (20:23 +0000)]
builders: Fix fetching the value for enabled
It has to be a boolean.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 20:22:56 +0000 (20:22 +0000)]
builders: Move stats JS into the main file
We currently cannot easily add more files in the right place, so since
there is only so little code, we just ship it all together.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 17:52:58 +0000 (17:52 +0000)]
jobs: Associate imported packages with the job
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 17:52:05 +0000 (17:52 +0000)]
jobs: Flush and refresh to read the finished timestamp
This feels like a stupid hack but this at least prevents utter mayhem
happening after this.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 17:50:57 +0000 (17:50 +0000)]
jobs: Turn JobPackage into a model
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 16:46:23 +0000 (16:46 +0000)]
database: Log less
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 16:46:09 +0000 (16:46 +0000)]
packages: Remove some dead code
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>