mirror of
https://github.com/coollabsio/coolify.git
synced 2026-11-04 10:42:23 +00:00
fix: enforce webhook lockouts and stop cancelled runner provisioning
- Manual webhooks (GitHub, GitLab, Gitea, Bitbucket) now reject all deliveries for a locked-out scope before reading secrets or verifying signatures, including correctly signed ones, until the window expires. - ProvisionGithubRunnerJob checks whether the execution has already finished before and after each provisioning step, and only sets ready_at or Failed while it is still occupying/provisioning. A runner that is cancelled, timed out or completed mid-provisioning is no longer started, retried or overwritten. - VolumeCloneJob creates bind-volume clones as plain local volumes without the source driver options, so the clone never mounts the source host directory. - Image pulls for additional servers no longer ignore docker pull errors. - Add tests for each change.
This commit is contained in:
1 parent
5fd7191d4a
commit
f95ddd97fa
12 files changed
+244
-36
No files matched your search
@@ -95,6 +95,10 @@ class Github extends Controller
|
||||
default => $base_branch,
|
||||
};
|
||||
$failure_key = $this->manualWebhookFailureRateLimitKey($request, 'github', $full_name, $matched_branch);
|
||||
if ($this->hasTooManyManualWebhookFailures($failure_key)) {
|
||||
return $this->tooManyManualWebhookFailuresResponse($failure_key);
|
||||
}
|
||||
|
||||
// A redelivery of the same signed payload is one guess.
|
||||
$failure_attempt = $this->manualWebhookSignedPayloadAttempt($request, $x_hub_signature_256);
|
||||
$applications = Application::query();
|
||||
|
||||
Reference in new issue
Block a user