4c5a99d554
crates/common: add branch and scheduling_shares to jobset models
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ie19897f5ffdfb44654891511ce669d806a6a6964
2026-02-02 01:49:27 +03:00
be9caa0b61
crates/common: add bootstrap, tracing_init, and nix_probe modules
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ifbc17b000a4fb4a10e05ac9405582a366a6a6964
2026-02-02 01:49:26 +03:00
9fd901bc7f
crates/common: add migration for multi-branch eval and scheduling shares
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I3f792d0e081da93adbcf60bff8570eed6a6a6964
2026-02-02 01:49:25 +03:00
81e451f6d0
meta: ignore VM disk images; ignore migrations
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I687f1fe53696f77af62f2e52566cf3f06a6a6964
2026-02-02 01:15:10 +03:00
b169bad512
chore: bump deps; declare workspace members
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib6499a53a60e591180cddd1a1126d4526a6a6964
2026-02-02 01:15:09 +03:00
235d3d38a6
crates/server: REST API routes; RBAC auth middleware; cookie sessions; dashboard
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I5298a925bd9c11780e49d8b1c98eebd86a6a6964
2026-02-02 01:15:08 +03:00
44d1ee1d6b
queue-runner: semaphore-based worker pool with atomic build claiming
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ie3a8d343c3705200f0cac566227db54f6a6a6964
2026-02-02 01:15:07 +03:00
3fd40b7e07
crates/evaluator: eval loop with git polling and nix-eval-jobs integration
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I291a411b1b06cf821e09f3d5a61403196a6a6964
2026-02-02 01:15:06 +03:00
1b12be3f8a
crates: production models and repo layer
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iceb76724c09eaca7ca5d823010db76776a6a6964
2026-02-02 01:15:05 +03:00
17fb0bbe80
nix: build migrate-cli crate
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I022828d4e83b1ccf04a3a6898dafb9ca6a6a6964
2026-02-02 01:15:04 +03:00
fc19dd27c4
docs: highlight Hydra's core issues
...
Obviously not all of them, but things to avoid locally.
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: If9a7695f9633aef95d2513cad5de83e86a6a6964
2026-02-02 01:15:03 +03:00
cbf16a7e63
common: add basic database tests; skip when DB unavailable
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I10be55f54495c07de19ed26a03c9596c6a6a6964
2026-02-02 01:15:02 +03:00
0e6d249e0f
common: initial database handling
...
Can be configured from the config file, and also using environment
options.
```toml
[database]
url = "postgresql://fc_ci:password@localhost/fc_ci"
max_connections = 20
min_connections = 5
connect_timeout = 30
idle_timeout = 600
max_lifetime = 1800
```
We'll want to support SQlite in the future, and better secret handling
for database credentials. For now, this is workable.
---
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I36b4c1306511052a2748ca9d5d3429366a6a6964
2026-02-02 01:15:01 +03:00
a4c3cd1517
meta: add database migrations; set up migration CLI
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0cbc9798243134d36f788099ecc3ee5a6a6a6964
2026-02-02 01:15:00 +03:00
63e1fbe554
docs: add initial design document
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I99399d520a1339d87072279f76de3cd26a6a6964
2026-02-02 01:14:59 +03:00
2c4cf83f47
nix: initial tooling setup
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib47aeafee9474f491cfebddd3fa935826a6a6964
2026-02-02 01:14:58 +03:00
03568c3a25
docs: add very basic README
...
So it doesn't look so empty in here...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Icff5e32cef6d19e42107f0f4945f26b06a6a6964
2026-02-02 01:14:57 +03:00
6203ea7f52
initial commit
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I79a875e75937ff6b3739ca36bfb0b2836a6a6964
2026-02-02 01:14:56 +03:00