Add WithTimeout(168h) to cluster_action registration to prevent
archer's reaper from prematurely reclaiming long-running jobs.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* Add remote url to cluster dto from env
* Delete ui.zip
* Delete Archive.zip
* Delete go.sum
* rebase go sum
* Increase instances from 1 to 10 in cluster action
* Initial plan
* fix: prevent apt lock conflicts in concurrent BastionBootstrapWorker instances
Use SELECT FOR UPDATE SKIP LOCKED inside a transaction to atomically
claim pending bastion servers, ensuring each server is processed by
exactly one worker instance even when archer.instances > 1.
Co-authored-by: allanice001 <700853+allanice001@users.noreply.github.com>
* fix: prevent concurrent cluster_action workers from processing the same cluster
Use SELECT FOR UPDATE SKIP LOCKED inside a transaction to atomically
claim a cluster before starting any long-running provisioning work.
Workers that arrive for a cluster already locked (or already in
bootstrapping/provisioning state) fail gracefully with a clear message,
preventing duplicate make-target runs and Docker/apt lock conflicts.
Co-authored-by: allanice001 <700853+allanice001@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: allanice001 <700853+allanice001@users.noreply.github.com>
* Initial plan
* fix: add apt lock waiting to bastion bootstrap to prevent dpkg contention failures
On freshly provisioned Ubuntu VMs, background processes like cloud-init
or unattended-upgrades may hold the dpkg lock. This causes apt-get
calls in the bootstrap script to fail with 'Could not get lock
/var/lib/dpkg/lock-frontend'.
Add an apt_wait_lock() helper that polls lock files for up to 5 minutes
before every apt-get invocation (both in pm_update_install and before
the Docker install script).
Co-authored-by: venkatamutyala <6570292+venkatamutyala@users.noreply.github.com>
* fix: address code review - configurable wait timeout and fuser fallback
- Make apt lock wait timeout configurable via APT_LOCK_WAIT_SECS variable
- Add fuser availability check with lsof fallback
- Gracefully skip lock wait if neither fuser nor lsof is available
Co-authored-by: venkatamutyala <6570292+venkatamutyala@users.noreply.github.com>
* Final state - all checks passed
Co-authored-by: venkatamutyala <6570292+venkatamutyala@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: venkatamutyala <6570292+venkatamutyala@users.noreply.github.com>
Co-authored-by: Alanis <allanice001@users.noreply.github.com>
Refactor routing logic (Chi can be a pain when you're managing large sets of routes, but its one of the better options when considering a potential gRPC future)
Upgrade API Generation to fully support OAS3.1
Update swagger interface to RapiDoc - the old swagger interface doesnt support OAS3.1 yet
Docs are now embedded as part of the UI - once logged in they pick up the cookies and org id from what gets set by the UI, but you can override it
Other updates include better portability of the db-studio
Signed-off-by: allanice001 <allanice001@gmail.com>