about summary refs log tree commit diff
path: root/flake.nix
Commit message (Collapse)AuthorAgeFilesLines
* Add a NixOS test for receiving webmentionsVika2023-07-221-0/+1
|
* Move NixOS tests to a separate folder to prevent clutterVika2023-07-221-3/+3
|
* Implement Postgres backendVika2023-07-091-0/+2
| | | | | | | A single giga-commit that took me weeks to produce. I know, this is not exactly the best thing ever — but I wanted to experiment first before "committing" to the implementation, so that I would produce the best solution.
* Passthru NixOS VM testsVika2023-07-091-0/+3
|
* mockito: 0.30.0 -> 0.32.3Vika2023-02-271-3/+3
|
* Flake stuffVika2023-02-271-1/+7
|
* Switch to TypeScriptVika2022-09-281-1/+4
| | | | | | | | This neccesitates installing TypeScript to build Kittybox, but thankfully Nix actually takes care of that. Build Kittybox with Nix and you won't have problems. Also now I can safely do stuff.
* flake.nix: move the devShell into its own fileVika2022-05-261-13/+1
|
* Remove redundant naersk-lib overrideVika2022-05-261-4/+3
|
* flake.nix: reorganizeVika2022-05-241-267/+12
| | | | | | | | | | | | - Kittybox's source code is moved to a subfolder - This improves build caching by Nix since it doesn't take changes to other files into account - Package and test definitions were spun into separate files - This makes my flake.nix much easier to navigate - This also makes it somewhat possible to use without flakes (but it is still not easy, so use flakes!) - Some attributes were moved in compliance with Nix 2.8's changes to flake schema
* flake.nix: use rustc from nixpkgs every timeVika2022-05-241-21/+5
|
* flake.nix: make a test for distributed KittyboxVika2022-05-241-4/+16
| | | | | | | | | | | I said some boastful words about Kittybox being able to horizontally scale and I wanted to prove them. This is the proof. This test creates an NFS file server, then spawns three VMs. Provisioning a website on one of them, it then queries the website on all of the three machines. This shows that a shared backing store can make Kittybox infinitely scale horizontally depending on how much traffic you're getting.
* flake.nix: fix maintainer entryVika2022-05-131-1/+1
|
* nixos-test: use proper content-type for onboardingVika2022-05-131-1/+1
| | | | | | It looks like previous versions did not check Content-Type and I was able to get away with it. Warp is much more strict in that regard (and it is good).
* flake.nix: push kittybox to checks so Hydra will show it separatelyVika2022-05-131-0/+1
|
* flake.nix: fix build and clean upVika2022-05-071-6/+8
| | | | | | | | | - Somehow it looks like zlib is required, but wasn't passed - Log level in the test is set to (mostly) info - A needless comment is deleted - Single-step build is enabled. Since this is a multi-crate workspace now, naersk will not offer much in terms of incrementality (and I use `nix develop` anyway with a dev-shell)
* flake.nix: use rustc from nixpkgs on release buildsVika2022-05-051-2/+1
|
* added tokio-console instrumentation supportVika2022-04-171-4/+4
|
* flake.nix: added some tools to simplify my workflowVika2022-04-151-1/+2
|
* Added a docker container image built from NixVika2022-03-181-2/+43
| | | | | | This is so minimal it can't be much less than this. Use it with `docker load`.
* update dev script to use systemfd and cargo-watchVika2022-03-021-1/+2
|
* Add a module for IndieAuth bearer token authVika2022-02-211-3/+7
| | | | | | | | | | | | | require_token() uses a token endpoint URI and an HTTP client to query the token endpoint and return a User object if the user was authorized, or rejecting with IndieAuthError if not. It is recommended to use recover() and catch the IndieAuthError at the application level to show a "not authorized" error message to the user. This function is more intended for API consumption, but is general enough to permit using in other scenarios. TODO: make a variant that returns Option<User> instead of rejecting
* flake: fix e2e testsVika2021-12-311-5/+3
|
* Added support for IndieAuth client sign inVika2021-12-061-0/+11
| | | | | | | This will allow readers to view private posts intended just for them. Additionally fixed bugs in patterns due to which webmentions might not have been sent.
* Added rust-analyzer to the dev environmentVika2021-12-051-3/+2
|
* Modified the module to use BACKEND_URIVika2021-09-281-34/+28
|
* Added RUST_LOG variable to NixOS moduleVika2021-08-061-0/+1
|
* Nulls are VERY evilVika2021-08-041-0/+3
|
* Turns out nulls are evilVika2021-08-041-3/+5
|
* Fixed lack of default for internalTokenFileVika2021-08-041-0/+1
|
* Added some options to the module, they don't work yet thoVika2021-08-041-0/+31
|
* Added an internal token mechanismVika Shleina2021-07-271-1/+12
| | | | | | | | The internal token is a shared secret that can update and delete any posts stored in the database. It is intended for use in webmention endpoints to update posts with latest webmentions. Please keep it safe.
* Fixed flake-utils?Vika Shleina2021-07-191-2/+6
|
* Added a NixOS test for onboarding workflowVika2021-07-191-1/+28
|
* Renamed main executable to kittybox, added toolsVika Shleina2021-07-191-8/+8
| | | | | | | | | The new tools are: - kittybox-bulk-import, a bare-bones Micropub client that reads a JSON list of posts and then sends them one by one to the Micropub endpoint - pyindieblog-export, my personal tool which directly connects to Pyindieblog's redis instance and extracts data from it in JSON format suitable for use with kittybox-bulk-import.
* Added a NixOS module and a smoke test for itVika2021-05-111-1/+119
|
* Removed openssl dependency - now the code is pure RustVika2021-05-101-7/+1
|
* Switched to naersk for building crates with Nix... that requires unstable Cargo!Vika2021-05-051-9/+16
|
* Refactored the database module and its testsVika2021-05-041-1/+2
|
* Initial commitVika2021-05-041-0/+66
Working features: - Sending posts from the database - Reading posts from the database - Responding with MF2-JSON (only in debug mode!) - Not locking the database when not needed - All database actions are atomic (except for a small race where UIDs can clash, but that's not gonna happen often) TODOs: - Send webmentions - Send syndication requests - Send WebSub notifications - Make tombstones for deleted posts (update adding dt-deleted) - Rich reply contexts (possibly on the frontend part?) - Frontend? - Fix UID race Code maintenance TODOs: - Split the database module - Finish implementing the in-memory test database - Make RedisDatabase unit tests launch their own Redis instances (see redis-rs/tests/support/mod.rs for more info) - Write more unit-tests!!!