Recently Written · git

subplz-web

git clone https://github.com/equwal/subplz-web

Log | Files | Refs


commit fa0a17bb7f9465c819f208ee4f6f652dedfecdee
Spenser Truex <truex@equwal.com>
2026-09-22 17:46:17 -0700

Merge pull request #12 from equwal/burst-workers

Burst mode: workers on the cheapest cloud, ready but off
 .gitattributes                                     |   8 +
 .gitignore                                         |   7 +
 README.md                                          |   8 +
 backend/api.py                                     |   2 +-
 backend/billing.py                                 |   7 +
 backend/main.py                                    |  13 +-
 backend/queue.py                                   |  28 +-
 infra/burst/README.md                              | 287 +++++++++++++++
 infra/burst/cloud-init.yaml.tftpl                  | 163 +++++++++
 infra/burst/state/.terraform.lock.hcl              |  61 ++++
 infra/burst/state/main.tf                          | 124 +++++++
 infra/burst/state/outputs.tf                       |  54 +++
 infra/burst/state/setup-web-server.sh              |  76 ++++
 infra/burst/state/tests/host_key.pub               |   1 +
 infra/burst/state/tests/state.tftest.hcl           | 109 ++++++
 infra/burst/state/variables.tf                     |  48 +++
 infra/burst/systemd/subplz-burst.service           |  15 +
 infra/burst/systemd/subplz-burst.timer             |   9 +
 infra/burst/systemd/subplz-worker.service          |  21 ++
 infra/burst/worker-constraints.txt                 |  89 +++++
 infra/burst/workers/aws/.terraform.lock.hcl        |  26 ++
 infra/burst/workers/aws/iam-policy.json            |  60 +++
 infra/burst/workers/aws/main.tf                    | 128 +++++++
 infra/burst/workers/aws/outputs.tf                 |   4 +
 infra/burst/workers/aws/tests/aws.tftest.hcl       | 109 ++++++
 infra/burst/workers/aws/variables.tf               |  48 +++
 infra/burst/workers/hetzner/.terraform.lock.hcl    |  23 ++
 infra/burst/workers/hetzner/main.tf                |  71 ++++
 infra/burst/workers/hetzner/outputs.tf             |   4 +
 .../burst/workers/hetzner/tests/hetzner.tftest.hcl |  66 ++++
 infra/burst/workers/hetzner/variables.tf           |  43 +++
 requirements-dev.txt                               |   7 +
 tests/conftest.py                                  |   2 +-
 tests/test_burst.py                                | 403 +++++++++++++++++++++
 tests/test_copy_database.py                        |  83 +++++
 tests/test_local_jobs.py                           |   2 +-
 tests/test_paid_queue.py                           | 132 +++++++
 tools/burst/__init__.py                            |   1 +
 tools/burst/__main__.py                            | 303 ++++++++++++++++
 tools/burst/core.py                                | 252 +++++++++++++
 tools/burst/offers.py                              |  95 +++++
 tools/burst/revenue.py                             |  55 +++
 tools/copy_database.py                             |  68 ++++
 tools/set-secret.sh                                |  19 +-
 worker.py                                          |  27 +-
 45 files changed, 3134 insertions(+), 27 deletions(-)