Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ATL-1759] feat(castor): castor services scaffolding #24

Merged
merged 29 commits into from
Sep 15, 2022

Conversation

patlo-iog
Copy link
Contributor

@patlo-iog patlo-iog commented Sep 12, 2022

Overview

Contributes to ATL-1759

Add basic scaffolding for Castor backend services. Ignore the *.mustache files since they are simply the template files from OpenAPI Generator tool

NOTE: Testing was not included because of pending decision on what test kit to use.
NOTE2: Castor client scaffolding will be a separate PR

Added features

  • Castor API service
  • Castor worker process
  • Codegen from OpenAPI definition
  • Codegen from gRPC definition
  • DB integration code sample (doobie + hikari + ZIO interop)
  • Code formatting

Checklist

  • Self-reviewed the diff
  • New code has inline documentation
  • New code has proper comments/tests
  • Any changes not covered by tests have been tested manually

@patlo-iog patlo-iog force-pushed the feature/ATL-1759-castor-scaffolding branch from d17227b to e54e839 Compare September 12, 2022 11:39
@patlo-iog patlo-iog force-pushed the feature/ATL-1759-castor-scaffolding branch from c5d0bfd to 70e1961 Compare September 13, 2022 09:13
@patlo-iog patlo-iog force-pushed the feature/ATL-1759-castor-scaffolding branch from 5f93529 to e4bc0d0 Compare September 13, 2022 10:58
@patlo-iog patlo-iog force-pushed the feature/ATL-1759-castor-scaffolding branch from 2d5a447 to 0cdf232 Compare September 13, 2022 11:27
@patlo-iog patlo-iog force-pushed the feature/ATL-1759-castor-scaffolding branch from 08d310a to e588abd Compare September 14, 2022 08:18
@patlo-iog patlo-iog force-pushed the feature/ATL-1759-castor-scaffolding branch from a66349d to eb57758 Compare September 14, 2022 09:36
@patlo-iog patlo-iog force-pushed the feature/ATL-1759-castor-scaffolding branch from f4a73d9 to 46dc82f Compare September 14, 2022 17:14
@patlo-iog patlo-iog changed the title [ATL-1759] feat(castor): castor scaffolding (WIP) [ATL-1759] feat(castor): castor services scaffolding Sep 15, 2022
@patlo-iog patlo-iog requested a review from a team September 15, 2022 05:27
@patlo-iog patlo-iog marked this pull request as ready for review September 15, 2022 05:27
@patlo-iog patlo-iog requested review from a team, loverdos and atala-dev and removed request for a team September 15, 2022 05:27
@patlo-iog patlo-iog merged commit 45a18c9 into main Sep 15, 2022
@patlo-iog patlo-iog deleted the feature/ATL-1759-castor-scaffolding branch September 15, 2022 19:07
patlo-iog pushed a commit that referenced this pull request Aug 17, 2023
…epo subject to the Developer Certificate of Origin (DCO), Version 1.1.

216ff3a fix(prism-agent): fix OAS on empty DID resolution representation (#616)
4fb1ca7 test: silence migration loggers in tests (#612)
7609e35 build: dependencies updates (#601)
bb1f112 fix(castor): align DID document translation logic (#595)
a1e457a fix(prism-agent): add did-method path segment in HD key derivation (#596)
a8b2f85 build: fix failing build (#597)
fa8c720 docs: improve explanation on DID update lineage (#587)
c0db5c8 fix(pollux): add pagination at db level for getCredentialRecords (#586)
c9e69f6 feat(prism-agent): align DID document service handling with the spec (#582)
24b2300 fix(castor): fix DID parser that failing to parse some DIDs (#581)
e8411dd fix(prism-agent): fix concurrent requests breaking DID index counter (#571)
6a5f9ce fix(prism-agent): decouple secret storage backend from agent (#570)
f450563 chore: cleanup unused oas api template (#566)
d6ff373 test: add key derivation benchmark tests and docs (#563)
3d7696b docs: add new tutorial page on seed generation and fixes (#561)
c3a5d8e fix: log seed error before effect fail (#557)
ee43feb feat(prism-agent): integrate DID secret storage with Vault (#543)
6129baf feat(prism-agent): add support for hierarchical deterministic key with seed (#534)
e36c634 fix(prism-agent): refactor crypto abstraction in the walletAPI (#522)
7bda5b0 chore: cleanup castor and wallet-api unused code (#519)
88eeefd feat(prism-agent): migrate did-registrar endpoint to tapir (#517)
9d587ff feat(prism-agent): migrate DID endpoint to tapir (#511)
8384fe3 feat(castor): add support for context in DID document & operation (#489)
e426a82 feat(prism-node): add context to protobuf definition (#487)
6e5bc5f ci: customize protolint rule in megalinter (#478)
2af6d11 docs: update did tutorial examples (#469)
af356d6 fix(prism-agent): fix incorrect long-form parsing behavior on resolution endpoint (#475)
f269b7e fix(pollux): upgrade castor version (#472)
5ed0978 fix(castor): fix unintended ordering behavior when parsing long-form DID (#471)
1cbb729 feat(prism-agent): add universal-resolver compatible endpoint (#455)
184838c docs: add docusaurus deactivate DID guide (#437)
30d11ff docs: improve DID OAS documentation (#442)
8b34217 docs: add docusaurus DID update guide (#417)
490ae2d docs: docusaurus publish DID guide (#406)
bf03674 fix(prism-agent): avoid race condition when update or deactivate DID (#415)
dd04c3f fix(prism-agent): add consistency to documentation of OAS on DID endpoints (#408)
447817d tests(prism-agent): fix failing e2e Prism DID scenarios (#402)
6a98f70 fix(prism-agent): add uri normalization on UpdateService patch (#401)
cd77edc docs: add create-DID docusaurus guide (#383)
a21e388 feat(prism-agent): add pagination to did-registrar list DID endpoint (#394)
3d08996 feat(prism-agent): fix DID service URI class and improve validation error response message (#389)
757b16b feat(pollux): upgrade castor vertion to 0.8.1 (#388)
f92fed6 fix(castor): use URI that is compliant to RFC3986 (#385)
1aa856f feat(prism-agent): do not create new Prism DID when proof presentation is generated (#378)
253f827 feat(pollux): check prover DID is the same as VC subject when creating a VP (#377)
1305555 test(pollox): make munit tests run (#374)
1c1a171 feat(prism-agent): issue credential to Prism DID holder by Prism DID issuer (#373)
5a1acde feat(pollux): support issuing VC to Prism DID subject by Prism DID issuer (#371)
74e1d21 test(prism-agent): add wallet-api and key-management tests (#362)
b8643a8 feat(prism-agent): upgrade castor and pollux and align OAS to the DID spec (#342)
00a6026 feat(pollux): upgrade castor and update DID public key extraction logic (#339)
7992b80 feat(castor): align castor implementation with DID spec (#336)
29a804f feat(prism-agent): add deactivate DID endpoint (#326)
de180a6 feat(pollux): upgrade castor to 0.7.0 (#330)
5ceb7e9 feat(castor): add support DID deactivate operation (#325)
a934cd4 fix(prism-agent): remove deprecated did-auth endpoints (#324)
a57365f feat(prism-agent): enable update DID operation on prism-agent (#307)
c97624d feat(pollux): upgrade castor to 0.6.0 (#320)
27b77b2 feat(castor): add support for DID update operation (#306)
af71ba1 ci: disable tsql linter and customise sql-lint linter (#313)
762c0cf ci: use latest megalinter version 6.18 for pre-commit hook (#308)
5661e76 feat(castor): upgrade node client for new key type (#287)
a533507 feat(prism-node): align Prism DID protobuf key type (#286)
7e116a3 feat(prism-agent): implement JDBC did nonsecret storage (#284)
ea10db5 feat(pollux): integrate castor resolver to pollux-jwt-vc library (#250)
27370ab fix(castor): add missing did document field (#251)
0ba3b89 feat(prism-agent): upgrade castor version with DID serviceEndpoint (#229)
8223740 feat(castor): upgrade castor with service in protobuf definition (#224)
8a6bad5 feat(prism-agent): bump dependencies version (#228)
53841d6 feat(prism-node): move api directory / make client releasable (#223)
680ef7b feat(prism-node): add service to prism-node protobuf (#222)
d7618eb infra: make prism-agent wait for db (#218)
e149f58 build(prism-agent): remove mistakenly added sbt settings (#214)
0308b4f feat(prism-agent): remove unused / deprecated DID endpoints (#213)
d5e08ab feat(prism-agent): implement get DIDs endpoint (#198)
7fba9b0 feat(prism-agent): implement DID resolution endpoint (#184)
d72159f feat(castor): implement translation of Node DidData to W3C DidDocument (#182)
e85e7c0 feat(prism-agent): upgrade castor on prism-agent (#141)
56cc1c3 feat(connect): bump up shared version to use 0.2.0
4809414 feat(pollux): fix shared version to 0.2.0
5e3445f feat(castor): update castor to use prism-node protobuf (#136)
14906a6 chore(pollux): upgrade shared lib version (#148)
70555c9 feat(shared): add base64 helper function (#135)
b39e38f ci(prism-node): add prism-node github workflow (#129)
948e864 feat(prism-node): add prism-node scala grpc client generation (#128)
71937da ci: add prism-node commit scope (#127)
a873090 fix(prism-agent): reuse db connection for background job (#102)
9cd1faa ci: rename commit scope agent to prism-agent (#97)
4a88ded feat(agent): integrate key-manage into prism-agent server (#77)
47dc3cd feat: define key-management interface (3) (#71)
a19a781 fix(iris): align type signature (#72)
bcb0991 [ATL-1925] feat(agent): define key-management interface (2) (#66)
6f5534d [ATL-1925] feat(agent): define key-management interface (1) (#63)
8492422 [ATL-1926] feat(castor): implement createPublishedDID (3) (#58)
f6afd38 [ATL-1926] feat(castor): implement createPublishedDID (2) (#53)
4e5260e [ATL-1926] feat(castor): implement createPublishedDID functionality (1) (#48)
24786b9 [ATL-1924] feat: rfc17 repo restructure (#47)
6f25f4c [ATL-1808] feat(castor): update http server for new OAS (#35)
642a2cd [ATL-1759] feat(castor): merge worker and api-server into a single runnable (#28)
45a18c9 [ATL-1759] feat(castor): castor services scaffolding (#24)
ca13854 Merge pull request #13 from input-output-hk/resolve-castor-c4-comment
fa7688c docs(castor): adjust diagram according to review comments
359ffd6 [ATL-1477] add Castor C4 diagram (#6)

Signed-off-by: Pat Losoponkul <[email protected]>
antonbaliasnikov pushed a commit that referenced this pull request Aug 21, 2023
…epo subject to the Developer Certificate of Origin (DCO), Version 1.1.

216ff3a fix(prism-agent): fix OAS on empty DID resolution representation (#616)
4fb1ca7 test: silence migration loggers in tests (#612)
7609e35 build: dependencies updates (#601)
bb1f112 fix(castor): align DID document translation logic (#595)
a1e457a fix(prism-agent): add did-method path segment in HD key derivation (#596)
a8b2f85 build: fix failing build (#597)
fa8c720 docs: improve explanation on DID update lineage (#587)
c0db5c8 fix(pollux): add pagination at db level for getCredentialRecords (#586)
c9e69f6 feat(prism-agent): align DID document service handling with the spec (#582)
24b2300 fix(castor): fix DID parser that failing to parse some DIDs (#581)
e8411dd fix(prism-agent): fix concurrent requests breaking DID index counter (#571)
6a5f9ce fix(prism-agent): decouple secret storage backend from agent (#570)
f450563 chore: cleanup unused oas api template (#566)
d6ff373 test: add key derivation benchmark tests and docs (#563)
3d7696b docs: add new tutorial page on seed generation and fixes (#561)
c3a5d8e fix: log seed error before effect fail (#557)
ee43feb feat(prism-agent): integrate DID secret storage with Vault (#543)
6129baf feat(prism-agent): add support for hierarchical deterministic key with seed (#534)
e36c634 fix(prism-agent): refactor crypto abstraction in the walletAPI (#522)
7bda5b0 chore: cleanup castor and wallet-api unused code (#519)
88eeefd feat(prism-agent): migrate did-registrar endpoint to tapir (#517)
9d587ff feat(prism-agent): migrate DID endpoint to tapir (#511)
8384fe3 feat(castor): add support for context in DID document & operation (#489)
e426a82 feat(prism-node): add context to protobuf definition (#487)
6e5bc5f ci: customize protolint rule in megalinter (#478)
2af6d11 docs: update did tutorial examples (#469)
af356d6 fix(prism-agent): fix incorrect long-form parsing behavior on resolution endpoint (#475)
f269b7e fix(pollux): upgrade castor version (#472)
5ed0978 fix(castor): fix unintended ordering behavior when parsing long-form DID (#471)
1cbb729 feat(prism-agent): add universal-resolver compatible endpoint (#455)
184838c docs: add docusaurus deactivate DID guide (#437)
30d11ff docs: improve DID OAS documentation (#442)
8b34217 docs: add docusaurus DID update guide (#417)
490ae2d docs: docusaurus publish DID guide (#406)
bf03674 fix(prism-agent): avoid race condition when update or deactivate DID (#415)
dd04c3f fix(prism-agent): add consistency to documentation of OAS on DID endpoints (#408)
447817d tests(prism-agent): fix failing e2e Prism DID scenarios (#402)
6a98f70 fix(prism-agent): add uri normalization on UpdateService patch (#401)
cd77edc docs: add create-DID docusaurus guide (#383)
a21e388 feat(prism-agent): add pagination to did-registrar list DID endpoint (#394)
3d08996 feat(prism-agent): fix DID service URI class and improve validation error response message (#389)
757b16b feat(pollux): upgrade castor vertion to 0.8.1 (#388)
f92fed6 fix(castor): use URI that is compliant to RFC3986 (#385)
1aa856f feat(prism-agent): do not create new Prism DID when proof presentation is generated (#378)
253f827 feat(pollux): check prover DID is the same as VC subject when creating a VP (#377)
1305555 test(pollox): make munit tests run (#374)
1c1a171 feat(prism-agent): issue credential to Prism DID holder by Prism DID issuer (#373)
5a1acde feat(pollux): support issuing VC to Prism DID subject by Prism DID issuer (#371)
74e1d21 test(prism-agent): add wallet-api and key-management tests (#362)
b8643a8 feat(prism-agent): upgrade castor and pollux and align OAS to the DID spec (#342)
00a6026 feat(pollux): upgrade castor and update DID public key extraction logic (#339)
7992b80 feat(castor): align castor implementation with DID spec (#336)
29a804f feat(prism-agent): add deactivate DID endpoint (#326)
de180a6 feat(pollux): upgrade castor to 0.7.0 (#330)
5ceb7e9 feat(castor): add support DID deactivate operation (#325)
a934cd4 fix(prism-agent): remove deprecated did-auth endpoints (#324)
a57365f feat(prism-agent): enable update DID operation on prism-agent (#307)
c97624d feat(pollux): upgrade castor to 0.6.0 (#320)
27b77b2 feat(castor): add support for DID update operation (#306)
af71ba1 ci: disable tsql linter and customise sql-lint linter (#313)
762c0cf ci: use latest megalinter version 6.18 for pre-commit hook (#308)
5661e76 feat(castor): upgrade node client for new key type (#287)
a533507 feat(prism-node): align Prism DID protobuf key type (#286)
7e116a3 feat(prism-agent): implement JDBC did nonsecret storage (#284)
ea10db5 feat(pollux): integrate castor resolver to pollux-jwt-vc library (#250)
27370ab fix(castor): add missing did document field (#251)
0ba3b89 feat(prism-agent): upgrade castor version with DID serviceEndpoint (#229)
8223740 feat(castor): upgrade castor with service in protobuf definition (#224)
8a6bad5 feat(prism-agent): bump dependencies version (#228)
53841d6 feat(prism-node): move api directory / make client releasable (#223)
680ef7b feat(prism-node): add service to prism-node protobuf (#222)
d7618eb infra: make prism-agent wait for db (#218)
e149f58 build(prism-agent): remove mistakenly added sbt settings (#214)
0308b4f feat(prism-agent): remove unused / deprecated DID endpoints (#213)
d5e08ab feat(prism-agent): implement get DIDs endpoint (#198)
7fba9b0 feat(prism-agent): implement DID resolution endpoint (#184)
d72159f feat(castor): implement translation of Node DidData to W3C DidDocument (#182)
e85e7c0 feat(prism-agent): upgrade castor on prism-agent (#141)
56cc1c3 feat(connect): bump up shared version to use 0.2.0
4809414 feat(pollux): fix shared version to 0.2.0
5e3445f feat(castor): update castor to use prism-node protobuf (#136)
14906a6 chore(pollux): upgrade shared lib version (#148)
70555c9 feat(shared): add base64 helper function (#135)
b39e38f ci(prism-node): add prism-node github workflow (#129)
948e864 feat(prism-node): add prism-node scala grpc client generation (#128)
71937da ci: add prism-node commit scope (#127)
a873090 fix(prism-agent): reuse db connection for background job (#102)
9cd1faa ci: rename commit scope agent to prism-agent (#97)
4a88ded feat(agent): integrate key-manage into prism-agent server (#77)
47dc3cd feat: define key-management interface (3) (#71)
a19a781 fix(iris): align type signature (#72)
bcb0991 [ATL-1925] feat(agent): define key-management interface (2) (#66)
6f5534d [ATL-1925] feat(agent): define key-management interface (1) (#63)
8492422 [ATL-1926] feat(castor): implement createPublishedDID (3) (#58)
f6afd38 [ATL-1926] feat(castor): implement createPublishedDID (2) (#53)
4e5260e [ATL-1926] feat(castor): implement createPublishedDID functionality (1) (#48)
24786b9 [ATL-1924] feat: rfc17 repo restructure (#47)
6f25f4c [ATL-1808] feat(castor): update http server for new OAS (#35)
642a2cd [ATL-1759] feat(castor): merge worker and api-server into a single runnable (#28)
45a18c9 [ATL-1759] feat(castor): castor services scaffolding (#24)
ca13854 Merge pull request #13 from input-output-hk/resolve-castor-c4-comment
fa7688c docs(castor): adjust diagram according to review comments
359ffd6 [ATL-1477] add Castor C4 diagram (#6)

Signed-off-by: Pat Losoponkul <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants