Commit Graph
100 Commits
Author SHA1 Message Date
harry 85c44296ac Restructure UX and seed a fully simulated organisation
CI / Tests (push) Failing after 56s
CI / Lint (push) Failing after 1m35s
Rework the dashboard, environment topology view, header navigation, and
status rendering, and standardise selects on a shadcn-vue component.

Replace the thin database seeder with a SimulatedEnvironmentSeeder that
builds a fully wired, mostly-running organisation (ACTIVE server fleet,
managed + GHCR registries, Gitea source provider, ClipBin app with
production/staging environments, services, slices, endpoints, managed
variables, build artifacts, and a completed/in-progress/failed operations
history) so the new UI renders against realistic data.
2026-06-08 22:09:57 +01:00
harry 3a851db08f Add managed registry provisioning, pruning, and readiness tracking 2026-06-08 20:44:16 +01:00
harry 5b977c1f41 wowowowowo
CI / Lint (push) Failing after 22s
CI / Tests (push) Failing after 33s
2026-05-28 15:15:41 +01:00
harry 8f603122e2 wip
CI / Tests (push) Successful in 36s
CI / Lint (push) Successful in 1m3s
2026-05-24 13:55:30 +01:00
harry 66f0ee9e50 Migrate to Gitea, switch JS tooling to oxlint/oxfmt, lift test coverage to 95%
CI / Tests (push) Successful in 43s
CI / Lint (push) Successful in 1m3s
- Add .gitea/workflows/ci.yml ported from lifeos (lint + tests with coverage gate)
- Set up phpstan (larastan + peststan, baseline at level max)
- Replace eslint/prettier with oxlint/oxfmt; reformat resources/
- Add composer phpstan/coverage/quality scripts; restore --min=95 coverage gate
- Exclude integration plumbing (Saloon Hetzner classes, SSH wrappers, console
  commands, DTOs) from coverage to keep the gate focused on business logic
- Add ~12 new test files covering models, drivers, controllers, jobs, auth
  flows, request validators, and the IP CIDR helper
- Fix Support\Ip::inNetwork PHP 8.4 TypeError in CIDR mask check
- Fix FirewallRule::command comparing the enum-cast type column to a string
- Fix Server::network using the wrong foreign key column
- Remove unreachable code under abort(403) in RegisteredUserController
2026-05-13 16:51:07 +01:00
harry aa680b25fd Implement Keystone environment deployments 2026-05-13 16:11:23 +01:00
harry 65d3142d03 Refactor to remove slices and environments, replace with instances. 2025-09-15 12:19:13 +01:00
harry a91780d1d5 New direction; removed wireguard, readme update 2025-09-07 11:37:52 +01:00
harry 82556535ba log ui 2025-05-22 19:15:44 +01:00
harry b0517a18ba get rid of empty output 2025-05-22 18:45:10 +01:00
harry 27a0f5b988 error logs mayne 2025-05-22 18:31:50 +01:00
harry 8575712931 step name 2025-05-22 18:06:08 +01:00
harry bcc7645a8a add keystone user to docker 2025-05-22 17:54:41 +01:00
harry 9ce024d479 deployments relationship 2025-05-22 17:47:55 +01:00
harry 41c8521936 secrets fix 2025-05-22 17:37:09 +01:00
harry 0b3c62fd5f oops 2025-05-22 17:32:24 +01:00
harry 145089f634 lower tiemr 2025-05-22 17:20:24 +01:00
harry 4051afca4e get deployment plan 2025-05-22 17:19:28 +01:00
harry bfe0f8eabf NetworkZone 2025-05-22 14:51:54 +01:00
harry 7d03b81723 logging server create failure 2025-05-22 14:04:14 +01:00
harry 513fd4309d default ip range for CreateNetworkRequest 2025-05-22 14:01:12 +01:00
harry 639d8af449 logging 2025-05-22 13:56:37 +01:00
harry 7174784b57 seeder for prod 2025-05-22 13:53:48 +01:00
harry ea5dcebe45 service credentials 2025-05-22 13:38:56 +01:00
harry afde59bd39 wip caddy deployment 2025-04-24 19:55:39 +01:00
harry 46a76f7bce redirect to server show page if a gateway is not installed on a given server 2025-04-24 19:08:21 +01:00
harry 6296c2d999 case insensitive file systems are SO GOOD pt2 2025-04-24 17:58:12 +01:00
harry dc3b2ede41 case insensitive file systems are SO GOOD 2025-04-24 17:58:00 +01:00
harry 680040966f const props 2025-04-24 17:19:00 +01:00
harry dfee28b428 server selector wip 2025-04-16 14:21:43 +01:00
harry ab9c6d622f WIP Environment UI 2025-04-15 14:13:00 +01:00
harry 6f3cf84a61 service controller test 2025-04-09 11:38:14 +01:00
harry eefe6243bc add credentials to services 2025-04-09 11:09:40 +01:00
harry a2a3e9002d use createservice action 2025-04-08 23:02:13 +01:00
harry 38db883b4c service name generation 2025-04-08 22:37:31 +01:00
harry d924d418c7 Validation, service form improvements 2025-04-08 22:33:05 +01:00
harry 628d6a14ed Token Authentication 2025-04-08 20:41:25 +01:00
harry 894d2238e6 Add missing inheritance for TestEnvironmentSeeder class 2025-04-08 20:31:53 +01:00
harry 71e7539c25 test env 2025-04-08 20:30:18 +01:00
harry 55b9485fcf Sync wireguard rules uses internal jumps if they are available 2025-04-08 20:23:16 +01:00
harry acf48a7ea6 hash URL 2025-04-08 19:58:49 +01:00
harry bde11c0b8c Header layout rather than sidebar layout 2025-04-08 19:17:12 +01:00
harry a7386814c7 counts on the dashboard 2025-04-08 17:54:33 +01:00
harry 57b35b4849 wip ui, hidden token on frontend 2025-04-07 20:14:17 +01:00
harry 609008afc7 keep data cached 2025-04-07 20:08:59 +01:00
harry 5d042900ae added tabs component, org show wip 2025-04-07 19:59:30 +01:00
harry 2e2c0a033b Add forNetwork method to ServerFactory and update DatabaseSeeder to associate servers with a network 2025-04-07 19:13:50 +01:00
harry 2b0f41cd7c pint 2025-04-07 19:10:40 +01:00
harry e8c8eeab18 tests pass! 2025-04-07 19:06:37 +01:00
harry a5854c7a04 create network if doesn't already exist on server, wip test 2025-04-07 18:24:33 +01:00
harry b2070e052d creating networks wip 2025-04-07 16:39:53 +01:00
harry 32d30e00aa field name consistency 2025-04-07 16:28:27 +01:00
harry 1e7d023b09 provider, enums, no timestamp 2025-04-07 15:52:59 +01:00
harry 7f546c1678 wip 2025-04-07 14:47:39 +01:00
harry b800a9d83a moving to provider stored in database 2025-04-07 14:38:28 +01:00
harry 6bd12bd6ca event 2025-04-07 13:49:54 +01:00
harry 1ffabe8093 invokable provision script controllers 2025-04-07 13:31:10 +01:00
harry a708c69698 unused var 2025-04-07 13:00:00 +01:00
harry 63d506370b sync public key back to the main server post-provision, once a new server is added sync the internal ips to all others 2025-04-07 12:58:22 +01:00
harry e15a80163b ran pint 2025-04-07 12:16:11 +01:00
harry ce8b201a1c queueable actions 2025-04-07 12:15:54 +01:00
harry 9e826e5f18 internal ip base config 2025-04-07 11:26:22 +01:00
harry 586a3888d0 wip 2025-04-07 11:17:25 +01:00
harry 629d19a682 internal ip ending 2025-04-07 11:12:16 +01:00
harry 319520c650 networks 2025-04-06 18:30:25 +01:00
harry 2d15f87f42 add private ip to servers table 2025-04-06 18:13:19 +01:00
harry 254bd726bb add wireguard to the provision script 2025-04-06 18:00:40 +01:00
harry dc2b672c85 removed console log, wireguard network plan 2025-04-06 17:59:21 +01:00
harry 587d10b074 icons on service create, firewall rule remove/install 2025-04-06 17:03:44 +01:00
harry 8f0e319a63 enum fix, create form wip 2025-04-01 16:33:50 +00:00
harry 0cd00c641b frontend js enums generation, started service/create 2025-04-01 16:18:46 +00:00
harry 4ff9b05cb4 arrayable enums, only use base ubuntu images, server controller tests, server frontend page fixes 2025-04-01 15:57:40 +00:00
harry d6a0fb3838 Firewall rules wip, server show improved 2025-03-31 17:18:56 +00:00
harry 65073632f1 configure the firewall 2025-03-31 16:47:11 +00:00
harry 9854b42f47 failure handling on steps, setting service status 2025-03-31 16:45:36 +00:00
harry 967a87a024 asd 2025-03-31 16:38:07 +00:00
harry 69490edb88 no strict checks 2025-03-31 16:36:07 +00:00
harry 84074c80f0 change path on runstep 2025-03-31 16:30:23 +00:00
harry 2092430e6b dont check if docker is installed. it is 2025-03-31 16:25:51 +00:00
harry 7cd771ad13 fail properly 2025-03-31 16:25:14 +00:00
harry 291b45fc67 relationship fix 2025-03-31 16:21:56 +00:00
harry 198c279abb no guard 2025-03-31 16:20:14 +00:00
harry b68720b125 morph map 2025-03-31 16:18:41 +00:00
harry a6e8c7e670 s m h 2025-03-31 16:16:31 +00:00
harry 336581fef6 bloody abstract 2025-03-31 16:13:43 +00:00
harry 3f1d3027d0 interfaces 2025-03-31 16:11:37 +00:00
harry 476229294d deployment failure status 2025-03-31 16:07:29 +00:00
harry 45d2c8dc8e driver name fix 2025-03-31 16:02:12 +00:00
harry 8f23e84c6d driverName 2025-03-31 15:58:51 +00:00
harry d5f969c453 command fixes 2025-03-31 15:54:51 +00:00
harry 7ad259bc38 Service deployment 2025-03-31 15:40:35 +00:00
harry a62565d0ad wip 2025-03-31 15:29:07 +00:00
harry 374ce90160 deployments wip 2025-03-31 14:27:47 +00:00
harry d150f57c8f enum case consistency, wip creating service 2025-03-31 13:51:02 +00:00
harry 75f2ecb7bf server list, logs removed, driver/plan wip 2025-03-31 12:41:09 +00:00
harry 678581b822 better IP validation 2025-03-30 15:49:55 +00:00
harry 25543b497f docker install 2025-03-30 15:40:45 +00:00
harry b180b5c3bc fixed ip check 2025-03-30 15:37:16 +00:00
harry a6efe2cd95 fixes for ssh 2025-03-30 15:33:11 +00:00
harry 5c1c15b3bc exclude csrf on callback 2025-03-30 15:30:56 +00:00