Commit Graph

768 Commits

Author SHA1 Message Date
sorki
25778c1dcd core: add System.Nix.Realisation 2023-12-07 16:35:16 +01:00
sorki
2f73cd9aef core: add System.Nix.OutputName 2023-12-07 16:35:16 +01:00
sorki
b8294ffb74 core: split parseNameText from mkStorePathName
so it can be used for `OutputName` as well
2023-12-07 16:35:16 +01:00
sorki
70443c884b core: improve mkStorePathName and its errors, add test 2023-12-07 16:35:16 +01:00
sorki
9cf2e1aa34 core: split name part errors from InvalidPathError to InvalidNameError 2023-12-07 16:35:16 +01:00
sorki
06935815c6 core: makeStorePathName -> mkStorePathName 2023-12-07 16:35:16 +01:00
sorki
569e68fad5 remote: drop no longer needed OverloadedStrings from Client 2023-12-07 16:35:16 +01:00
sorki
f93b21c58e remote: maybe _ id -> fromMaybe _ 2023-12-07 16:35:16 +01:00
sorki
8936300fbe core,remote: add OldBuildResult as it is the one we claim to support now 2023-12-07 16:35:16 +01:00
sorki
2cd4c32b84 tests: custom Arbitrary Metadata instance with forced SHA256 metadataNarHash, w/o (Just0) metadataNarBytes 2023-12-07 16:35:16 +01:00
sorki
a8077c5031 prefix Metadata fields 2023-12-07 16:35:16 +01:00
sorki
fb1bcfdb61 prefix BuildResult fields 2023-12-07 16:35:16 +01:00
sorki
d3c9bc3bf1 remote: fix buildResult whitespace 2023-12-07 16:35:16 +01:00
sorki
497d0f6d05 remote: move StoreReply to Types.StoreReply 2023-12-07 16:35:16 +01:00
sorki
de15745a64 remote: add ReplySError, RemoteStoreError_SerializerReply 2023-12-07 16:35:16 +01:00
sorki
218689d610 remote: add RequestSError, shave off undefineds 2023-12-07 16:35:16 +01:00
sorki
2443d3859f remote: pretty doReq, add haddock 2023-12-07 16:35:16 +01:00
sorki
b506f1a2d7 remote: use DList Logger
instead of slow-to-append-to list. Thanks for the suggestion!

Closes #63.

Co-Authored-By: Travis Whitaker <pi.boy.travis@gmail.com>
2023-12-07 16:35:16 +01:00
sorki
675581903e remote: implement Logger_Write
Adds `setDataSink` which can be used to set
a function to be called when daemon
sned us data using `Logger_Write`.

`clearDataSink` should be used after
the operation using the data sink is finished.
2023-12-07 16:35:16 +01:00
sorki
57cc9e3609 remote: implement Logger_Read
Adds `setDataSource` which can be used to set
a function to be polled when daemon asks
for data using `Logger_Read`.

Function should return `Nothing` when all
data was read.

`clearDataSource` should be used after
the operation using the data source is finished.

Related to #265
2023-12-07 16:35:16 +01:00
sorki
82262a1b1d remote: Client, no more need for nested runRemoteStoreT 2023-12-07 16:35:16 +01:00
sorki
f1f30af6d5 remote: also include what was parsed (via Show) in incremental parser errors 2023-12-07 16:35:15 +01:00
sorki
6ebc2fcc5b remote: handle errors in genericIncremental 2023-12-07 16:35:15 +01:00
sorki
c4315f1842 remote: handle IOExceptions in sockGet8 2023-12-07 16:35:15 +01:00
sorki
5d927d3402 remote: handle logger errors properly 2023-12-07 16:35:15 +01:00
sorki
001f4cad7a remote: deal with logger, tagless 2023-12-07 16:35:15 +01:00
sorki
a934eb1e19 remote: MonadRemoteStoreR 2023-12-07 16:35:15 +01:00
sorki
c25a5a8535 remote: init Remote.Client.doReq 2023-12-07 16:35:15 +01:00
sorki
0c54337dbf remote: add NarSource to RemoteStoreState, add setNarSource, takeNarSource to MonadRemoteStore 2023-12-07 16:35:15 +01:00
sorki
638ac9ea80 remote: fix dumm(p)y path typo 2023-12-07 16:35:15 +01:00
sorki
11a9bfffd0 remote: align AddToStore and AddTextToStore serializers with old versions 2023-12-07 16:35:15 +01:00
sorki
9b66373471 remote: fix arbitrary repair mode of AddToStore AddTextToStore to DontRepair 2023-12-07 16:35:15 +01:00
sorki
a39ee890d0 remote: init Remote.Server 2023-12-07 16:35:15 +01:00
sorki
c0a17f25a0 remote: MonadRemoteStore typeclass
Related to #72

Co-Authored-By: Guillaume Maudoux <layus.on@gmail.com>
2023-12-06 16:25:38 +01:00
sorki
bc98de1bf3 remote: drop MonadRemote* store aliases 2023-12-06 16:25:38 +01:00
sorki
217ea1b8ad remote: add CollectGarbage StoreRequest 2023-12-06 16:25:38 +01:00
sorki
6074504bcc remote: change AddSignatures from [ByteString] to Set Signature 2023-12-06 16:25:38 +01:00
sorki
265d25256d core: split signature/narSignature parser/builder 2023-12-06 16:25:38 +01:00
sorki
8b1db174bc remote: add Types.Query.Missing for QueryMissing result 2023-12-06 16:25:38 +01:00
sorki
a05377a983 remote: add Types.Handshake, use as a greeting result 2023-12-06 16:25:38 +01:00
sorki
ea49946a19 remote: add preStoreConfigToStoreConfig, use in handshake 2023-12-06 16:25:38 +01:00
sorki
a8a4d66f6e remote: protoVersion_minor 21 -> 24 2023-12-06 16:25:38 +01:00
sorki
d5557680de remote: handshake - use minimumCommonVersion of our vs daemon protoVersion 2023-12-06 16:25:38 +01:00
sorki
14f93bf30b remote: add Types.TrusteFlag, serializer, use in client, more props for handshake
Co-Authored-By: John Ericson <John.Ericson@Obsidian.Systems>
2023-12-06 16:25:38 +01:00
sorki
4adf509a7e temp: add source-repository-package override for dependent-sum-template
until https://github.com/obsidiansystems/dependent-sum-template/pull/7
and its next release.
2023-12-06 16:25:38 +01:00
sorki
d8df1cccfd remote: no more hacks for StoreRequest prop 2023-12-06 16:25:38 +01:00
sorki
9fb7854541 tests: custom Arbitrary Trace and Arbitrary ErrorInfo w/o (Just 0) 2023-12-06 16:25:38 +01:00
sorki
c815068e60 tests: add custom Arbitrary (Maybe Text) that doesn't generate Just mempty 2023-12-06 16:25:38 +01:00
sorki
a7fbcf7a02 tests: custom Arbitrary BuildResult without Just mempty errorMessage 2023-12-06 16:25:38 +01:00
sorki
cc931dde1e tests: custom Arbitrary UTCTime instance, drop quickcheck-instances
in favor of our own small set of required instances.
2023-12-06 16:25:38 +01:00