Commit Graph

209 Commits

Author SHA1 Message Date
fd3fd30df9 module.nix: load mysql.passwordFile via LoadCredential 2025-11-30 04:08:02 +09:00
0e10e6dde9 assets/system: use shorter description 2025-11-30 04:08:02 +09:00
de57860395 module.nix: apply chroot 2025-11-30 04:08:01 +09:00
1fe08b59a3 server: implement graceful shutdown and reloads 2025-11-30 04:08:01 +09:00
4a6e49110a server: remove config args, store config path in supervisor 2025-11-29 20:38:32 +09:00
b4db2daac7 server: note implementation overview for graceful restarts/shutdown 2025-11-29 19:58:23 +09:00
865b24884e Add command check-auth 2025-11-29 19:37:54 +09:00
03ddf0ac8a core: move DbOrUser to types, wrap item name in struct 2025-11-29 19:34:14 +09:00
877f45c103 nix: vendor systemd units 2025-11-29 15:20:15 +09:00
fe87f72b00 core: derive Debug + Clone for UnixUser 2025-11-29 00:56:43 +09:00
dac1c147dd server: fix connection counter 2025-11-29 00:56:43 +09:00
bc4f2bc71c server: move peer cred checking to connection task
This commit also gets rid of the database connection closing helper
2025-11-29 00:56:43 +09:00
7ce81ddc55 server: log connection pool options 2025-11-29 00:54:31 +09:00
898a5e6ab0 server: set nonblocking option on systemd socket 2025-11-29 00:54:31 +09:00
9138613267 server: remove dead (moved) code 2025-11-29 00:54:30 +09:00
3eac8ffd94 server: set minimum number of tokio worker threads 2025-11-29 00:54:30 +09:00
e51e8fe408 flake.nix: fix loglevel setting, module.nix: use default loglevel 'info'
All checks were successful
Build and test / check (push) Successful in 2m6s
Build and test / build (push) Successful in 2m45s
Build and test / check-license (push) Successful in 5m30s
Build and test / test (push) Successful in 3m39s
Build and test / docs (push) Successful in 5m2s
2025-11-26 19:11:06 +09:00
fa1d27e09c server: make use of database connection pool 2025-11-26 19:11:06 +09:00
20331a4429 server: refactor server logic into supervisor + session handler 2025-11-26 19:11:05 +09:00
f5ff50365f client: fix doccomment for edit-privs
All checks were successful
Build and test / check (push) Successful in 1m25s
Build and test / build (push) Successful in 3m0s
Build and test / test (push) Successful in 2m47s
Build and test / check-license (push) Successful in 5m44s
Build and test / docs (push) Successful in 5m54s
2025-11-26 14:10:42 +09:00
7fa6f6aafe server: add connection counter
All checks were successful
Build and test / check (push) Successful in 2m16s
Build and test / build (push) Successful in 2m43s
Build and test / check-license (push) Successful in 5m41s
Build and test / test (push) Successful in 3m37s
Build and test / docs (push) Successful in 5m4s
2025-11-26 13:51:07 +09:00
77667e546c README: improve joke
It somehow got worse
2025-11-26 13:51:03 +09:00
f9c5f1347e client: rename <verb>-db-privs -> <verb>-privs 2025-11-26 13:50:43 +09:00
a4acfe91af Rename project to muscl 2025-11-26 13:50:06 +09:00
805c2d11ff core/protocol: split commands into separate files
All checks were successful
Build and test / check (push) Successful in 2m8s
Build and test / build (push) Successful in 3m3s
Build and test / check-license (push) Successful in 4m58s
Build and test / test (push) Successful in 3m47s
Build and test / docs (push) Successful in 5m47s
2025-11-26 02:51:23 +09:00
c9815fe7de Remove tui stub
This should just be added later when (if) it is ever implemented
2025-11-26 02:08:31 +09:00
1571f6e2c7 core: split mysql user/db into separate types module 2025-11-26 02:03:18 +09:00
9e39401049 client: split commands into separate files 2025-11-26 01:51:08 +09:00
4fb60f8563 client: rename and merge user/db command modules 2025-11-26 01:25:47 +09:00
39fa228d1c flake.nix: build with crane for vm
All checks were successful
Build and test / check (push) Successful in 1m30s
Build and test / build (push) Successful in 3m56s
Build and test / test (push) Successful in 2m55s
Build and test / check-license (push) Successful in 5m32s
Build and test / docs (push) Successful in 6m47s
2025-11-26 01:10:01 +09:00
412e5c1604 Cargo.toml: bump deps
All checks were successful
Build and test / check (push) Successful in 1m42s
Build and test / build (push) Successful in 2m47s
Build and test / test (push) Successful in 3m17s
Build and test / check-license (push) Successful in 6m4s
Build and test / docs (push) Successful in 5m36s
2025-11-25 19:38:05 +09:00
d350438176 cargo-deny: fix license list 2025-11-25 19:38:05 +09:00
d1de7b71bb .gitea/workflows: check licenses 2025-11-25 19:38:04 +09:00
8b893db898 .gitea/workflows: test and push coverage 2025-11-25 19:38:04 +09:00
03a761a0ff Refactor privilege handling
All checks were successful
Build / check (push) Successful in 2m41s
Build / build (push) Successful in 3m5s
Build / docs (push) Successful in 5m37s
2025-11-25 19:20:46 +09:00
7760b001d8 Get rid of dependency on 'futures'
All checks were successful
Build / check (push) Successful in 1m32s
Build / build (push) Successful in 4m11s
Build / docs (push) Successful in 7m2s
2025-11-20 19:34:24 +09:00
9d3b543998 Add pipeline for publishing debs
All checks were successful
Build / check (push) Successful in 1m32s
Build / build (push) Successful in 3m8s
Build / docs (push) Successful in 5m44s
2025-11-11 02:21:57 +09:00
6a7e8db162 Add script to create deb package
All checks were successful
Build / check (push) Successful in 1m38s
Build / build (push) Successful in 3m47s
Build / docs (push) Successful in 5m41s
2025-11-11 01:29:34 +09:00
30d02775c2 Make compile-time feature for SUID/SGID mode
All checks were successful
Build / check (push) Successful in 1m27s
Build / build (push) Successful in 2m46s
Build / docs (push) Successful in 6m33s
2025-11-11 00:28:34 +09:00
0feb959199 .gitea/workflows: remove rust cache step
All checks were successful
Build / check (push) Successful in 1m28s
Build / build (push) Successful in 3m47s
Build / docs (push) Successful in 5m39s
This is broken and just takes a bunch of time, removing it for now
2025-11-11 00:06:23 +09:00
c2dcd40442 cargo fmt
Some checks failed
Build / check (push) Successful in 11m49s
Build / build (push) Successful in 12m51s
Build / docs (push) Has been cancelled
2025-11-10 23:50:55 +09:00
7514d5e738 flake.nix: set vim as default editor in test vm
Some checks failed
Build / check (push) Failing after 5m52s
Build / build (push) Successful in 13m18s
Build / docs (push) Successful in 15m43s
2025-11-10 22:56:37 +09:00
c6d3bbca6f Add warning comments for functions running as SUID/SGID
Some checks failed
Build / check (push) Failing after 5m22s
Build / build (push) Successful in 14m47s
Build / docs (push) Successful in 15m41s
2025-11-10 12:11:24 +09:00
d932b57aaa Use multithreaded tokio runtime for external server
Some checks failed
Build / check (push) Failing after 5m19s
Build / build (push) Successful in 13m21s
Build / docs (push) Successful in 18m22s
2025-11-10 01:28:01 +09:00
f90e60d856 server: don't unset NOTIFY_SOCKET on enabling watchdog 2025-11-10 01:06:37 +09:00
46c5d372b2 Deduplicate common username/group prefixes in error msg
Some checks failed
Build / check (push) Failing after 5m20s
Build / build (push) Successful in 12m54s
Build / docs (push) Successful in 16m35s
2025-11-10 00:50:36 +09:00
e8b28f5116 flake.nix: misc fixes to test vm
Some checks failed
Build / docs (push) Has been cancelled
Build / build (push) Has been cancelled
Build / check (push) Has been cancelled
2025-11-10 00:40:01 +09:00
9e23f03ca2 Use non-templated systemd service
The previous setup was broken

This commit also adds some code to check that the database connection is
valid before it starts, as well as refactors the code that splits
between starting and external or internal server.
2025-11-10 00:38:26 +09:00
bd4791dc17 Check that executable is not SUID/SGID for unrelated subcommands 2025-11-10 00:33:53 +09:00
05a4f9ad1d module.nix: don't run with debug logging by default (move to test vm) 2025-11-09 20:28:19 +09:00