diff --git a/.allstar/binary_artifacts.yaml b/.allstar/binary_artifacts.yaml index 107f04f82f..44bc7d2cdc 100644 --- a/.allstar/binary_artifacts.yaml +++ b/.allstar/binary_artifacts.yaml @@ -1,5 +1,5 @@ # These binaries are intentionally included in the repository because they are -# required for build tooling or platform-specific runtime components. +# required for build tooling or platform-specific runtime components. # No additional binary artifacts are permitted beyond this list. optConfig: diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..d9393edaa1 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,21 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +indent_style = space +indent_size = 2 + +[*.swift] +indent_size = 4 + +[*.{rs,go}] +indent_size = 4 + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 5be4ec8da4..01831f757d 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -3,3 +3,7 @@ # Scala Steward: Reformat with scalafmt 3.8.3 a9110aafdb5e6d26522ee297ab8cb357601ff091 + +# style: auto-fix and manually resolve all lint errors across the repo +# Mass formatting — markdownlint, yamllint, shellcheck. No logic changes. +03b3786ee9c3124d13715b5113eb439265aa89c3 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..2e2bb588d0 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,46 @@ +# Normalize all text files to LF +* text=auto eol=lf + +# Scripts -- must be LF (executed in Docker/Linux) +*.sh text eol=lf +*.bash text eol=lf + +# Data/config +*.sql text eol=lf +*.yaml text eol=lf +*.yml text eol=lf +*.json text eol=lf +*.toml text eol=lf +*.properties text eol=lf + +# Source code +*.scala text eol=lf +*.kt text eol=lf +*.kts text eol=lf +*.java text eol=lf +*.swift text eol=lf +*.ts text eol=lf +*.js text eol=lf +*.rs text eol=lf +*.go text eol=lf + +# Docs +*.md text eol=lf +*.txt text eol=lf + +# Docker +Dockerfile text eol=lf +docker-compose*.yml text eol=lf + +# Binary -- never touch +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.ico binary +*.jar binary +*.zip binary +*.tar.gz binary +*.woff binary +*.woff2 binary +*.ttf binary diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index ce8a8ee2ff..9a24cce140 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,11 +1,14 @@ ### Description + Summarize the changes you're submitting in a few sentences, including Jira ticket ATL-xxxx if applicable. Link to any discussion, related issues and bug reports to give the context to help the reviewer understand the PR. ### Alternatives Considered (optional) + Link to existing ADR (Architecture Decision Record), if any. If relevant, describe other approaches explored and the selected approach. Documenting why the methods were not selected will create a knowledge base for future reference, helping prevent others from revisiting less optimal ideas. ### Checklist + - [ ] My PR follows the [contribution guidelines](https://github.com/hyperledger-identus/cloud-agent/blob/main/CONTRIBUTING.md) of this project - [ ] My PR is free of third-party dependencies that don't comply with the [Allowlist](https://toc.hyperledger.org/governing-documents/allowed-third-party-license-policy.html#approved-licenses-for-allowlist) - [ ] I have commented my code, particularly in hard-to-understand areas diff --git a/.github/dependabot.yml b/.github/dependabot.yml index c6d8b03884..8e8866da86 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -71,4 +71,4 @@ updates: groups: pip-demo-deps: patterns: - - "*" \ No newline at end of file + - "*" diff --git a/.github/workflows/file-hygiene.yml b/.github/workflows/file-hygiene.yml new file mode 100644 index 0000000000..edb8f9e9f3 --- /dev/null +++ b/.github/workflows/file-hygiene.yml @@ -0,0 +1,10 @@ +name: File Hygiene + +on: + pull_request: + push: + branches: [main] + +jobs: + lint: + uses: hyperledger-identus/.github/.github/workflows/lint-files.yml@f2c9e417fa46f69b015a9cdbaafdfb9e52e4ed60 # main diff --git a/.markdownlint-cli2.yaml b/.markdownlint-cli2.yaml new file mode 100644 index 0000000000..1d1c575e6f --- /dev/null +++ b/.markdownlint-cli2.yaml @@ -0,0 +1,9 @@ +ignores: + - ".claude/**" + - "node_modules/**" + - "**/node_modules/**" + - "target/**" + - "tmp/**" + - "atala-prism/**" + - "cloud-agent/client/**" + - "tests/integration-tests/tmp/**" diff --git a/.markdownlint.yml b/.markdownlint.yml new file mode 100644 index 0000000000..764a5b249d --- /dev/null +++ b/.markdownlint.yml @@ -0,0 +1,44 @@ +# markdownlint configuration +# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md + +default: true + +# Allow long lines (common in tables, URLs, and generated content) +MD013: false + +# Allow multiple top-level headings (common in multi-section docs) +MD025: false + +# Allow inline HTML (needed for badges, details/summary, etc.) +MD033: false + +# Allow duplicate headings (common in CHANGELOG files with repeated version patterns) +MD024: false + +# Allow first line to be HTML (centered logos in READMEs) +MD041: false + +# Disable ordered list prefix check (lists broken by code blocks/paragraphs +# restart numbering which triggers false positives) +MD029: false + +# Allow heading level jumps (common in CHANGELOG.md files) +MD001: false + +# Allow emphasis used as heading (common in generated changelogs) +MD036: false + +# Allow empty links (common in generated API docs) +MD042: false + +# Allow code blocks without language (legacy docs) +MD040: false + +# Allow indented code blocks (mixed style in existing docs) +MD046: false + +# Allow non-descriptive link text like "here" (legacy docs) +MD059: false + +# Allow images without alt text (legacy docs) +MD045: false diff --git a/.markdownlintignore b/.markdownlintignore new file mode 100644 index 0000000000..44d7e91d7a --- /dev/null +++ b/.markdownlintignore @@ -0,0 +1,6 @@ +.claude/ +node_modules/ +target/ +tmp/ +atala-prism/ +cloud-agent/client/ diff --git a/.shellcheckrc b/.shellcheckrc new file mode 100644 index 0000000000..f4d4a03e2e --- /dev/null +++ b/.shellcheckrc @@ -0,0 +1,5 @@ +# SC2221/SC2222: Case pattern overlap (catch-all before specific) — intentional +# in argument parsing where -* and --* are both handled together +# SC2034: Unused variable — false positive for vars exported via env to docker-compose +# SC3045: POSIX ulimit — in generated gradlew file +disable=SC2221,SC2222,SC2034,SC3045 diff --git a/.yamllint.yml b/.yamllint.yml index fd8e1418e2..99729d4297 100644 --- a/.yamllint.yml +++ b/.yamllint.yml @@ -1,18 +1,49 @@ -########################################### -# These are the rules used for # -# linting all the yaml files in the stack # -# NOTE: # -# You can disable line with: # -# # yamllint disable-line # -########################################### +--- extends: default + rules: - new-lines: - level: warning - type: unix - line-length: - max: 600 - comments: - min-spaces-from-content: 1 # Used to follow prettier standard: https://github.com/prettier/prettier/pull/10926 - level: warning + # Allow long lines (common in CI workflows and docker-compose) + line-length: disable + + # Allow truthy values like 'on' (used in GitHub Actions triggers) + truthy: + allowed-values: ["true", "false", "yes", "no", "on"] + + # Relaxed comment indentation + comments-indentation: disable + + # Allow YAML files without document start marker (---) document-start: disable + + # Allow spaces inside brackets (common in Docker Compose port mappings) + brackets: + min-spaces-inside: 0 + max-spaces-inside: 1 + + # Allow spaces inside braces (common in compose environment vars) + braces: + min-spaces-inside: 0 + max-spaces-inside: 1 + + # Relax comment spacing (allow 1 space before inline comments) + comments: + min-spaces-from-content: 1 + + # Relax indentation to allow 2-space variants + indentation: + spaces: consistent + indent-sequences: whatever + + # Allow blank lines at end of file + empty-lines: + max-end: 1 + +ignore: | + # Helm templates contain Go templating that breaks YAML syntax + infrastructure/charts/ + # Large OpenAPI spec has its own validation + cloud-agent/service/api/http/ + # Build artifacts + target/ + node_modules/ + .claude/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bd87ac4b7..8e98e09c26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,7 +34,7 @@ ### Bug Fixes -* Add disclose claims to presentation record credential type SDJWT ([#1487](https://github.com/hyperledger-identus/cloud-agent/issues/1487)) ([5e00556](https://github.com/hyperledger-identus/cloud-agent/commit/5e005560c62d4f50fdad4b0b7cede355cced9753)) +* Add disclose claims to presentation record credential type SDJWT ([#1487](https://github.com/hyperledger-identus/cloud-agent/issues/1487)) ([5e00556](https://github.com/hyperledger-identus/cloud-agent/commit/5e005560c62d4f50fdad4b0b7cede355cced9753)) * add LRUDocumentLoader to optimize the JsonLD.toRdf call, fix [#1553](https://github.com/hyperledger-identus/cloud-agent/issues/1553) ([#1560](https://github.com/hyperledger-identus/cloud-agent/issues/1560)) ([c710196](https://github.com/hyperledger-identus/cloud-agent/commit/c7101966c51dfbda4c4d831c24739c566637aa52)) * add SDJWT value to the OAS enum validation in IssueCredentialRec… ([#1533](https://github.com/hyperledger-identus/cloud-agent/issues/1533)) ([0b6fbc8](https://github.com/hyperledger-identus/cloud-agent/commit/0b6fbc8d83c2f57a899d69c2f2574ee27d8644a9)) * broken links in the docusaurus documentation files ([#1489](https://github.com/hyperledger-identus/cloud-agent/issues/1489)) ([38b251b](https://github.com/hyperledger-identus/cloud-agent/commit/38b251b2083e6224d8c81d3f183af9e55af57d94)) @@ -88,6 +88,7 @@ * oid4vci endpoints error statuses and negative input validation ([#1384](https://github.com/hyperledger-identus/cloud-agent/issues/1384)) ([65cc9a7](https://github.com/hyperledger-identus/cloud-agent/commit/65cc9a712af722f5cb3dd36e78b088c20723097b)) * Preserve Presentation Format ([#1363](https://github.com/hyperledger-identus/cloud-agent/issues/1363)) ([c18385c](https://github.com/hyperledger-identus/cloud-agent/commit/c18385c8fdbbb0e5dbde9a03e21f4600bf5e6890)) * return 404 when create credConfig on non-existing issuer ([#1379](https://github.com/hyperledger-identus/cloud-agent/issues/1379)) ([e532ba6](https://github.com/hyperledger-identus/cloud-agent/commit/e532ba604c4e8e820345226d842d3b27813f5e66)) + ## [1.39.0](https://github.com/hyperledger-identus/cloud-agent/compare/cloud-agent-v1.38.0...cloud-agent-v1.39.0) (2024-09-11) ### Features @@ -128,6 +129,7 @@ * rename folder from atala to identus ([#1270](https://github.com/hyperledger-identus/cloud-agent/issues/1270)) ([12660ef](https://github.com/hyperledger-identus/cloud-agent/commit/12660ef81a8f057bd63f1a6fa8cc775cc2459cb1)) * replace problematic dependency license from Apollo ([#1312](https://github.com/hyperledger-identus/cloud-agent/issues/1312)) ([11ee9df](https://github.com/hyperledger-identus/cloud-agent/commit/11ee9df88c789c36c6488ad1409c46cd43fcc7d5)) * the oob encode invitation ([#1313](https://github.com/hyperledger-identus/cloud-agent/issues/1313)) ([f2313f2](https://github.com/hyperledger-identus/cloud-agent/commit/f2313f23189879d8f2f3a548ee1b27c6ecb0c0be)) + ## [1.38.0](https://github.com/hyperledger-identus/cloud-agent/compare/cloud-agent-v1.37.0...cloud-agent-v1.38.0) (2024-07-15) ### Features @@ -140,6 +142,7 @@ * move mocks into the test modules ([#1236](https://github.com/hyperledger-identus/cloud-agent/issues/1236)) ([df83026](https://github.com/hyperledger-identus/cloud-agent/commit/df83026704980e071f7aa158634da20fbc2527c3)) * use Put and Get for DID in doobie statement ([#1250](https://github.com/hyperledger-identus/cloud-agent/issues/1250)) ([fc1cf51](https://github.com/hyperledger-identus/cloud-agent/commit/fc1cf5157f5503143c23da54c8ea6fe78a776640)) * Wallet Management Error Handling ([#1248](https://github.com/hyperledger-identus/cloud-agent/issues/1248)) ([cfd5101](https://github.com/hyperledger-identus/cloud-agent/commit/cfd5101f18276b9f59830c47c0d7fa64b30662db)) + ## [1.37.0](https://github.com/hyperledger-identus/cloud-agent/compare/cloud-agent-v1.36.1...cloud-agent-v1.37.0) (2024-07-01) ### Features @@ -171,11 +174,13 @@ * Present Error Handling Job ([#1204](https://github.com/hyperledger-identus/cloud-agent/issues/1204)) ([3191d8b](https://github.com/hyperledger-identus/cloud-agent/commit/3191d8b933e1e7e08ccd5dd95dbcfddb1ae8bb01)) * present error handling Part 2 ([#1177](https://github.com/hyperledger-identus/cloud-agent/issues/1177)) ([9ac6e52](https://github.com/hyperledger-identus/cloud-agent/commit/9ac6e52ec447710ae7917d8176dcb0ebdc6b2e0d)) * Verification Policy Error Handling ([#1228](https://github.com/hyperledger-identus/cloud-agent/issues/1228)) ([6117a3c](https://github.com/hyperledger-identus/cloud-agent/commit/6117a3cc00121c34a06fd680b1a0b4df4b188f49)) + ## [1.36.1](https://github.com/hyperledger-identus/cloud-agent/compare/cloud-agent-v1.36.0...cloud-agent-v1.36.1) (2024-06-09) ### Bug Fixes * Helm chart refactor vol2 ([#1162](https://github.com/hyperledger-identus/cloud-agent/issues/1162)) ([72fc6d1](https://github.com/hyperledger-identus/cloud-agent/commit/72fc6d1a61a4a1a5c0b1c81d3b0742538c8b9bc7)) + ## [1.36.0](https://github.com/hyperledger-identus/cloud-agent/compare/cloud-agent-v1.35.1...cloud-agent-v1.36.0) (2024-06-09) ### Features @@ -191,12 +196,14 @@ * pick right key type when creating corresponding issuer ([#1157](https://github.com/hyperledger-identus/cloud-agent/issues/1157)) ([22f0448](https://github.com/hyperledger-identus/cloud-agent/commit/22f0448ca878b385eada89d805c8f993c52173a2)) * Schema Error Handling ([#1138](https://github.com/hyperledger-identus/cloud-agent/issues/1138)) ([a9da840](https://github.com/hyperledger-identus/cloud-agent/commit/a9da84098bd56eeb9d64e7b2bdd78d5596cf35c5)) * Update the Holder to send the presentation only, No claims to disclose is needed separately ([#1158](https://github.com/hyperledger-identus/cloud-agent/issues/1158)) ([9eaa5d4](https://github.com/hyperledger-identus/cloud-agent/commit/9eaa5d444665dbda00038a9032b890afcfa4bc15)) + ## [1.35.1](https://github.com/hyperledger-identus/cloud-agent/compare/cloud-agent-v1.35.0...cloud-agent-v1.35.1) (2024-06-05) ### Bug Fixes * Add expiration time for cloud-agent ([#1132](https://github.com/hyperledger-identus/cloud-agent/issues/1132)) ([f719120](https://github.com/hyperledger-identus/cloud-agent/commit/f719120211a83e96e6e4e282cc70e9f860d9298d)) * Chart refactor ([#1143](https://github.com/hyperledger-identus/cloud-agent/issues/1143)) ([f309a0e](https://github.com/hyperledger-identus/cloud-agent/commit/f309a0e7c2101c2567498b060ee71a6964d3b9e6)) + ## [1.35.0](https://github.com/hyperledger-identus/cloud-agent/compare/cloud-agent-v1.34.0...cloud-agent-v1.35.0) (2024-06-03) ### Features @@ -206,15 +213,17 @@ ### Bug Fixes -* SemanticCheckOfClaims In Verification API ([#1124](https://github.com/hyperledger-identus/cloud-agent/issues/1124)) ([7cb4192](https://github.com/hyperledger-identus/cloud-agent/commit/7cb4192d41a779e2ba4de815b2e8ec469636e485)) -* update the jose dependency and switch back to the official library ([#1117](https://github.com/hyperledger-identus/cloud-agent/issues/1117)) ([3608aaf](https://github.com/hyperledger-identus/cloud-agent/commit/3608aafd980472cb63e5164339681fb079190dba)) +* SemanticCheckOfClaims In Verification API ([#1124](https://github.com/hyperledger-identus/cloud-agent/issues/1124)) ([7cb4192](https://github.com/hyperledger-identus/cloud-agent/commit/7cb4192d41a779e2ba4de815b2e8ec469636e485)) +* update the jose dependency and switch back to the official library ([#1117](https://github.com/hyperledger-identus/cloud-agent/issues/1117)) ([3608aaf](https://github.com/hyperledger-identus/cloud-agent/commit/3608aafd980472cb63e5164339681fb079190dba)) * Changing .chart.name reference, adding name override ([#1129](https://github.com/hyperledger-identus/cloud-agent/issues/1129)) ([650ae3b](https://github.com/hyperledger-identus/cloud-agent/commit/650ae3ba94ae322fc745eb07658f1663b3e7e321)) * VC Verification API Doc ([#1118](https://github.com/hyperledger-identus/cloud-agent/issues/1118)) ([d70d4b7](https://github.com/hyperledger-identus/cloud-agent/commit/d70d4b74cb9f21d72e735f9650b746565068f282)) + ## [1.34.0](https://github.com/hyperledger-identus/cloud-agent/compare/cloud-agent-v1.33.1...cloud-agent-v1.34.0) (2024-05-27) ### Features * Rename helm chart and its resources ([#1104](https://github.com/hyperledger-identus/cloud-agent/issues/1104)) ([84c5cea](https://github.com/hyperledger-identus/cloud-agent/commit/84c5ceaf97ee491ebcb07b12f2cc78a4da1e2dc1)) + ## [1.33.1](https://github.com/hyperledger-identus/cloud-agent/compare/cloud-agent-v1.33.0...cloud-agent-v1.33.1) (2024-05-21) ### Bug Fixes @@ -226,6 +235,7 @@ ### Performance Improvements * update ts client in the performance tests, cleanup `println` ([#1041](https://github.com/hyperledger-identus/cloud-agent/issues/1041)) ([7d5ceba](https://github.com/hyperledger-identus/cloud-agent/commit/7d5cebafb34191964acfdf190c743a2ba253e883)) + ## [1.33.0](https://github.com/hyperledger-identus/cloud-agent/compare/cloud-agent-v1.32.1...cloud-agent-v1.33.0) (2024-05-09) ### Features @@ -235,6 +245,7 @@ ### Bug Fixes * integration test ([#1011](https://github.com/hyperledger-identus/cloud-agent/issues/1011)) ([d674f31](https://github.com/hyperledger-identus/cloud-agent/commit/d674f3162be44ba05d50b305be4838525d982706)) + ## [1.32.1](https://github.com/hyperledger-identus/cloud-agent/compare/cloud-agent-v1.32.0...cloud-agent-v1.32.1) (2024-05-07) ### Bug Fixes @@ -243,6 +254,7 @@ * Fix OneOf OpenAPI Serialization Issue ([#1010](https://github.com/hyperledger-identus/cloud-agent/issues/1010)) ([393c296](https://github.com/hyperledger-identus/cloud-agent/commit/393c29654b8d3d53071f0d2932a16ff81688ece6)) * remove prism-crypto dependency ([#1015](https://github.com/hyperledger-identus/cloud-agent/issues/1015)) ([46e594c](https://github.com/hyperledger-identus/cloud-agent/commit/46e594c21bdb43d78f41be6c803ad8b80dc89504)) * update open-api-spec and generator script and package.json ([#990](https://github.com/hyperledger-identus/cloud-agent/issues/990)) ([88c1b5e](https://github.com/hyperledger-identus/cloud-agent/commit/88c1b5eadf62ad0efcd4ee53b793bb08cce9667f)) + ## [1.32.0](https://github.com/hyperledger-identus/cloud-agent/compare/cloud-agent-v1.31.0...cloud-agent-v1.32.0) (2024-04-26) ### Features @@ -262,6 +274,7 @@ * Integration Test ([#974](https://github.com/hyperledger-identus/cloud-agent/issues/974)) ([847eb2f](https://github.com/hyperledger-identus/cloud-agent/commit/847eb2f56ba2766ed28f6484391cbd9b3202fbe5)) * **prism-agent:** add missing 'PresentationVerificationFailed' status to REST API response enum ([#948](https://github.com/hyperledger-identus/cloud-agent/issues/948)) ([9a38cc9](https://github.com/hyperledger-identus/cloud-agent/commit/9a38cc97c18d26f13efa1c9535de1df003547a2b)) * use apollo for secp256k1 in shared-crypto ([#971](https://github.com/hyperledger-identus/cloud-agent/issues/971)) ([dd5e20b](https://github.com/hyperledger-identus/cloud-agent/commit/dd5e20bdedd004c2e0a81383d10b5eee3ae03788)) + ## [1.31.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.30.1...prism-agent-v1.31.0) (2024-03-20) ### Features @@ -277,17 +290,20 @@ * **pollux:** function that allocates status list credential does not work correctly in multi threaded environment ([#941](https://github.com/hyperledger-identus/cloud-agent/issues/941)) ([ecc3c01](https://github.com/hyperledger-identus/cloud-agent/commit/ecc3c019749a6b370771bcf62f89ea2599a521ac)) * **pollux:** Undo edit migration for revocation status lists ([#937](https://github.com/hyperledger-identus/cloud-agent/issues/937)) ([7f7585f](https://github.com/hyperledger-identus/cloud-agent/commit/7f7585f47ee197db162c75f7d118a87b99cc7d06)) * **prism-agent:** add validation for endpoint url ([#919](https://github.com/hyperledger-identus/cloud-agent/issues/919)) ([0402a87](https://github.com/hyperledger-identus/cloud-agent/commit/0402a8778eda839521c55a127934fba41c7b79ad)) + ## [1.30.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.30.0...prism-agent-v1.30.1) (2024-03-06) ### Bug Fixes * allow configurable path convention for vault secrets ([#918](https://github.com/hyperledger-identus/cloud-agent/issues/918)) ([234a272](https://github.com/hyperledger-identus/cloud-agent/commit/234a2725614b05466391894f248c7175fb62c5b6)) * integration test ([#915](https://github.com/hyperledger-identus/cloud-agent/issues/915)) ([320ab6a](https://github.com/hyperledger-identus/cloud-agent/commit/320ab6a876606eb68f48fe7d78983b4e044b5084)) + ## [1.30.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.29.0...prism-agent-v1.30.0) (2024-03-01) ### Features * **agent:** make the connection pool size configurable, fixes [#913](https://github.com/hyperledger-identus/cloud-agent/issues/913) ([#914](https://github.com/hyperledger-identus/cloud-agent/issues/914)) ([375fe0f](https://github.com/hyperledger-identus/cloud-agent/commit/375fe0f8ee042246aed37f40cbeb8f2042c99958)) + ## [1.29.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.28.0...prism-agent-v1.29.0) (2024-02-28) ### Features @@ -297,6 +313,7 @@ ### Bug Fixes * correct the config environment variable name ([#905](https://github.com/hyperledger-identus/cloud-agent/issues/905)) ([d86436c](https://github.com/hyperledger-identus/cloud-agent/commit/d86436cbc58571b4167411643623f3ba975550ad)) + ## [1.28.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.27.0...prism-agent-v1.28.0) (2024-02-20) ### Features @@ -309,6 +326,7 @@ * **prism-agent:** increase http timeout communication channel closing… ([#901](https://github.com/hyperledger-identus/cloud-agent/issues/901)) ([8d3f29d](https://github.com/hyperledger-identus/cloud-agent/commit/8d3f29ddd830fe102d4bf25a0af8734730c80151)) * re-enable logging with SLF4J and add traceId ([#869](https://github.com/hyperledger-identus/cloud-agent/issues/869)) ([8f6af25](https://github.com/hyperledger-identus/cloud-agent/commit/8f6af25a8eafd27d5017096da64f89188354a2ca)) * remove oas schema format for empty repsonse body ([#902](https://github.com/hyperledger-identus/cloud-agent/issues/902)) ([5f2bb08](https://github.com/hyperledger-identus/cloud-agent/commit/5f2bb0872a156c9223ab56efbd47e812967ff582)) + ## [1.27.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.26.0...prism-agent-v1.27.0) (2024-02-08) ### Features @@ -318,6 +336,7 @@ ### Bug Fixes * remove hard code did:example:* ([#882](https://github.com/hyperledger-identus/cloud-agent/issues/882)) ([321faf5](https://github.com/hyperledger-identus/cloud-agent/commit/321faf5791b05f0c24dd6ed96f155aa65d06477d)) + ## [1.26.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.25.0...prism-agent-v1.26.0) (2024-02-06) ### Features @@ -327,17 +346,20 @@ ### Bug Fixes * **prism-agent:** update didcomm peerdid library to support latest spec ([#877](https://github.com/hyperledger-identus/cloud-agent/issues/877)) ([0c42a62](https://github.com/hyperledger-identus/cloud-agent/commit/0c42a622143e35c439ae83cc3bb746515ce7401b)) + ## [1.25.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.24.0...prism-agent-v1.25.0) (2024-01-25) ### Features * **prism-agent:** add JWT auth support for agent-admin role ([#840](https://github.com/hyperledger-identus/cloud-agent/issues/840)) ([3ccd56e](https://github.com/hyperledger-identus/cloud-agent/commit/3ccd56efadbbb3ea70e7ca63e9eb89564a83c02f)) * upgrade ZIO http client to improve performance ([#850](https://github.com/hyperledger-identus/cloud-agent/issues/850)) ([7aa9b4c](https://github.com/hyperledger-identus/cloud-agent/commit/7aa9b4c27f92b169c72a68cd4bb8f4afb63943d4)) + ## [1.24.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.23.0...prism-agent-v1.24.0) (2023-12-21) ### Features * add configuration for gRPC usePlainText (enable TLS for gRPC) ([#823](https://github.com/hyperledger-identus/cloud-agent/issues/823)) ([b871bb5](https://github.com/hyperledger-identus/cloud-agent/commit/b871bb5e8eeeb71b3f22c38609ae8f1ff424016c)) + ## [1.23.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.22.0...prism-agent-v1.23.0) (2023-12-20) ### Features @@ -351,6 +373,7 @@ * Change resource defaults for postgres ([#827](https://github.com/hyperledger-identus/cloud-agent/issues/827)) ([87809c4](https://github.com/hyperledger-identus/cloud-agent/commit/87809c4b4d6a3baf0afa37a2cf7ddf6c41a80eb6)) * correct OAS example ([#816](https://github.com/hyperledger-identus/cloud-agent/issues/816)) ([b1384b3](https://github.com/hyperledger-identus/cloud-agent/commit/b1384b38524060f3cfa6df39afaddcce26a5514e)) * Swithing to startupProbe from Readiness ([#821](https://github.com/hyperledger-identus/cloud-agent/issues/821)) ([22a78ec](https://github.com/hyperledger-identus/cloud-agent/commit/22a78ec09ccc84b5d5c03e8f07ff3a14c654cf2b)) + ## [1.22.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.21.1...prism-agent-v1.22.0) (2023-12-14) ### Features @@ -360,31 +383,37 @@ ### Bug Fixes * correct OAS examples ([#810](https://github.com/hyperledger-identus/cloud-agent/issues/810)) ([a0720dc](https://github.com/hyperledger-identus/cloud-agent/commit/a0720dcbaf10370dcacc1b5102df13929b40dfdb)) + ## [1.21.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.21.0...prism-agent-v1.21.1) (2023-12-12) ### Bug Fixes * Option to disable apisix key auth ([#813](https://github.com/hyperledger-identus/cloud-agent/issues/813)) ([f163682](https://github.com/hyperledger-identus/cloud-agent/commit/f1636824047c0d03ce0790ede54e3a12d63dd787)) + ## [1.21.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.20.1...prism-agent-v1.21.0) (2023-12-12) ### Features * env vars support through values file ([#811](https://github.com/hyperledger-identus/cloud-agent/issues/811)) ([2486dde](https://github.com/hyperledger-identus/cloud-agent/commit/2486dde9b0682504a02ad031b3e7498b2fa2ce17)) + ## [1.20.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.20.0...prism-agent-v1.20.1) (2023-12-06) ### Bug Fixes * tolerations and nodeAffinity for k8s ([#808](https://github.com/hyperledger-identus/cloud-agent/issues/808)) ([7934fa4](https://github.com/hyperledger-identus/cloud-agent/commit/7934fa402ba86af6d8430208f1844fbd6ccda1bd)) + ## [1.20.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.19.1...prism-agent-v1.20.0) (2023-12-05) ### Features * add nodeAffinity, tolerations, and resources to k8s deployment ([#804](https://github.com/hyperledger-identus/cloud-agent/issues/804)) ([22407a3](https://github.com/hyperledger-identus/cloud-agent/commit/22407a3103eff73d87ead9a8122f078845c11d95)) + ## [1.19.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.19.0...prism-agent-v1.19.1) (2023-11-29) ### Bug Fixes * change admin auth priority and improve auth error message ([#800](https://github.com/hyperledger-identus/cloud-agent/issues/800)) ([32d4340](https://github.com/hyperledger-identus/cloud-agent/commit/32d43401a69c339f54380bd8d5dfe2fa383cb8d7)) + ## [1.19.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.18.0...prism-agent-v1.19.0) (2023-11-21) ### Features @@ -403,11 +432,12 @@ * **pollux:** V16 migration is failing to add FK constraint because of type mismatch ([#782](https://github.com/hyperledger-identus/cloud-agent/issues/782)) ([c87beb0](https://github.com/hyperledger-identus/cloud-agent/commit/c87beb0478d4b3d54709e09597c42c23878d101e)) * **prism-agent:** more descriptive error response for validateDID in issue flow ([#783](https://github.com/hyperledger-identus/cloud-agent/issues/783)) ([b99a737](https://github.com/hyperledger-identus/cloud-agent/commit/b99a73718a06f4b97d933ba2e3220593f8d4e825)) * **prism-agent:** perform percent encoding on auth header for token introspection request ([#780](https://github.com/hyperledger-identus/cloud-agent/issues/780)) ([03d43c9](https://github.com/hyperledger-identus/cloud-agent/commit/03d43c98d8ab64e5b47830d95a6356f9d6dd1b82)) + ## [1.18.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.17.0...prism-agent-v1.18.0) (2023-10-24) ### Features -* presentation API refactor ([#765](https://github.com/hyperledger-identus/cloud-agent/issues/765)) ([045d829](https://github.com/hyperledger-identus/cloud-agent/commit/045d8298f8865baeb13e243ed058e8e440b3f496)) +* presentation API refactor ([#765](https://github.com/hyperledger-identus/cloud-agent/issues/765)) ([045d829](https://github.com/hyperledger-identus/cloud-agent/commit/045d8298f8865baeb13e243ed058e8e440b3f496)) * add new auth params ([#762](https://github.com/hyperledger-identus/cloud-agent/issues/762)) ([b8bfb86](https://github.com/hyperledger-identus/cloud-agent/commit/b8bfb867061c58fc12987b5405f561e8f10cb718)) * disable cors by default ([#747](https://github.com/hyperledger-identus/cloud-agent/issues/747)) ([1dd8c8b](https://github.com/hyperledger-identus/cloud-agent/commit/1dd8c8b0e9b0d2593bd1c17a95bf013192a64532)) * migrate docker image of the agent to Java 21 ([#758](https://github.com/hyperledger-identus/cloud-agent/issues/758)) ([d36dbf0](https://github.com/hyperledger-identus/cloud-agent/commit/d36dbf0dfbf45b64185e5b54aba0444d6e1ada88)) @@ -415,7 +445,8 @@ ### Bug Fixes -* all performance tests run succesfully, add group thresholds ([#750](https://github.com/hyperledger-identus/cloud-agent/issues/750)) ([5204838](https://github.com/hyperledger-identus/cloud-agent/commit/520483836e5b572e8aeeecd28f4bbe7cc668c3d9)) +* all performance tests run succesfully, add group thresholds ([#750](https://github.com/hyperledger-identus/cloud-agent/issues/750)) ([5204838](https://github.com/hyperledger-identus/cloud-agent/commit/520483836e5b572e8aeeecd28f4bbe7cc668c3d9)) + ## [1.17.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.16.4...prism-agent-v1.17.0) (2023-10-14) ### Features @@ -433,16 +464,19 @@ * **prism-agent:** return relevant errors on offer creation ([#754](https://github.com/hyperledger-identus/cloud-agent/issues/754)) ([d36533f](https://github.com/hyperledger-identus/cloud-agent/commit/d36533fe538812c9e3647bcc2383700173e4b1b7)) * prohibit tenants to use equal or revoked api keys ([#742](https://github.com/hyperledger-identus/cloud-agent/issues/742)) ([4b10c3a](https://github.com/hyperledger-identus/cloud-agent/commit/4b10c3af931722a683bf55062297c3dfa1e38046)) * upgrade vault and quill versions ([#739](https://github.com/hyperledger-identus/cloud-agent/issues/739)) ([c140857](https://github.com/hyperledger-identus/cloud-agent/commit/c140857df97d56ab750ec186962e5fe2bb6a6717)) + ## [1.16.4](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.16.3...prism-agent-v1.16.4) (2023-09-29) ### Bug Fixes * Integration flow ATL-5777 ([#738](https://github.com/hyperledger-identus/cloud-agent/issues/738)) ([7cf927c](https://github.com/hyperledger-identus/cloud-agent/commit/7cf927cc267460cc1708e424c0a63ae96689a42a)) + ## [1.16.3](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.16.2...prism-agent-v1.16.3) (2023-09-28) ### Bug Fixes * Adding labels [skip ci] ([#737](https://github.com/hyperledger-identus/cloud-agent/issues/737)) ([5182098](https://github.com/hyperledger-identus/cloud-agent/commit/5182098f7bc6db479ee64d7133389732a38d174a)) + ## [1.16.2](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.16.1...prism-agent-v1.16.2) (2023-09-28) ### Bug Fixes @@ -450,6 +484,7 @@ * Changing yq command [skip ci] ATL-5777 ([#736](https://github.com/hyperledger-identus/cloud-agent/issues/736)) ([01bdfa7](https://github.com/hyperledger-identus/cloud-agent/commit/01bdfa74056d983bc1fd494c99b1bab8496dc62f)) * Integration flow ([#734](https://github.com/hyperledger-identus/cloud-agent/issues/734)) ([c45a9eb](https://github.com/hyperledger-identus/cloud-agent/commit/c45a9ebf0150245dfa5ebdc2eda94aa1e0fea8f3)) * Renaming values.yml [skip ci] ATL-5777 ([#735](https://github.com/hyperledger-identus/cloud-agent/issues/735)) ([bcd73c3](https://github.com/hyperledger-identus/cloud-agent/commit/bcd73c310a1c033400f83cfa266cbe0aa304217a)) + ## [1.16.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.16.0...prism-agent-v1.16.1) (2023-09-27) ### Bug Fixes @@ -459,6 +494,7 @@ * **prism-agent:** introduce generic secret store for CD ([#727](https://github.com/hyperledger-identus/cloud-agent/issues/727)) ([3d4aacd](https://github.com/hyperledger-identus/cloud-agent/commit/3d4aacdd9a7f66f2f656d3c31b3f8202cc37c51b)) * Separate config for integration flow ATL-5777 ([#731](https://github.com/hyperledger-identus/cloud-agent/issues/731)) ([9e0e2de](https://github.com/hyperledger-identus/cloud-agent/commit/9e0e2de77a25166f019f78356b2e98b60da7b3e1)) * Separate config for integration flow ATL-5777 ([#733](https://github.com/hyperledger-identus/cloud-agent/issues/733)) ([8380ccc](https://github.com/hyperledger-identus/cloud-agent/commit/8380cccea0eee17c090928b1ae36b877a822177d)) + ## [1.16.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.15.0...prism-agent-v1.16.0) (2023-09-15) ### Features @@ -474,22 +510,26 @@ * **prism-agent:** refine multi-tenant error response and validations ([#719](https://github.com/hyperledger-identus/cloud-agent/issues/719)) ([1f9ede3](https://github.com/hyperledger-identus/cloud-agent/commit/1f9ede395c4469bf26b167a6430ad42ea7cde301)) * **prism-agent:** validate application config during startup ([#712](https://github.com/hyperledger-identus/cloud-agent/issues/712)) ([46fd69b](https://github.com/hyperledger-identus/cloud-agent/commit/46fd69bc2416c72dd457b29f06dd181cf65f52a0)) * use postgres application user ([#717](https://github.com/hyperledger-identus/cloud-agent/issues/717)) ([63403a5](https://github.com/hyperledger-identus/cloud-agent/commit/63403a5d64860d4683ebaab00a86eec0578a21c0)) + ## [1.15.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.14.2...prism-agent-v1.15.0) (2023-09-12) ### Features * add security headers in helm-chart apisix route ([#697](https://github.com/hyperledger-identus/cloud-agent/issues/697)) ([7f7e0a4](https://github.com/hyperledger-identus/cloud-agent/commit/7f7e0a4b7709c9eb0dbfc0557ed68648a98e5756)) * **prism-agent:** add multi-tenancy capability ([#696](https://github.com/hyperledger-identus/cloud-agent/issues/696)) ([b6c9a40](https://github.com/hyperledger-identus/cloud-agent/commit/b6c9a40733af1a80c2fc7c17650d1f9ca53c21da)) + ## [1.14.2](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.14.1...prism-agent-v1.14.2) (2023-09-06) ### Bug Fixes * add missing leading '/' in rewrite rule target ([#692](https://github.com/hyperledger-identus/cloud-agent/issues/692)) ([f2be228](https://github.com/hyperledger-identus/cloud-agent/commit/f2be22895c893525b50a0848d2951e668c5fe688)) + ## [1.14.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.14.0...prism-agent-v1.14.1) (2023-09-06) ### Bug Fixes * APISIX config route and rule names too long ([#691](https://github.com/hyperledger-identus/cloud-agent/issues/691)) ([bef008e](https://github.com/hyperledger-identus/cloud-agent/commit/bef008ecb8f07a7e92cba1ba009a343af7a71adb)) + ## [1.14.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.13.0...prism-agent-v1.14.0) (2023-09-06) ### Features @@ -500,6 +540,7 @@ * change private sdk 1.4 to public maven ([#685](https://github.com/hyperledger-identus/cloud-agent/issues/685)) ([128bcac](https://github.com/hyperledger-identus/cloud-agent/commit/128bcac5b7006b485ea3dc9272fde29d159f1a03)) * **prism-agent:** update invitation expiration on connection request ([#687](https://github.com/hyperledger-identus/cloud-agent/issues/687)) ([1a1702f](https://github.com/hyperledger-identus/cloud-agent/commit/1a1702fc4e62b4a03a4e4ee32ac7419ea67a4ea1)) + ## [1.13.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.12.0...prism-agent-v1.13.0) (2023-09-06) ### Features @@ -514,6 +555,7 @@ * indentation in apisixroute ([#682](https://github.com/hyperledger-identus/cloud-agent/issues/682)) ([6eec8ba](https://github.com/hyperledger-identus/cloud-agent/commit/6eec8ba6a32ce088eaaeafe953c4ff554d4765ab)) * **prism-agent:** fix added the InvitationGenerated state to the conn… ([#684](https://github.com/hyperledger-identus/cloud-agent/issues/684)) ([7fdffe3](https://github.com/hyperledger-identus/cloud-agent/commit/7fdffe3990ea08bd6dad5f9d2124146cb8efcff4)) * **prism-agent:** make resolve did representation content type work ([#679](https://github.com/hyperledger-identus/cloud-agent/issues/679)) ([fd417d9](https://github.com/hyperledger-identus/cloud-agent/commit/fd417d9bdac0db98bc3de7a84e4d3277aef3c403)) + ## [1.12.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.11.0...prism-agent-v1.12.0) (2023-08-31) ### Features @@ -527,6 +569,7 @@ ### Bug Fixes * **prism-agent:** invitation expiry configuration and new state ([#655](https://github.com/hyperledger-identus/cloud-agent/issues/655)) ([c61999d](https://github.com/hyperledger-identus/cloud-agent/commit/c61999dd2a256401c30d29b842f0092f4968c6ed)) + ## [1.11.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.10.0...prism-agent-v1.11.0) (2023-08-21) ### Features @@ -536,6 +579,7 @@ ### Bug Fixes * **prism-agenet:** Remove connection ID from metrics in connection flow ([#635](https://github.com/hyperledger-identus/cloud-agent/issues/635)) ([515f92f](https://github.com/hyperledger-identus/cloud-agent/commit/515f92f67f6ccd9ae5414d1324ebb769c43d5017)) + ## [1.10.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.9.2...prism-agent-v1.10.0) (2023-08-16) ### Features @@ -551,21 +595,25 @@ ### Performance Improvements * support for credential and present-proof flows with thid ([#609](https://github.com/hyperledger-identus/cloud-agent/issues/609)) ([9cef8c0](https://github.com/hyperledger-identus/cloud-agent/commit/9cef8c03cf0a3e5601ec36b1f008dea2a738a415)) + ## [1.9.2](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.9.1...prism-agent-v1.9.2) (2023-07-27) ### Bug Fixes * consumer variable nesting correction ([#606](https://github.com/hyperledger-identus/cloud-agent/issues/606)) ([40a0578](https://github.com/hyperledger-identus/cloud-agent/commit/40a0578274d33873c5189d01715244b2b34c0fea)) + ## [1.9.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.9.0...prism-agent-v1.9.1) (2023-07-25) ### Bug Fixes * include helm Chart.yaml in git commit for release process ([#604](https://github.com/hyperledger-identus/cloud-agent/issues/604)) ([d0372f1](https://github.com/hyperledger-identus/cloud-agent/commit/d0372f19e74ade5627a41038b07010321d5ef600)) + ## [1.9.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.8.0...prism-agent-v1.9.0) (2023-07-25) ### Features * add helm-chart for agent ([#603](https://github.com/hyperledger-identus/cloud-agent/issues/603)) ([63f38d4](https://github.com/hyperledger-identus/cloud-agent/commit/63f38d47f4645bf6172320da5c3413c748c03729)) + ## [1.8.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.7.0...prism-agent-v1.8.0) (2023-07-20) ### Features @@ -576,6 +624,7 @@ * **castor:** align DID document translation logic ([#595](https://github.com/hyperledger-identus/cloud-agent/issues/595)) ([bb1f112](https://github.com/hyperledger-identus/cloud-agent/commit/bb1f1121975c3bc8288b1d4577efd3922e5adce7)) * **prism-agent:** add did-method path segment in HD key derivation ([#596](https://github.com/hyperledger-identus/cloud-agent/issues/596)) ([a1e457a](https://github.com/hyperledger-identus/cloud-agent/commit/a1e457a8d6337e8c941b58c802f9516fe6718396)) + ## [1.7.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.6.0...prism-agent-v1.7.0) (2023-07-10) ### Features @@ -594,6 +643,7 @@ ### Performance Improvements * add k6 connection flow running in CI ([#572](https://github.com/hyperledger-identus/cloud-agent/issues/572)) ([601f934](https://github.com/hyperledger-identus/cloud-agent/commit/601f934062537c8080657b6268299f18d8201ec2)) + ## [1.6.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.5.1...prism-agent-v1.6.0) (2023-06-28) ### Features @@ -605,17 +655,20 @@ * **prism-agent:** decouple secret storage backend from agent ([#570](https://github.com/hyperledger-identus/cloud-agent/issues/570)) ([6a5f9ce](https://github.com/hyperledger-identus/cloud-agent/commit/6a5f9cef337848dadd8a54b54948db9e7edfe8ad)) * **prism-agent:** fix concurrent requests breaking DID index counter ([#571](https://github.com/hyperledger-identus/cloud-agent/issues/571)) ([e8411dd](https://github.com/hyperledger-identus/cloud-agent/commit/e8411ddb588e9dc81f2437cfbdfdcd1be42f99d1)) * **prism-agent:** use correct pairwise DIDs in presentation flow ([#568](https://github.com/hyperledger-identus/cloud-agent/issues/568)) ([ede234b](https://github.com/hyperledger-identus/cloud-agent/commit/ede234bbdcb64cb48da182b374288b549b8cf8aa)) + ## [1.5.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.5.0...prism-agent-v1.5.1) (2023-06-22) ### Bug Fixes * log seed error before effect fail ([#557](https://github.com/hyperledger-identus/cloud-agent/issues/557)) ([c3a5d8e](https://github.com/hyperledger-identus/cloud-agent/commit/c3a5d8eb9e62675053f9b7fc80ee18d7a62f857c)) + ## [1.5.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.4.0...prism-agent-v1.5.0) (2023-06-16) ### Features * **prism-agent:** integrate credential schema into VC issue flow ([#541](https://github.com/hyperledger-identus/cloud-agent/issues/541)) ([ab88736](https://github.com/hyperledger-identus/cloud-agent/commit/ab88736dc9d6dfec3d39f6a58619eb115f520bf8)) * **prism-agent:** integrate DID secret storage with Vault ([#543](https://github.com/hyperledger-identus/cloud-agent/issues/543)) ([ee43feb](https://github.com/hyperledger-identus/cloud-agent/commit/ee43febacddb06210065c3f812beb8c948d5c369)) + ## [1.4.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.3.0...prism-agent-v1.4.0) (2023-06-01) ### Features @@ -625,11 +678,13 @@ ### Bug Fixes * **prism-agent:** infinite loop in proof presentation execution ([#540](https://github.com/hyperledger-identus/cloud-agent/issues/540)) ([6a26bb7](https://github.com/hyperledger-identus/cloud-agent/commit/6a26bb78d256bdcd09918cb1e8ee5bfd5cf0dacc)) + ## [1.3.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.2.0...prism-agent-v1.3.0) (2023-05-23) ### Features * restore JVM metrics endpoint capability ([#527](https://github.com/hyperledger-identus/cloud-agent/issues/527)) ([7d603f0](https://github.com/hyperledger-identus/cloud-agent/commit/7d603f09abd6042368ada6afa3685332342d6860)) + ## [1.2.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.1.0...prism-agent-v1.2.0) (2023-05-17) ### Features @@ -641,6 +696,7 @@ ### Bug Fixes * **prism-agent:** refactor crypto abstraction in the walletAPI ([#522](https://github.com/hyperledger-identus/cloud-agent/issues/522)) ([e36c634](https://github.com/hyperledger-identus/cloud-agent/commit/e36c63424ed2e28fc360c6a6a5d557938d4ec01a)) + ## [1.1.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v1.0.0...prism-agent-v1.1.0) (2023-05-05) ### Features @@ -653,6 +709,7 @@ ### Bug Fixes * **pollux:** ATL-3971 Fix all Deprecation Warning ([#506](https://github.com/hyperledger-identus/cloud-agent/issues/506)) ([e5225b7](https://github.com/hyperledger-identus/cloud-agent/commit/e5225b7101bf3572a85a6f0cf8ed05e93410f551)) + ## [1.0.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.60.2...prism-agent-v1.0.0) (2023-04-10) ### ⚠ BREAKING CHANGES @@ -666,11 +723,13 @@ * **prism-agent:** migrate connect endpoints to Tapir ([#493](https://github.com/hyperledger-identus/cloud-agent/issues/493)) ([876dd9e](https://github.com/hyperledger-identus/cloud-agent/commit/876dd9ed4b89f7c2cf779d47bb89b8a0358743db)) * **prism-node:** add context to protobuf definition ([#487](https://github.com/hyperledger-identus/cloud-agent/issues/487)) ([e426a82](https://github.com/hyperledger-identus/cloud-agent/commit/e426a82b4f593204f1dc69c2b65c7362e8707ec6)) * Reply to Trust Pings ([#496](https://github.com/hyperledger-identus/cloud-agent/issues/496)) ([b07da78](https://github.com/hyperledger-identus/cloud-agent/commit/b07da78d3ee927c7ddfbd311d442a687b0b901a4)) + ## [0.60.2](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.60.1...prism-agent-v0.60.2) (2023-03-29) ### Bug Fixes * **prism-agent:** Alight the error responses according to RFC7807. ATL-3962 ([#480](https://github.com/hyperledger-identus/cloud-agent/issues/480)) ([64b0a2a](https://github.com/hyperledger-identus/cloud-agent/commit/64b0a2a04599c30adaf64e8411e1ec95305846cd)) + ## [0.60.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.60.0...prism-agent-v0.60.1) (2023-03-28) ### Features @@ -683,11 +742,13 @@ * update shared module for castor ([#484](https://github.com/hyperledger-identus/cloud-agent/issues/484)) ([2202a22](https://github.com/hyperledger-identus/cloud-agent/commit/2202a220fdcd404bb3fe280b3b76923fbf499b8c)) * use postgres container from shared module ([#482](https://github.com/hyperledger-identus/cloud-agent/issues/482)) ([efe4557](https://github.com/hyperledger-identus/cloud-agent/commit/efe45579a1a7a690b41aa15b30c386bd7d030137)) * use shared postgres container for tests ([#486](https://github.com/hyperledger-identus/cloud-agent/issues/486)) ([1d6aada](https://github.com/hyperledger-identus/cloud-agent/commit/1d6aada72fedf6420133451214ca27965cff245f)) + ## [0.60.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.59.1...prism-agent-v0.60.0) (2023-03-28) ### Features * **prism-agent:** insert bouncy-castle security as 2nd provider globally in agent entry point ([#477](https://github.com/hyperledger-identus/cloud-agent/issues/477)) ([44f06cc](https://github.com/hyperledger-identus/cloud-agent/commit/44f06cc191d10e8f590ba56ced75c78e73089b7b)) + ## [0.59.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.59.0...prism-agent-v0.59.1) (2023-03-23) ### Bug Fixes @@ -695,11 +756,13 @@ * **castor:** fix unintended ordering behavior when parsing long-form DID ([#471](https://github.com/hyperledger-identus/cloud-agent/issues/471)) ([5ed0978](https://github.com/hyperledger-identus/cloud-agent/commit/5ed097850126e6c40f7d7119c947446c813edde7)) * **pollux:** upgrade castor version ([#472](https://github.com/hyperledger-identus/cloud-agent/issues/472)) ([f269b7e](https://github.com/hyperledger-identus/cloud-agent/commit/f269b7e21623d8e60bc7069b001addc29a09f7ac)) * **prism-agent:** fix incorrect long-form parsing behavior on resolution endpoint ([#475](https://github.com/hyperledger-identus/cloud-agent/issues/475)) ([af356d6](https://github.com/hyperledger-identus/cloud-agent/commit/af356d66763197f118aee8f7d1ac7d82be05a46e)) + ## [0.59.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.58.0...prism-agent-v0.59.0) (2023-03-22) ### Features * **prism-agent:** add universal-resolver compatible endpoint ([#455](https://github.com/hyperledger-identus/cloud-agent/issues/455)) ([1cbb729](https://github.com/hyperledger-identus/cloud-agent/commit/1cbb729c05da51d98163a9c99d035f2814cc9fb1)) + ## [0.58.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.57.0...prism-agent-v0.58.0) (2023-03-22) ### Features @@ -711,6 +774,7 @@ ### Bug Fixes * **pollux:** ATL-3900 Force use of Bouncycastle ([#463](https://github.com/hyperledger-identus/cloud-agent/issues/463)) ([5b4aa5d](https://github.com/hyperledger-identus/cloud-agent/commit/5b4aa5d2cd5afeded9efa2d43d924db8e9516670)) + ## [0.57.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.56.0...prism-agent-v0.57.0) (2023-03-21) ### Features @@ -721,50 +785,59 @@ ### Bug Fixes * update mercury to 0.21.0 ([8d42fb1](https://github.com/hyperledger-identus/cloud-agent/commit/8d42fb18206c9e599a4ab77f3c4a5162da03ba35)) + ## [0.56.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.55.0...prism-agent-v0.56.0) (2023-03-17) ### Features * **prism-agent:** allow published and unpublished DIDs in the issuingDID field ([#454](https://github.com/hyperledger-identus/cloud-agent/issues/454)) ([ec107ad](https://github.com/hyperledger-identus/cloud-agent/commit/ec107ad42a66da3703ce60b1fe7697217683c89c)) + ## [0.55.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.54.0...prism-agent-v0.55.0) (2023-03-16) ### Features * **pollux:** update credential schema logic ([#450](https://github.com/hyperledger-identus/cloud-agent/issues/450)) ATL-3164 ([6e22bfc](https://github.com/hyperledger-identus/cloud-agent/commit/6e22bfcd582b4e33611a91d9ce1339a222778d25)), closes [#2](https://github.com/hyperledger-identus/cloud-agent/issues/2) * **prism-agent:** VerificationOptions are configurable for PrismAgent ([#449](https://github.com/hyperledger-identus/cloud-agent/issues/449)) ([ee93880](https://github.com/hyperledger-identus/cloud-agent/commit/ee93880dff6bd8a1fa098c3e1afd29939a6216dd)) + ## [0.54.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.53.0...prism-agent-v0.54.0) (2023-03-16) ### Features * **pollux:** Add ignoreWithZeroRetries filter to SQL queries ([#445](https://github.com/hyperledger-identus/cloud-agent/issues/445)) ([d477c68](https://github.com/hyperledger-identus/cloud-agent/commit/d477c683944a30125a1caa6b5f66caa156e7f70a)) * **prism-agent:** update pollux to 0.41.0; ([#447](https://github.com/hyperledger-identus/cloud-agent/issues/447)) ([f52c5e0](https://github.com/hyperledger-identus/cloud-agent/commit/f52c5e007821e9df1b56e882d443bc31755c1ee6)) + ## [0.53.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.52.0...prism-agent-v0.53.0) (2023-03-14) ### Features * **prism-agent:** Add OAS specification to the schema registry endpoint. ATL-3164 ([#438](https://github.com/hyperledger-identus/cloud-agent/issues/438)) ([91902ce](https://github.com/hyperledger-identus/cloud-agent/commit/91902ce3840227ed4d683b55060d9603320ff9fd)) + ## [0.52.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.51.0...prism-agent-v0.52.0) (2023-03-13) ### Features * **connect:** Use TIMESTAMP instead of BIGINT ATL-3786 ([#431](https://github.com/hyperledger-identus/cloud-agent/issues/431)) ([fb7f2d2](https://github.com/hyperledger-identus/cloud-agent/commit/fb7f2d28a5a8eabb2f52beebd8c794a90793c6fc)) * **prism-agent:** Add filter by thid to OpenAPI when fetching records ([#436](https://github.com/hyperledger-identus/cloud-agent/issues/436)) ([af01359](https://github.com/hyperledger-identus/cloud-agent/commit/af0135904d4961d12e109004e7b001b154b1493e)) + ## [0.51.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.50.0...prism-agent-v0.51.0) (2023-03-10) ### Features * **pollux:** move subjectId field from issuer side to holder side ([#434](https://github.com/hyperledger-identus/cloud-agent/issues/434)) ([434f1fd](https://github.com/hyperledger-identus/cloud-agent/commit/434f1fd7616c5f538819b1a68f4bc5ed4eeb4b5d)) * **prism-agent:** move subjectId field from issuer to holder ([#435](https://github.com/hyperledger-identus/cloud-agent/issues/435)) ([d7813ba](https://github.com/hyperledger-identus/cloud-agent/commit/d7813ba9b3d5a1c422d3d7e7fb57af4dabcb0d54)) + ## [0.50.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.49.0...prism-agent-v0.50.0) (2023-03-10) ### Features -* **prism-agent:** Added connectionId to the request Presentation and deleted the readme files as they are moved here https://github.com/input-output-hk/atala-prism-building-blocks/tree/main/docs/docusaurus ([#432](https://github.com/hyperledger-identus/cloud-agent/issues/432)) ([301022a](https://github.com/hyperledger-identus/cloud-agent/commit/301022a372e40b126b389548ef0c9acb4f0382f0)) +* **prism-agent:** Added connectionId to the request Presentation and deleted the readme files as they are moved here ([#432](https://github.com/hyperledger-identus/cloud-agent/issues/432)) ([301022a](https://github.com/hyperledger-identus/cloud-agent/commit/301022a372e40b126b389548ef0c9acb4f0382f0)) + ## [0.49.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.48.4...prism-agent-v0.49.0) (2023-03-09) ### Features * **prism-agent:** CredentialSchema DAL, model, service and repositor… ([#425](https://github.com/hyperledger-identus/cloud-agent/issues/425)) ([32f9e83](https://github.com/hyperledger-identus/cloud-agent/commit/32f9e832a7789a971a4506a8971b6ba8b06daabe)) + ## [0.48.4](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.48.3...prism-agent-v0.48.4) (2023-03-09) ### Features @@ -780,38 +853,45 @@ * add more heap size for unit tests ([#421](https://github.com/hyperledger-identus/cloud-agent/issues/421)) ([1734533](https://github.com/hyperledger-identus/cloud-agent/commit/1734533534f911090fff45adc79b15ff61ca4122)) * **pollux:** fix 56f7aab7d3f58de51691271e1708edecc67b51b0 by exclude scala-java8-compat ([#423](https://github.com/hyperledger-identus/cloud-agent/issues/423)) ([bc7e783](https://github.com/hyperledger-identus/cloud-agent/commit/bc7e783c3e1499b6ab469178a2e524980d18d236)) * **prism-agent:** Fix for ATL-3624 ([#430](https://github.com/hyperledger-identus/cloud-agent/issues/430)) ([02fe4d8](https://github.com/hyperledger-identus/cloud-agent/commit/02fe4d8cab14eb2b54d13dc726573d07bf77b76a)) + ## [0.48.3](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.48.2...prism-agent-v0.48.3) (2023-03-03) ### Bug Fixes * **pollux:** Fix Instant encoder in JdbcPresentationRepository ([#418](https://github.com/hyperledger-identus/cloud-agent/issues/418)) ([2ece2c6](https://github.com/hyperledger-identus/cloud-agent/commit/2ece2c6881430c180fa9c1bad6cdd6085be2c453)) * **prism-agent:** update pollux to 0.35.2 ([#419](https://github.com/hyperledger-identus/cloud-agent/issues/419)) ([63cd430](https://github.com/hyperledger-identus/cloud-agent/commit/63cd4305cfe10b6be5d57d1d2988536eefde35f0)) + ## [0.48.2](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.48.1...prism-agent-v0.48.2) (2023-03-03) ### Bug Fixes * **prism-agent:** avoid race condition when update or deactivate DID ([#415](https://github.com/hyperledger-identus/cloud-agent/issues/415)) ([bf03674](https://github.com/hyperledger-identus/cloud-agent/commit/bf03674769f0b6163de13f4002198902fdd413e9)) + ## [0.48.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.48.0...prism-agent-v0.48.1) (2023-03-02) ### Bug Fixes * **pollux:** Fix column meta_next_retry ([#413](https://github.com/hyperledger-identus/cloud-agent/issues/413)) ([c02aba8](https://github.com/hyperledger-identus/cloud-agent/commit/c02aba87adbdbea4c30ac4c1c7f7e3a8fe0aa7c4)) * **prism-agent:** update pollux to 0.35.1 ([#414](https://github.com/hyperledger-identus/cloud-agent/issues/414)) ([20770c8](https://github.com/hyperledger-identus/cloud-agent/commit/20770c84a67ca4105e964e97de7aeddbbcab5941)) + ## [0.48.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.47.1...prism-agent-v0.48.0) (2023-03-02) ### Features * **prism-agent:** Added new state PresentationVerificationFailed ([#412](https://github.com/hyperledger-identus/cloud-agent/issues/412)) ([55569ed](https://github.com/hyperledger-identus/cloud-agent/commit/55569edbae03a034b84548878fe3ab19252b3bb3)) + ## [0.47.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.47.0...prism-agent-v0.47.1) (2023-03-02) ### Bug Fixes * **prism-agent:** add consistency to documentation of OAS on DID endpoints ([#408](https://github.com/hyperledger-identus/cloud-agent/issues/408)) ([dd04c3f](https://github.com/hyperledger-identus/cloud-agent/commit/dd04c3fd14c76c02a7cfbb26ca52141590c48371)) + ## [0.47.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.46.0...prism-agent-v0.47.0) (2023-03-02) ### Features * **prism-agent:** update pollux from 0.33.0 to 0.35.0 ([#410](https://github.com/hyperledger-identus/cloud-agent/issues/410)) ([59afe8c](https://github.com/hyperledger-identus/cloud-agent/commit/59afe8cd2acea17fd201378066b89f0bfcb8e98a)) + ## [0.46.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.45.1...prism-agent-v0.46.0) (2023-03-02) ### Features @@ -821,11 +901,13 @@ * **pollux:** Add retries field for ATL-3205 ([#380](https://github.com/hyperledger-identus/cloud-agent/issues/380)) ([c7efde6](https://github.com/hyperledger-identus/cloud-agent/commit/c7efde651c7b3e0260568290ab9dd58e2d955a70)) * **pollux:** Added new state PresentationVerificationFailed ([#400](https://github.com/hyperledger-identus/cloud-agent/issues/400)) ([94031f8](https://github.com/hyperledger-identus/cloud-agent/commit/94031f880f00f61be2da2dd91f22fb92246b1609)) * **prism-agent:** update libs: pollux 0.33.0; connect 0.11.0; mercury 0.20.0 ([#403](https://github.com/hyperledger-identus/cloud-agent/issues/403)) ([d724a02](https://github.com/hyperledger-identus/cloud-agent/commit/d724a02a7b5551bb8a49ddd702a6b14c42f53a81)) + ## [0.45.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.45.0...prism-agent-v0.45.1) (2023-02-28) ### Bug Fixes * **prism-agent:** add uri normalization on UpdateService patch ([#401](https://github.com/hyperledger-identus/cloud-agent/issues/401)) ([6a98f70](https://github.com/hyperledger-identus/cloud-agent/commit/6a98f7015069dba781d03584ae97a40681c5a5a9)) + ## [0.45.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.44.0...prism-agent-v0.45.0) (2023-02-27) ### Features @@ -834,6 +916,7 @@ * **pollux:** Replace UUID with String - ATL-3555 ([#397](https://github.com/hyperledger-identus/cloud-agent/issues/397)) ([cc11479](https://github.com/hyperledger-identus/cloud-agent/commit/cc1147987e68cc87545854eb9da78b5217331dcc)) * **pollux:** Updated version for mercury ([#399](https://github.com/hyperledger-identus/cloud-agent/issues/399)) ([faac0a7](https://github.com/hyperledger-identus/cloud-agent/commit/faac0a718e07ab3ccfa814b875b9684855baff5c)) * **prism-agent:** add JVM metrics endpoint, add health/version endpoint ([#390](https://github.com/hyperledger-identus/cloud-agent/issues/390)) ([6d3e5a0](https://github.com/hyperledger-identus/cloud-agent/commit/6d3e5a038b75250c3813a5454f1547247b5e5d13)) + ## [0.44.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.43.0...prism-agent-v0.44.0) (2023-02-27) ### Features @@ -843,6 +926,7 @@ * **pollux:** Moving the check when accepting the credential to crea… ([#391](https://github.com/hyperledger-identus/cloud-agent/issues/391)) ([2765845](https://github.com/hyperledger-identus/cloud-agent/commit/2765845e4255e0ff5c087563d52cf6ac0d4bd3e9)) * **prism-agent:** add pagination to did-registrar list DID endpoint ([#394](https://github.com/hyperledger-identus/cloud-agent/issues/394)) ([a21e388](https://github.com/hyperledger-identus/cloud-agent/commit/a21e38880a5d49e0616e30b9dd9b92dc01980256)) * **prsim-agent:** pollux version updated ([#392](https://github.com/hyperledger-identus/cloud-agent/issues/392)) ([409b673](https://github.com/hyperledger-identus/cloud-agent/commit/409b673e954b913d7bebf31cdf0c2e8dcee3ce03)) + ## [0.43.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.42.0...prism-agent-v0.43.0) (2023-02-22) ### Features @@ -853,16 +937,19 @@ ### Bug Fixes * **castor:** use URI that is compliant to RFC3986 ([#385](https://github.com/hyperledger-identus/cloud-agent/issues/385)) ([f92fed6](https://github.com/hyperledger-identus/cloud-agent/commit/f92fed658a20832398538dec51c9ae56b3cf3975)) + ## [0.42.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.41.0...prism-agent-v0.42.0) (2023-02-21) ### Features * **prism-agent:** set OAS version to 0.41.0 ([#386](https://github.com/hyperledger-identus/cloud-agent/issues/386)) ([198643e](https://github.com/hyperledger-identus/cloud-agent/commit/198643e3856c51dcd1e68047f9269cdd71238923)) + ## [0.41.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.40.1...prism-agent-v0.41.0) (2023-02-20) ### Features * **prism-agent:** do not create new Prism DID when proof presentation is generated ([#378](https://github.com/hyperledger-identus/cloud-agent/issues/378)) ([1aa856f](https://github.com/hyperledger-identus/cloud-agent/commit/1aa856f4281c23f6fd2f12b8e250ed1be285d49e)) + ## [0.40.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.40.0...prism-agent-v0.40.1) (2023-02-17) ### Features @@ -880,17 +967,20 @@ * **connect:** Update to Mercury 0.19.0 ([#353](https://github.com/hyperledger-identus/cloud-agent/issues/353)) ([326698b](https://github.com/hyperledger-identus/cloud-agent/commit/326698b5361e1a6fb04ddda175c5040cc7eed022)) * **pollux:** Improve CredentialService's API ATL-3225 ([#372](https://github.com/hyperledger-identus/cloud-agent/issues/372)) ([ad5602d](https://github.com/hyperledger-identus/cloud-agent/commit/ad5602dffd909b0d2a2e6652043720ac58f22193)) * **pollux:** Update to Mercury 0.19.0 ([#355](https://github.com/hyperledger-identus/cloud-agent/issues/355)) ([fb60ca8](https://github.com/hyperledger-identus/cloud-agent/commit/fb60ca8dae120ee641c46e00f073bc868f95177e)) + ## [0.40.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.39.0...prism-agent-v0.40.0) (2023-02-16) ### Features * **prism-agent:** ATL-3554 clean-up OAS and remove unused endpoints and definitions ([#376](https://github.com/hyperledger-identus/cloud-agent/issues/376)) ([146cd52](https://github.com/hyperledger-identus/cloud-agent/commit/146cd52062c712de30c9862c32cba73ebe213a89)) + ## [0.39.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.38.0...prism-agent-v0.39.0) (2023-02-15) ### Features * **pollux:** support issuing VC to Prism DID subject by Prism DID issuer ([#371](https://github.com/hyperledger-identus/cloud-agent/issues/371)) ([5a1acde](https://github.com/hyperledger-identus/cloud-agent/commit/5a1acdecb5e25bdf39398511d6ed1219da83e62e)) * **prism-agent:** issue credential to Prism DID holder by Prism DID issuer ([#373](https://github.com/hyperledger-identus/cloud-agent/issues/373)) ([1c1a171](https://github.com/hyperledger-identus/cloud-agent/commit/1c1a171d1ba983a9c93644ded4feafe0ed6e5294)) + ## [0.38.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.37.0...prism-agent-v0.38.0) (2023-02-13) ### Features @@ -898,12 +988,14 @@ * **mercury:** Support for pleaseAck (needed for ATL-3222) ([#366](https://github.com/hyperledger-identus/cloud-agent/issues/366)) ([a2d9c98](https://github.com/hyperledger-identus/cloud-agent/commit/a2d9c9855390ea77a36943e86cfdec8a3adf0b57)) * **pollux:** implement the DAL for CRUD on the verifiable policy entity. ATL-2478 ([#368](https://github.com/hyperledger-identus/cloud-agent/issues/368)) ([b290a18](https://github.com/hyperledger-identus/cloud-agent/commit/b290a18a2aef67cfded20062e111f85bad7ad248)) * **prism-agent:** integrate VerificationPolicy DAL into the agent, update OAS and implement REST API for verification policies ([#369](https://github.com/hyperledger-identus/cloud-agent/issues/369)) ([142ff55](https://github.com/hyperledger-identus/cloud-agent/commit/142ff550a278e7f28d97c539e529fea3cc92c178)) + ## [0.37.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.36.0...prism-agent-v0.37.0) (2023-02-09) ### Features * **pollux:** Added New Erorr ([#363](https://github.com/hyperledger-identus/cloud-agent/issues/363)) ([5349a0e](https://github.com/hyperledger-identus/cloud-agent/commit/5349a0edf1c297a76aaf0a5e6ed6b8d97f13b16c)) * **prism-agent:** Added challenge and domain and to protect agains r… ([#364](https://github.com/hyperledger-identus/cloud-agent/issues/364)) ([4f0b261](https://github.com/hyperledger-identus/cloud-agent/commit/4f0b261b3545c8681eccd8b38c7fa028ee840c50)) + ## [0.36.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.35.0...prism-agent-v0.36.0) (2023-02-07) ### Features @@ -912,6 +1004,7 @@ * **mercury:** ATL-3424 Expose HTTP status ([#351](https://github.com/hyperledger-identus/cloud-agent/issues/351)) ([d87613c](https://github.com/hyperledger-identus/cloud-agent/commit/d87613c7cb8c892964820e3346d44b3bf46114fd)) * **pollux:** bump mercury version and fix queries ([#357](https://github.com/hyperledger-identus/cloud-agent/issues/357)) ([28f779a](https://github.com/hyperledger-identus/cloud-agent/commit/28f779a5a8bb24eb5ffd8fce0b5cd0a4e8387132)) * **prism-agent:** ATL-3349 connection state issue and perf improvements ([#359](https://github.com/hyperledger-identus/cloud-agent/issues/359)) ([c77f160](https://github.com/hyperledger-identus/cloud-agent/commit/c77f160043262662ce7d5d9c6f75cd893bcab68d)) + ## [0.35.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.34.0...prism-agent-v0.35.0) (2023-02-07) ### Features @@ -925,6 +1018,7 @@ * **connect:** Update to Mercury 0.17.0 ([#346](https://github.com/hyperledger-identus/cloud-agent/issues/346)) ([8823325](https://github.com/hyperledger-identus/cloud-agent/commit/8823325e88604c970d3dd6a94c4573f5658a8ca2)) * **pollux:** Update to Mercury 0.17.0 ([#347](https://github.com/hyperledger-identus/cloud-agent/issues/347)) ([8e90c5f](https://github.com/hyperledger-identus/cloud-agent/commit/8e90c5fe0ad25ac40c7e7df14ed952c1d68333bd)) + ## [0.34.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.33.0...prism-agent-v0.34.0) (2023-02-06) ### Features @@ -933,6 +1027,7 @@ * **connect:** Add retries field for ATL-3202 ([#335](https://github.com/hyperledger-identus/cloud-agent/issues/335)) ([7cbcebc](https://github.com/hyperledger-identus/cloud-agent/commit/7cbcebc7c9229e1dac47b3f31b3d1d6621e739d3)) * **pollux:** upgrade castor and update DID public key extraction logic ([#339](https://github.com/hyperledger-identus/cloud-agent/issues/339)) ([00a6026](https://github.com/hyperledger-identus/cloud-agent/commit/00a6026b10434bb3fa17c1d11b581316f5295237)) * **prism-agent:** upgrade castor and pollux and align OAS to the DID spec ([#342](https://github.com/hyperledger-identus/cloud-agent/issues/342)) ([b8643a8](https://github.com/hyperledger-identus/cloud-agent/commit/b8643a81710300082bfaceb08f906d364869d405)) + ## [0.33.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.32.0...prism-agent-v0.33.0) (2023-02-02) ### Features @@ -943,6 +1038,7 @@ * **pollux:** get rid of 'drop(1)' and 'dropRight(1)' on credential attachment value ([#341](https://github.com/hyperledger-identus/cloud-agent/issues/341)) ([b0a14d4](https://github.com/hyperledger-identus/cloud-agent/commit/b0a14d459cd806353b73461194a847ec03551332)) * **pollux:** upgrade mercury to 0.16.0 ([#327](https://github.com/hyperledger-identus/cloud-agent/issues/327)) ([f4b99fc](https://github.com/hyperledger-identus/cloud-agent/commit/f4b99fc00ff61e003d13b79b6d05d70b0fcf70c9)) * **prism-agent:** Upgrade mercury connect pollux ([#340](https://github.com/hyperledger-identus/cloud-agent/issues/340)) ([3758232](https://github.com/hyperledger-identus/cloud-agent/commit/3758232448ae66fbc444c487f32917a106645473)) + ## [0.32.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.31.1...prism-agent-v0.32.0) (2023-01-27) ### Features @@ -951,22 +1047,26 @@ * **mercury:** Split DidComm into DidAgent and DidOps ([#319](https://github.com/hyperledger-identus/cloud-agent/issues/319)) ([e12ca22](https://github.com/hyperledger-identus/cloud-agent/commit/e12ca22daaecb775894067f36f82d1ed0e3e6ea0)) * **pollux:** upgrade castor to 0.7.0 ([#330](https://github.com/hyperledger-identus/cloud-agent/issues/330)) ([de180a6](https://github.com/hyperledger-identus/cloud-agent/commit/de180a6e7b939f6139618eb57003b1036bf300e0)) * **prism-agent:** add deactivate DID endpoint ([#326](https://github.com/hyperledger-identus/cloud-agent/issues/326)) ([29a804f](https://github.com/hyperledger-identus/cloud-agent/commit/29a804fce71d2c500cec9ab8db21de84f9016c95)) + ## [0.31.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.31.0...prism-agent-v0.31.1) (2023-01-26) ### Bug Fixes * **prism-agent:** remove deprecated did-auth endpoints ([#324](https://github.com/hyperledger-identus/cloud-agent/issues/324)) ([a934cd4](https://github.com/hyperledger-identus/cloud-agent/commit/a934cd4ac48f4ba4724681eeff92f4c67c009940)) + ## [0.31.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.30.0...prism-agent-v0.31.0) (2023-01-25) ### Features * **prism-agent:** remove connection deletion enpoint from OAS spec ([#323](https://github.com/hyperledger-identus/cloud-agent/issues/323)) ([cb17acf](https://github.com/hyperledger-identus/cloud-agent/commit/cb17acf782500c0885c077570392423deee9a2f2)) + ## [0.30.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.29.0...prism-agent-v0.30.0) (2023-01-23) ### Features * **pollux:** upgrade castor to 0.6.0 ([#320](https://github.com/hyperledger-identus/cloud-agent/issues/320)) ([c97624d](https://github.com/hyperledger-identus/cloud-agent/commit/c97624d9b5542999db91bec96fcc8dff3177cca1)) * **prism-agent:** enable update DID operation on prism-agent ([#307](https://github.com/hyperledger-identus/cloud-agent/issues/307)) ([a57365f](https://github.com/hyperledger-identus/cloud-agent/commit/a57365f8c063958e7a41e01fde71653843dafe24)) + ## [0.29.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.28.0...prism-agent-v0.29.0) (2023-01-20) ### Features @@ -982,6 +1082,7 @@ ### Bug Fixes * **mercury:** Add compilation flags and fix code ([#302](https://github.com/hyperledger-identus/cloud-agent/issues/302)) ([43014c5](https://github.com/hyperledger-identus/cloud-agent/commit/43014c52b1671328956cd5913c2ebb4f6d206d89)) + ## [0.28.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.27.0...prism-agent-v0.28.0) (2023-01-06) ### Features @@ -991,28 +1092,33 @@ * **prism-node:** align Prism DID protobuf key type ([#286](https://github.com/hyperledger-identus/cloud-agent/issues/286)) ([a533507](https://github.com/hyperledger-identus/cloud-agent/commit/a5335075be287f6d5582deba849255d2156d9542)) * **prismagent:** prism did creation and use updated protocol state ([#291](https://github.com/hyperledger-identus/cloud-agent/issues/291)) ([cc7c533](https://github.com/hyperledger-identus/cloud-agent/commit/cc7c53380faba9afe36006b8bf68621862c9b902)) * **pullux:** dummy commit for release ([#293](https://github.com/hyperledger-identus/cloud-agent/issues/293)) ([859c29e](https://github.com/hyperledger-identus/cloud-agent/commit/859c29ea968c79154fd007e91e7cbe30116c3c95)) + ## [0.27.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.26.0...prism-agent-v0.27.0) (2022-12-22) ### Features * **mercury:** Improve support for ForwardMessage in MessagingService ([#269](https://github.com/hyperledger-identus/cloud-agent/issues/269)) ([4385440](https://github.com/hyperledger-identus/cloud-agent/commit/4385440d4b202af97aad5f17f3327bad452b7930)) * **prism-agent:** implement JDBC did nonsecret storage ([#284](https://github.com/hyperledger-identus/cloud-agent/issues/284)) ([7e116a3](https://github.com/hyperledger-identus/cloud-agent/commit/7e116a38b44408b3d0c875bc79415ea6d0579ffa)) + ## [0.26.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.25.0...prism-agent-v0.26.0) (2022-12-20) ### Features * **prism-agent:** add 'GET /present-proof/presentations/{id}' endpoint ([#282](https://github.com/hyperledger-identus/cloud-agent/issues/282)) ([030a257](https://github.com/hyperledger-identus/cloud-agent/commit/030a257efa89f5fc473549dc17657160fda0b26b)) + ## [0.25.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.24.0...prism-agent-v0.25.0) (2022-12-20) ### Features * **pollux:** Added JWT verfication ([#280](https://github.com/hyperledger-identus/cloud-agent/issues/280)) ([a87dc17](https://github.com/hyperledger-identus/cloud-agent/commit/a87dc1718734fb4022afaaacaea13853bfff7ff8)) * **prism-agnet:** Verifiable Credential ([#281](https://github.com/hyperledger-identus/cloud-agent/issues/281)) ([ae74e20](https://github.com/hyperledger-identus/cloud-agent/commit/ae74e20080cfcac7263c7540c8ed5b82070428e1)) + ## [0.24.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.23.0...prism-agent-v0.24.0) (2022-12-20) ### Features * **prism-agent:** allow connection reuse when creating credential offer ([#276](https://github.com/hyperledger-identus/cloud-agent/issues/276)) ([eff3918](https://github.com/hyperledger-identus/cloud-agent/commit/eff3918c98ca3f2edc708688edd2ece63f7f5aa9)) + ## [0.23.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.22.0...prism-agent-v0.23.0) (2022-12-19) ### Features @@ -1024,29 +1130,34 @@ * **mercury:** Support a mediator in service uri field ([#263](https://github.com/hyperledger-identus/cloud-agent/issues/263)) ([88ad415](https://github.com/hyperledger-identus/cloud-agent/commit/88ad415a3770abb4a5f40ff6fe5e4e1ebf1ab996)) * **pollux:** bump mercury version ([#271](https://github.com/hyperledger-identus/cloud-agent/issues/271)) ([a31f379](https://github.com/hyperledger-identus/cloud-agent/commit/a31f379321bbf9dc43eb851365e880572cb29bde)) * **prism-agent:** bump mercury, pollux and connect versions ([#273](https://github.com/hyperledger-identus/cloud-agent/issues/273)) ([ce4758b](https://github.com/hyperledger-identus/cloud-agent/commit/ce4758bf0e1a34b0953c05eea63ae06a389fc532)) + ## [0.22.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.21.0...prism-agent-v0.22.0) (2022-12-16) ### Features * **prism-agent:** use pairwise DID in proof presentation flow ([#260](https://github.com/hyperledger-identus/cloud-agent/issues/260)) ([bb04ca4](https://github.com/hyperledger-identus/cloud-agent/commit/bb04ca4c4d2a2c18e8be7f2932c0546888ffce05)) + ## [0.21.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.20.0...prism-agent-v0.21.0) (2022-12-15) ### Features * **pollux:** [ATL-2706] Universal Verification Method ([#258](https://github.com/hyperledger-identus/cloud-agent/issues/258)) ([d0c36f4](https://github.com/hyperledger-identus/cloud-agent/commit/d0c36f44a2b5dff427aef54d745b3b4e19f3f766)) * **prism-agent:** integrate latest pollux version ([#259](https://github.com/hyperledger-identus/cloud-agent/issues/259)) ([d199f0d](https://github.com/hyperledger-identus/cloud-agent/commit/d199f0db0c40683bfafdeec4726b517172f8a769)) + ## [0.20.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.19.0...prism-agent-v0.20.0) (2022-12-14) ### Features * **pollux:** integrate castor resolver to pollux-jwt-vc library ([#250](https://github.com/hyperledger-identus/cloud-agent/issues/250)) ([ea10db5](https://github.com/hyperledger-identus/cloud-agent/commit/ea10db5f693758f8cbff5be839d691806f161158)) * **prism-agent:** fix DB connection pool duplication issue by providing ZLayer globally ([#256](https://github.com/hyperledger-identus/cloud-agent/issues/256)) ([4424de1](https://github.com/hyperledger-identus/cloud-agent/commit/4424de14917988cc6f8e406624bf7cf20db27455)) + ## [0.19.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.18.0...prism-agent-v0.19.0) (2022-12-14) ### Features * **pollux:** use dedicated pairwise PeerDIDs instead of a global one ([#252](https://github.com/hyperledger-identus/cloud-agent/issues/252)) ([38a9b95](https://github.com/hyperledger-identus/cloud-agent/commit/38a9b95a254e53483c15d7ee381f82a1d7556a18)) * **prism-agent:** Use pairwise PeerDIDs in connect and issue ([#253](https://github.com/hyperledger-identus/cloud-agent/issues/253)) ([01519ff](https://github.com/hyperledger-identus/cloud-agent/commit/01519ffc7d608c3d17ffa06242bf7324681c31d1)) + ## [0.18.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.17.1...prism-agent-v0.18.0) (2022-12-14) ### Features @@ -1060,17 +1171,20 @@ ### Bug Fixes * **castor:** add missing did document field ([#251](https://github.com/hyperledger-identus/cloud-agent/issues/251)) ([27370ab](https://github.com/hyperledger-identus/cloud-agent/commit/27370abae1a26e0441d81ac10619539a7bc60aaf)) + ## [0.17.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.17.0...prism-agent-v0.17.1) (2022-12-13) ### Bug Fixes * **prism-agent:** switch datetime format to offsetdatetime. ATL-2723 ([#243](https://github.com/hyperledger-identus/cloud-agent/issues/243)) ([6903afa](https://github.com/hyperledger-identus/cloud-agent/commit/6903afa8d3ba226f02b1dce7665cf5adf3fc09e6)) + ## [0.17.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.16.1...prism-agent-v0.17.0) (2022-12-12) ### Features * **mercury:** Make Message class and protocol-connection more robust ([#235](https://github.com/hyperledger-identus/cloud-agent/issues/235)) ([ca8a638](https://github.com/hyperledger-identus/cloud-agent/commit/ca8a638ef1640045202b713727467a428ab18a2c)) * **pollux:** [ATL-2679] Improve Error Hanlding and Verification ([#239](https://github.com/hyperledger-identus/cloud-agent/issues/239)) ([6348e13](https://github.com/hyperledger-identus/cloud-agent/commit/6348e1339b1c8f8b6b1646c8730c526eac99cf4a)) + ## [0.16.1](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.16.0...prism-agent-v0.16.1) (2022-12-12) ### Features @@ -1081,6 +1195,7 @@ * **infra:** change didcomm endpoint - remove suffix ([#240](https://github.com/hyperledger-identus/cloud-agent/issues/240)) ([2dcf5e3](https://github.com/hyperledger-identus/cloud-agent/commit/2dcf5e3277428be9c26ba998a6245ba193450713)) * **prism-agent:** didcomm endpoint now exposed in docker file and with correct path ([#241](https://github.com/hyperledger-identus/cloud-agent/issues/241)) ([405f367](https://github.com/hyperledger-identus/cloud-agent/commit/405f3672d48dd47559f10f89db5cd7051a0c9eeb)) + ## [0.16.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.15.0...prism-agent-v0.16.0) (2022-12-12) ### Features @@ -1093,6 +1208,7 @@ ### Bug Fixes * **infra:** adds execution chmod to init-script ([#220](https://github.com/hyperledger-identus/cloud-agent/issues/220)) ([17038d3](https://github.com/hyperledger-identus/cloud-agent/commit/17038d3f2ebdadb284bf2ed4057db68f2a0a5742)) + ## [0.15.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.14.0...prism-agent-v0.15.0) (2022-12-09) ### Features @@ -1109,11 +1225,13 @@ * **connect:** bump mercury version to 1.10.1 and touch README.md ([e13a1bd](https://github.com/hyperledger-identus/cloud-agent/commit/e13a1bdcf2eec2c6059d8e9b4f4a587ff6aa15a6)) * **mercury:** simple commit to increase the version of mercury library ([5ffb0cc](https://github.com/hyperledger-identus/cloud-agent/commit/5ffb0cc9e7ca8e63feacc6e915ab026681a30f24)) * **pollux:** upgrade mercury lib to 1.10.1 ([ee27755](https://github.com/hyperledger-identus/cloud-agent/commit/ee2775534f6207a6fed6332c938e6249d62168df)) + ## [0.14.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.13.0...prism-agent-v0.14.0) (2022-12-07) ### Features * **infra:** switch to single instance of postgres for running locally ([#203](https://github.com/hyperledger-identus/cloud-agent/issues/203)) ([32e33f1](https://github.com/hyperledger-identus/cloud-agent/commit/32e33f109f834386cfda5168a00e8407ca136e2e)) + ## [0.13.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.12.0...prism-agent-v0.13.0) (2022-12-07) ### Features @@ -1121,11 +1239,13 @@ * **pollux:** [ATL-2639] JWT Presentation Temporal Verification ([#204](https://github.com/hyperledger-identus/cloud-agent/issues/204)) ([4ff51b6](https://github.com/hyperledger-identus/cloud-agent/commit/4ff51b65a8738086f4fa6599288ff0903509ac97)) * **pollux:** remove issuanceDate to fix the main branch ([#207](https://github.com/hyperledger-identus/cloud-agent/issues/207)) ([713e659](https://github.com/hyperledger-identus/cloud-agent/commit/713e6595e9fbf12224b57c2fadd2c5c371a2ec67)) * **prism-agent:** remove unused / deprecated DID endpoints ([#213](https://github.com/hyperledger-identus/cloud-agent/issues/213)) ([0308b4f](https://github.com/hyperledger-identus/cloud-agent/commit/0308b4fdc6da78643354391234a6139d79cd8e90)) + ## [0.12.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.11.0...prism-agent-v0.12.0) (2022-12-06) ### Features * **prism-agent:** implement get DIDs endpoint ([#198](https://github.com/hyperledger-identus/cloud-agent/issues/198)) ([d5e08ab](https://github.com/hyperledger-identus/cloud-agent/commit/d5e08ab16aa629805264a726c2cb9a5803226703)) + ## [0.11.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.10.0...prism-agent-v0.11.0) (2022-12-06) ### Features @@ -1135,6 +1255,7 @@ * **pollux:** [ATL-2235] Verfiable Prensentation Adjustments ([#201](https://github.com/hyperledger-identus/cloud-agent/issues/201)) ([42d23fb](https://github.com/hyperledger-identus/cloud-agent/commit/42d23fbee6a778786f8f083a193e1a0603c68717)) * **pollux:** Pollux part for the Verification Flow - ATL-2117 ([#202](https://github.com/hyperledger-identus/cloud-agent/issues/202)) ([2c967f1](https://github.com/hyperledger-identus/cloud-agent/commit/2c967f130eee455a0d596cc23e430da369b2e297)) * **prism-agent:** verification policies pagination. ATL-1334 ([#205](https://github.com/hyperledger-identus/cloud-agent/issues/205)) ([403eb38](https://github.com/hyperledger-identus/cloud-agent/commit/403eb3821daab718d97f0760ba2d71e065258665)) + ## [0.10.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.9.0...prism-agent-v0.10.0) (2022-12-02) ### Features @@ -1142,11 +1263,13 @@ * **infra:** switch to APISIX for local running instead of HAProxy ([#196](https://github.com/hyperledger-identus/cloud-agent/issues/196)) ([e3a1aa6](https://github.com/hyperledger-identus/cloud-agent/commit/e3a1aa6c75dc89eee4c7c034c73dc1b1b2234e33)) * **pollux:** validate the current record state on each protocol action received ([#193](https://github.com/hyperledger-identus/cloud-agent/issues/193)) ([6fffde2](https://github.com/hyperledger-identus/cloud-agent/commit/6fffde28bee50b130a0f1f8b5f4dae80ec488498)) * **prism-agent:** fix prism-agent major issues ([#199](https://github.com/hyperledger-identus/cloud-agent/issues/199)) ([1dc7339](https://github.com/hyperledger-identus/cloud-agent/commit/1dc733909374ba31f4655003dafcf4479fddc70b)) + ## [0.9.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.8.0...prism-agent-v0.9.0) (2022-12-02) ### Features * **prism-agent:** implement pagination with navigation for schema-registry ([#195](https://github.com/hyperledger-identus/cloud-agent/issues/195)) ([726e2d9](https://github.com/hyperledger-identus/cloud-agent/commit/726e2d95ae879867d0932d93ac51e75b177bcb6c)) + ## [0.8.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.7.0...prism-agent-v0.8.0) (2022-12-02) ### Features @@ -1154,6 +1277,7 @@ * **castor:** implement translation of Node DidData to W3C DidDocument ([#182](https://github.com/hyperledger-identus/cloud-agent/issues/182)) ([d72159f](https://github.com/hyperledger-identus/cloud-agent/commit/d72159fdd2ae1797c33bd425443dc632b9e8ebac)) * **infra:** improved scripts for runinng locally or develping locally ([#153](https://github.com/hyperledger-identus/cloud-agent/issues/153)) ([df24ad9](https://github.com/hyperledger-identus/cloud-agent/commit/df24ad99d07661ba6d0561f9269afa5f4a3c51f6)) * **prism-agent:** implement DID resolution endpoint ([#184](https://github.com/hyperledger-identus/cloud-agent/issues/184)) ([7fba9b0](https://github.com/hyperledger-identus/cloud-agent/commit/7fba9b0bd4eac3c5b524a6db0590abcd97839afc)) + ## [0.7.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.6.0...prism-agent-v0.7.0) (2022-12-01) ### Features @@ -1163,11 +1287,13 @@ * **pollux:** cleanup the code of IssueCredentialApi ([16d5fdb](https://github.com/hyperledger-identus/cloud-agent/commit/16d5fdbadf20c1597bf42b4e366f71623804dfc4)) * **pollux:** cleanup the OAS from Issue Credentials and other unused tags ([79170f8](https://github.com/hyperledger-identus/cloud-agent/commit/79170f8722053de9e477118f3f9443c97f27c512)) * **prism-agent:** upgrade castor on prism-agent ([#141](https://github.com/hyperledger-identus/cloud-agent/issues/141)) ([e85e7c0](https://github.com/hyperledger-identus/cloud-agent/commit/e85e7c09019f3e1d55f36b73fa081f42c19d4218)) + ## [0.6.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.5.0...prism-agent-v0.6.0) (2022-11-29) ### Features * **prism-agent:** add connect/issue doc + allow local execution of multiple Prism Agent instances ([#178](https://github.com/hyperledger-identus/cloud-agent/issues/178)) ([dc8d86b](https://github.com/hyperledger-identus/cloud-agent/commit/dc8d86b1ba87d747c5ac0089573ddd8c2ab62f5e)) + ## [0.5.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.4.0...prism-agent-v0.5.0) (2022-11-28) ### Features @@ -1184,12 +1310,14 @@ ### Reverts * **connect:** revert wrongly released 1.0.0 ([b5e81ec](https://github.com/hyperledger-identus/cloud-agent/commit/b5e81ec9ec89f2baf9d37a09045e4705c6fb57d1)) + ## [0.4.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.3.0...prism-agent-v0.4.0) (2022-11-24) ### Features * **apollo:** add schema registry to the agent using Tapir library. ATL-1334 ([#94](https://github.com/hyperledger-identus/cloud-agent/issues/94)) ([b3cf828](https://github.com/hyperledger-identus/cloud-agent/commit/b3cf828d001f7499c414e9dc559f5152997445e6)) * **pollux:** Verify PresentProof Protocol ([#149](https://github.com/hyperledger-identus/cloud-agent/issues/149)) ([7f0f412](https://github.com/hyperledger-identus/cloud-agent/commit/7f0f412580b1111338015ac8bb16b525e946fed4)) + ## [0.3.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.2.0...prism-agent-v0.3.0) (2022-11-21) ### Features @@ -1205,6 +1333,7 @@ * **prism-agent:** implement Issue Credential v2 protocol ([#146](https://github.com/hyperledger-identus/cloud-agent/issues/146)) ([f3cb60e](https://github.com/hyperledger-identus/cloud-agent/commit/f3cb60eb0d4dce73025326d64a012e580f581a7c)), closes [#92](https://github.com/hyperledger-identus/cloud-agent/issues/92) * **prism-node:** add prism-node scala grpc client generation ([#128](https://github.com/hyperledger-identus/cloud-agent/issues/128)) ([948e864](https://github.com/hyperledger-identus/cloud-agent/commit/948e86423dfe86aaf04ed4ef6ce5eff303a9b5c6)) * **shared:** add base64 helper function ([#135](https://github.com/hyperledger-identus/cloud-agent/issues/135)) ([70555c9](https://github.com/hyperledger-identus/cloud-agent/commit/70555c906121a7bc26e30c15dbf8f9d7721a100a)) + ## [0.2.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.1.0...prism-agent-v0.2.0) (2022-11-15) ### Features @@ -1212,6 +1341,7 @@ * **prism-agent:** implement Flyway migrations from castor and pollux library and call on agent startup ([#117](https://github.com/hyperledger-identus/cloud-agent/issues/117)) ([67bd340](https://github.com/hyperledger-identus/cloud-agent/commit/67bd340e25e4a44118398746268ee25f5cf09477)) * **shared:** add Flyway Migrations and expose in ZIO Layer to be used in consuming service ([#115](https://github.com/hyperledger-identus/cloud-agent/issues/115)) ([cd11493](https://github.com/hyperledger-identus/cloud-agent/commit/cd11493aa01494f599fce369918d35edfcd2ce17)) * **shared:** set OAS servers to `k8s-dev.atalaprism.io` and add API Key auth method - also update local docker-compose implementation ([#126](https://github.com/hyperledger-identus/cloud-agent/issues/126)) ([775880a](https://github.com/hyperledger-identus/cloud-agent/commit/775880a032f3a6e6067817f3bab0444c627c6fd5)) + ## [0.1.0](https://github.com/hyperledger-identus/cloud-agent/compare/prism-agent-v0.0.1...prism-agent-v0.1.0) (2022-11-11) ### Features diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 37dc7c15af..7631c0ee09 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,7 +10,6 @@ As a contributor, here are the guidelines we would like you to follow: - [Coding Rules](#rules) - [Commit Message Guidelines](#commit) - ## Developer Certificate of Origin (DCO) Cloud Agent enforces the Developer Certificate of Origin (DCO). It requires all commit messages to contain the `Signed-off-by` line with an email address that matches the commit author and the name on your GitHub account. @@ -28,13 +27,12 @@ Even better, you can [submit a Pull Request](#submit-pr) with a fix. You can *request* a new feature by [submitting an issue](#submit-issue) to our GitHub Repository. If you would like to *implement* a new feature, please consider the size of the change in order to determine the right steps to proceed: -* For a **Major Feature**, first open an issue and outline your proposal so that it can be discussed. +- For a **Major Feature**, first open an issue and outline your proposal so that it can be discussed. This process allows us to better coordinate our efforts, prevent duplication of work, and help you to craft the change so that it is successfully accepted into the project. **Note**: Adding a new topic to the documentation, or significantly re-writing a topic, counts as a major feature. -* **Small Features** can be crafted and directly [submitted as a Pull Request](#submit-pr). - +- **Small Features** can be crafted and directly [submitted as a Pull Request](#submit-pr). ## Submission Guidelines @@ -76,6 +74,7 @@ Before you submit your Pull Request (PR) consider the following guidelines: ```shell git commit --all ``` + Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files. 10. Push your branch to GitHub: @@ -92,25 +91,25 @@ That's it! Thank you for your contribution! After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository: -* Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows: +- Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows: ```shell git push origin --delete my-fix-branch ``` -* Check out the main branch: +- Check out the main branch: ```shell git checkout main -f ``` -* Delete the local branch: +- Delete the local branch: ```shell git branch -D my-fix-branch ``` -* Update your local `main` with the latest upstream version: +- Update your local `main` with the latest upstream version: ```shell git pull --ff upstream main @@ -124,6 +123,6 @@ Please, follow our [Commit Message guidelines](https://github.com/hyperledger-id To ensure consistency throughout the source code, keep these rules in mind as you are working: -* All features or bug fixes **must be tested** by one or more specs (unit-tests). -* All **must be documented**. -* Follow [Scala Style Guide](https://docs.scala-lang.org/style/) +- All features or bug fixes **must be tested** by one or more specs (unit-tests). +- All **must be documented**. +- Follow [Scala Style Guide](https://docs.scala-lang.org/style/) diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md index 7f4ebd370c..5fd2900734 100644 --- a/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -461,4 +461,3 @@ none specified | []() | org.hyperledger # shared-crypto # 2.1.0 | none specified | []() | org.hyperledger # shared-test # 2.1.0 | none specified | []() | [org.webjars # swagger-ui # 5.17.14](https://www.webjars.org) | - diff --git a/MAINTAINERS.md b/MAINTAINERS.md index f665d61b5f..5b93fd77ff 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -6,26 +6,28 @@ Maintainers are assigned the following scopes in this repository: | Scope | Definition | GitHub Role | GitHub Team | -| ----- | ---------- | ----------- | ----------- | -| Maintainer | The GitHub Maintain role | Maintain | `open-enterprise-agent-maintainers` | +| --- | --- | --- | --- | +| Maintainer | The GitHub Maintain role | Maintain | `identus-maintainers` | ## Active Maintainers | Name | GitHub ID | Scope | LFID | Discord ID | Email | Company Affiliation | -|----- | --------- | ----- | ---- | ---------- | ----- | ------------------- | -| Björn Sandmann | bsandmann | Maintainer | | bjoernsandmann | sandmann@codedata.solutions | Blocktrust | -| David Poltorak | davidpoltorak-io | Maintainer | | davidpoltorak_io | david.poltorak@iohk.io | IOHK | -| Pat Losoponkul | patlo-iog | Maintainer | | pat_pat | pat.losoponkul@iohk.io | IOHK | -| Yurii Shynbuiev | yshyn-iohk | Maintainer | | yuriishynbuiev | yurii.shynbuiev@iohk.io | IOHK | - +| --- | --- | --- | --- | --- | --- | --- | +| Allain Magyar | amagyar-iohk | Maintainer | | | | IOG | +| Fabio Pinheiro | FabioPinheiro | Maintainer | | fmgp | | IOG | +| Pat Losoponkul | patextreme | Maintainer | | _pat_pat | | IOG | +| Yurii Shynbuiev | yshyn-iohk | Maintainer | | yuriishynbuiev | | IOG | ## Emeritus Maintainers | Name | GitHub ID | Scope | LFID | Discord ID | Email | Company Affiliation | -|----- | --------- | ----- | ---- | ---------- | ----- | ------------------- | -| Anton Baliasnikov | antonbaliasnikov | Maintainer | | | antonbaliasnikov@gmail.com | | +| --- | --- | --- | --- | --- | --- | --- | +| Anton Baliasnikov | antonbaliasnikov | Maintainer | | | | | +| Björn Sandmann | bsandmann | Maintainer | | bjoernsandmann | | Blocktrust | +| David Poltorak | davidpoltorak-io | Maintainer | | davidpoltorak_io | | IOG | +| Shailesh Patil | mineme0110 | Maintainer | | mineme110 | | IOG | ## The Duties of a Maintainer @@ -59,7 +61,7 @@ occur roughly in order. - The proposed maintainer establishes their reputation in the community, including authoring five (5) significant merged pull requests, and expresses an interest in becoming a maintainer for the repository. -A PR has been created to update this file and add the proposed maintainer to the list of active maintainers. +- A PR has been created to update this file and add the proposed maintainer to the list of active maintainers. - An existing maintainer authors the PR or has a comment on the PR from an existing maintainer supporting the proposal. - The proposed maintainer authors the PR or has a comment from the proposed maintainer confirming their interest in being a maintainer. - The PR or comment from the proposed maintainer must include their @@ -67,14 +69,14 @@ A PR has been created to update this file and add the proposed maintainer to the - An approval timeframe begins once the PR and necessary comments are received. - The PR **MUST** be communicated on all appropriate channels, including relevant community calls, chat channels, and mailing lists. The community's comments of support are welcome. - The PR gets merged, and the proposed maintainer becomes a maintainer if either: - - Two weeks have passed since the receipt of at least three (3) Maintainer PR approvals, OR + - Two weeks have passed since the receipt of at least three (3) Maintainer PR approvals, OR - An absolute majority of maintainers have approved the PR. - It may be closed if the PR does not get the requisite PR approvals. - Once the add maintainer PR merges, any updates to the GitHub Teams are made. ## Removing Maintainers -Being a maintainer is not a status symbol or a title or indefinite. +Being a maintainer is not a status symbol or a title or indefinite. Moving the maintainer to emeritus status will occasionally be necessary and appropriate. The status change can occur in the following situations: @@ -95,9 +97,9 @@ resignation, the Pull Request is mergeable following a maintainer PR approval. I - The PR is authored by or has a comment supporting the proposal from an existing maintainer or Hyperledger GitHub organization administrator. - The approval timeframe begins upon receipt of the PR and necessary comments. - The PR **MAY** be communicated on appropriate channels, including relevant community calls, chat channels, and mailing lists. -- The PR gets merged, and the maintainer transitions to maintainer emeritus if: - - The PR gets approval from the maintainer to transition, OR - - Two weeks have passed since receipt of at least three (3) Maintainer PR approvals, OR +- The PR gets merged, and the maintainer transitions to maintainer emeritus if: + - The PR gets approval from the maintainer to transition, OR + - Two weeks have passed since receipt of at least three (3) Maintainer PR approvals, OR - An absolute majority of maintainers have approved the PR. - It may be closed if the PR does not get the requisite PR approvals. diff --git a/README.md b/README.md index 7c55592c84..ca272dde92 100644 --- a/README.md +++ b/README.md @@ -98,12 +98,13 @@ The next diagrams offer a concise architectural overview, depicting a Cloud Agen ![Identus Cloud Agent Architecture](docs/images/identus-cloud-agent-architecture-light.png#gh-light-mode-only) ### Running the Cloud Agent locally on MacOS or Linux + #### Prerequisites -- Java (OpenJDK 21) -- SBT (latest version) -- Git (for cloning the repository) -- Docker (for running the PostgreSQL database, Hashicorp Vault, APISIX, and PRISM Node) +* Java (OpenJDK 21) +* SBT (latest version) +* Git (for cloning the repository) +* Docker (for running the PostgreSQL database, Hashicorp Vault, APISIX, and PRISM Node) #### Compile, Test, create the docker image of the Cloud Agent @@ -147,10 +148,12 @@ System requirements can vary depending on the use case. The following are the mi To run Identus locally you should follow the instructions in the [Quickstart guide](https://hyperledger-identus.github.io/docs/home/quick-start) If the Cloud Agent is started successfully, all the running containers should achieve `Healthy` state, and Cloud Agent Rest API should be available at the specified port, for example: + * `http://localhost:8080/cloud-agent` for the `issuer` instance * `http://localhost:8090/cloud-agent` for the `holder` instance You can check the status of the running containers using the [health endpoint](https://hyperledger.github.io/identus-docs/agent-api/#tag/System/operation/systemHealth): + ```bash $ curl http://localhost:8080/cloud-agent/_system/health {"version":"1.19.1"} @@ -160,8 +163,9 @@ $ curl http://localhost:8080/cloud-agent/_system/health The Identus Platform is a set of services that work together to provide a complete SSI solution. The following services are included in the Identus Platform: -- Cloud Agent -- Mediator + +* Cloud Agent +* Mediator The docker compose file and documentation for running the full stack with the simplest configuration (single tenant without authentication) is available [here](https://github.com/hyperledger/identus/blob/main/identus-docker/dockerize-identus.md) diff --git a/castor/CHANGELOG.md b/castor/CHANGELOG.md deleted file mode 100644 index bc0f328396..0000000000 --- a/castor/CHANGELOG.md +++ /dev/null @@ -1,98 +0,0 @@ -# [castor-v0.8.3](https://github.com/input-output-hk/atala-prism-building-blocks/compare/castor-v0.8.2...castor-v0.8.3) (2023-03-28) - - -### Bug Fixes - -* update shared module for castor ([#484](https://github.com/input-output-hk/atala-prism-building-blocks/issues/484)) ([2202a22](https://github.com/input-output-hk/atala-prism-building-blocks/commit/2202a220fdcd404bb3fe280b3b76923fbf499b8c)) - -# [castor-v0.8.2](https://github.com/input-output-hk/atala-prism-building-blocks/compare/castor-v0.8.1...castor-v0.8.2) (2023-03-23) - - -### Bug Fixes - -* **castor:** fix unintended ordering behavior when parsing long-form DID ([#471](https://github.com/input-output-hk/atala-prism-building-blocks/issues/471)) ([5ed0978](https://github.com/input-output-hk/atala-prism-building-blocks/commit/5ed097850126e6c40f7d7119c947446c813edde7)) - -# [castor-v0.8.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/castor-v0.8.0...castor-v0.8.1) (2023-02-22) - - -### Bug Fixes - -* **castor:** use URI that is compliant to RFC3986 ([#385](https://github.com/input-output-hk/atala-prism-building-blocks/issues/385)) ([f92fed6](https://github.com/input-output-hk/atala-prism-building-blocks/commit/f92fed658a20832398538dec51c9ae56b3cf3975)) - -# [castor-v0.8.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/castor-v0.7.0...castor-v0.8.0) (2023-02-03) - - -### Features - -* **castor:** align castor implementation with DID spec ([#336](https://github.com/input-output-hk/atala-prism-building-blocks/issues/336)) ([7992b80](https://github.com/input-output-hk/atala-prism-building-blocks/commit/7992b80a35df9e1308b811bfa0492e9d17975f5a)) - -# [castor-v0.7.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/castor-v0.6.0...castor-v0.7.0) (2023-01-27) - - -### Features - -* **castor:** add support DID deactivate operation ([#325](https://github.com/input-output-hk/atala-prism-building-blocks/issues/325)) ([5ceb7e9](https://github.com/input-output-hk/atala-prism-building-blocks/commit/5ceb7e953664c15457e6a6657041442a5c3d761b)) - -# [castor-v0.6.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/castor-v0.5.1...castor-v0.6.0) (2023-01-20) - - -### Features - -* **castor:** add support for DID update operation ([#306](https://github.com/input-output-hk/atala-prism-building-blocks/issues/306)) ([27b77b2](https://github.com/input-output-hk/atala-prism-building-blocks/commit/27b77b24680fef57d55f64e4f3448232cc73d323)) -* **castor:** upgrade node client for new key type ([#287](https://github.com/input-output-hk/atala-prism-building-blocks/issues/287)) ([5661e76](https://github.com/input-output-hk/atala-prism-building-blocks/commit/5661e760c4e8c129f5947621dbf47b4ae3048bf4)) - -# [castor-v0.5.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/castor-v0.5.0...castor-v0.5.1) (2022-12-14) - - -### Bug Fixes - -* **castor:** add missing did document field ([#251](https://github.com/input-output-hk/atala-prism-building-blocks/issues/251)) ([27370ab](https://github.com/input-output-hk/atala-prism-building-blocks/commit/27370abae1a26e0441d81ac10619539a7bc60aaf)) - -# [castor-v0.5.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/castor-v0.4.1...castor-v0.5.0) (2022-12-09) - - -### Bug Fixes - -* **pollux:** upgrade mercury lib to 1.10.1 ([ee27755](https://github.com/input-output-hk/atala-prism-building-blocks/commit/ee2775534f6207a6fed6332c938e6249d62168df)) - - -### Features - -* **castor:** upgrade castor with service in protobuf definition ([#224](https://github.com/input-output-hk/atala-prism-building-blocks/issues/224)) ([8223740](https://github.com/input-output-hk/atala-prism-building-blocks/commit/82237403a2f53942ebcc7ed14091f0de9b970553)) - -# [castor-v0.4.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/castor-v0.4.0...castor-v0.4.1) (2022-12-09) - - -### Bug Fixes - -* **castor:** README.md is added to increase the version of the castor library ([cdd4772](https://github.com/input-output-hk/atala-prism-building-blocks/commit/cdd47728c17f7c99d36f868e46c75cc7cf4afa92)) - -# [castor-v0.4.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/castor-v0.3.0...castor-v0.4.0) (2022-12-02) - - -### Features - -* **castor:** implement translation of Node DidData to W3C DidDocument ([#182](https://github.com/input-output-hk/atala-prism-building-blocks/issues/182)) ([d72159f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/d72159fdd2ae1797c33bd425443dc632b9e8ebac)) - -# [castor-v0.3.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/castor-v0.2.0...castor-v0.3.0) (2022-11-28) - - -### Features - -* **castor:** update castor to use prism-node protobuf ([#136](https://github.com/input-output-hk/atala-prism-building-blocks/issues/136)) ([5e3445f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/5e3445ff0c93e4fdeead6f74e27c5eb8abb48dcc)) -* **pollux:** implement Issue Credential v2 Protocol ([#144](https://github.com/input-output-hk/atala-prism-building-blocks/issues/144)) ([a80702f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/a80702f5b255d8079085a6ec27c87baa6a23ac59)), closes [#92](https://github.com/input-output-hk/atala-prism-building-blocks/issues/92) - -# [castor-v0.2.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/castor-v0.1.0...castor-v0.2.0) (2022-11-14) - - -### Features - -* **shared:** add Flyway Migrations and expose in ZIO Layer to be used in consuming service ([#115](https://github.com/input-output-hk/atala-prism-building-blocks/issues/115)) ([cd11493](https://github.com/input-output-hk/atala-prism-building-blocks/commit/cd11493aa01494f599fce369918d35edfcd2ce17)) - -# [castor-v0.1.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/castor-v0.0.1...castor-v0.1.0) (2022-11-11) - - -### Features - -* **agent:** integrate key-manage into prism-agent server ([#77](https://github.com/input-output-hk/atala-prism-building-blocks/issues/77)) ([4a88ded](https://github.com/input-output-hk/atala-prism-building-blocks/commit/4a88ded408192d03b744309a4ebaf9f9517a9db2)) -* define key-management interface (3) ([#71](https://github.com/input-output-hk/atala-prism-building-blocks/issues/71)) ([47dc3cd](https://github.com/input-output-hk/atala-prism-building-blocks/commit/47dc3cd8857971b96a88ae6f9cf0e2163e6cf08e)) diff --git a/castor/README.md b/castor/README.md index 639ec4b663..4cbd8a8878 100644 --- a/castor/README.md +++ b/castor/README.md @@ -1,8 +1,11 @@ # Castor ## Project structure + ### core + Core library with models and `did:prism` method implementation ### sql-doobie -Data access library of Castor. Contain flyway migrations, `dto` objects and CRUD operations \ No newline at end of file + +Data access library of Castor. Contain flyway migrations, `dto` objects and CRUD operations diff --git a/cloud-agent/service/CHANGELOG.md b/cloud-agent/service/CHANGELOG.md deleted file mode 100644 index 5eab06e73c..0000000000 --- a/cloud-agent/service/CHANGELOG.md +++ /dev/null @@ -1,525 +0,0 @@ -# [prism-agent-v0.60.2](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.60.1...prism-agent-v0.60.2) (2023-03-29) - - -### Bug Fixes - -* **prism-agent:** Alight the error responses according to RFC7807. ATL-3962 ([#480](https://github.com/input-output-hk/atala-prism-building-blocks/issues/480)) ([64b0a2a](https://github.com/input-output-hk/atala-prism-building-blocks/commit/64b0a2a04599c30adaf64e8411e1ec95305846cd)) - -# [prism-agent-v0.60.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.60.0...prism-agent-v0.60.1) (2023-03-28) - - -### Bug Fixes - -* use shared postgres container for tests ([#486](https://github.com/input-output-hk/atala-prism-building-blocks/issues/486)) ([1d6aada](https://github.com/input-output-hk/atala-prism-building-blocks/commit/1d6aada72fedf6420133451214ca27965cff245f)) - -# [prism-agent-v0.60.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.59.1...prism-agent-v0.60.0) (2023-03-28) - - -### Features - -* **prism-agent:** insert bouncy-castle security as 2nd provider globally in agent entry point ([#477](https://github.com/input-output-hk/atala-prism-building-blocks/issues/477)) ([44f06cc](https://github.com/input-output-hk/atala-prism-building-blocks/commit/44f06cc191d10e8f590ba56ced75c78e73089b7b)) - -# [prism-agent-v0.59.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.59.0...prism-agent-v0.59.1) (2023-03-23) - - -### Bug Fixes - -* **prism-agent:** fix incorrect long-form parsing behavior on resolution endpoint ([#475](https://github.com/input-output-hk/atala-prism-building-blocks/issues/475)) ([af356d6](https://github.com/input-output-hk/atala-prism-building-blocks/commit/af356d66763197f118aee8f7d1ac7d82be05a46e)) - -# [prism-agent-v0.59.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.58.0...prism-agent-v0.59.0) (2023-03-22) - - -### Features - -* **prism-agent:** add universal-resolver compatible endpoint ([#455](https://github.com/input-output-hk/atala-prism-building-blocks/issues/455)) ([1cbb729](https://github.com/input-output-hk/atala-prism-building-blocks/commit/1cbb729c05da51d98163a9c99d035f2814cc9fb1)) - -# [prism-agent-v0.58.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.57.0...prism-agent-v0.58.0) (2023-03-22) - - -### Features - -* **prism-agent:** Update the connect pollux and mercury to fix to use nimbus-jose-jwt 10.0.0-preview ([#467](https://github.com/input-output-hk/atala-prism-building-blocks/issues/467)) ([948f2fc](https://github.com/input-output-hk/atala-prism-building-blocks/commit/948f2fc26a7b965c47e7907cf4d4eb14bb9e640f)) - -# [prism-agent-v0.57.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.56.0...prism-agent-v0.57.0) (2023-03-21) - - -### Features - -* **prism-agent:** Update pollux lib to 0.43.0 includes the nimbus-jo… ([#460](https://github.com/input-output-hk/atala-prism-building-blocks/issues/460)) ([adb7000](https://github.com/input-output-hk/atala-prism-building-blocks/commit/adb7000348a29a83ca59f0d945b1327795dd3b42)) - -# [prism-agent-v0.56.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.55.0...prism-agent-v0.56.0) (2023-03-17) - - -### Features - -* **prism-agent:** allow published and unpublished DIDs in the issuingDID field ([#454](https://github.com/input-output-hk/atala-prism-building-blocks/issues/454)) ([ec107ad](https://github.com/input-output-hk/atala-prism-building-blocks/commit/ec107ad42a66da3703ce60b1fe7697217683c89c)) - -# [prism-agent-v0.55.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.54.0...prism-agent-v0.55.0) (2023-03-16) - - -### Features - -* **prism-agent:** VerificationOptions are configurable for PrismAgent ([#449](https://github.com/input-output-hk/atala-prism-building-blocks/issues/449)) ([ee93880](https://github.com/input-output-hk/atala-prism-building-blocks/commit/ee93880dff6bd8a1fa098c3e1afd29939a6216dd)) - -# [prism-agent-v0.54.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.53.0...prism-agent-v0.54.0) (2023-03-16) - - -### Features - -* **prism-agent:** update pollux to 0.41.0; ([#447](https://github.com/input-output-hk/atala-prism-building-blocks/issues/447)) ([f52c5e0](https://github.com/input-output-hk/atala-prism-building-blocks/commit/f52c5e007821e9df1b56e882d443bc31755c1ee6)) - -# [prism-agent-v0.53.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.52.0...prism-agent-v0.53.0) (2023-03-14) - - -### Features - -* **prism-agent:** Add OAS specification to the schema registry endpoint. ATL-3164 ([#438](https://github.com/input-output-hk/atala-prism-building-blocks/issues/438)) ([91902ce](https://github.com/input-output-hk/atala-prism-building-blocks/commit/91902ce3840227ed4d683b55060d9603320ff9fd)) - -# [prism-agent-v0.52.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.51.0...prism-agent-v0.52.0) (2023-03-13) - - -### Features - -* **prism-agent:** Add filter by thid to OpenAPI when fetching records ([#436](https://github.com/input-output-hk/atala-prism-building-blocks/issues/436)) ([af01359](https://github.com/input-output-hk/atala-prism-building-blocks/commit/af0135904d4961d12e109004e7b001b154b1493e)) - -# [prism-agent-v0.51.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.50.0...prism-agent-v0.51.0) (2023-03-10) - - -### Features - -* **prism-agent:** move subjectId field from issuer to holder ([#435](https://github.com/input-output-hk/atala-prism-building-blocks/issues/435)) ([d7813ba](https://github.com/input-output-hk/atala-prism-building-blocks/commit/d7813ba9b3d5a1c422d3d7e7fb57af4dabcb0d54)) - -# [prism-agent-v0.50.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.49.0...prism-agent-v0.50.0) (2023-03-10) - - -### Features - -* **prism-agent:** Added connectionId to the request Presentation and deleted the readme files as they are moved here https://github.com/input-output-hk/atala-prism-building-blocks/tree/main/docs/docusaurus ([#432](https://github.com/input-output-hk/atala-prism-building-blocks/issues/432)) ([301022a](https://github.com/input-output-hk/atala-prism-building-blocks/commit/301022a372e40b126b389548ef0c9acb4f0382f0)) - -# [prism-agent-v0.49.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.48.4...prism-agent-v0.49.0) (2023-03-09) - - -### Features - -* **prism-agent:** CredentialSchema DAL, model, service and repositor… ([#425](https://github.com/input-output-hk/atala-prism-building-blocks/issues/425)) ([32f9e83](https://github.com/input-output-hk/atala-prism-building-blocks/commit/32f9e832a7789a971a4506a8971b6ba8b06daabe)) - -# [prism-agent-v0.48.4](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.48.3...prism-agent-v0.48.4) (2023-03-09) - - -### Bug Fixes - -* **prism-agent:** Fix for ATL-3624 ([#430](https://github.com/input-output-hk/atala-prism-building-blocks/issues/430)) ([02fe4d8](https://github.com/input-output-hk/atala-prism-building-blocks/commit/02fe4d8cab14eb2b54d13dc726573d07bf77b76a)) - -# [prism-agent-v0.48.3](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.48.2...prism-agent-v0.48.3) (2023-03-03) - - -### Bug Fixes - -* **prism-agent:** update pollux to 0.35.2 ([#419](https://github.com/input-output-hk/atala-prism-building-blocks/issues/419)) ([63cd430](https://github.com/input-output-hk/atala-prism-building-blocks/commit/63cd4305cfe10b6be5d57d1d2988536eefde35f0)) - -# [prism-agent-v0.48.2](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.48.1...prism-agent-v0.48.2) (2023-03-03) - - -### Bug Fixes - -* **prism-agent:** avoid race condition when update or deactivate DID ([#415](https://github.com/input-output-hk/atala-prism-building-blocks/issues/415)) ([bf03674](https://github.com/input-output-hk/atala-prism-building-blocks/commit/bf03674769f0b6163de13f4002198902fdd413e9)) - -# [prism-agent-v0.48.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.48.0...prism-agent-v0.48.1) (2023-03-02) - - -### Bug Fixes - -* **prism-agent:** update pollux to 0.35.1 ([#414](https://github.com/input-output-hk/atala-prism-building-blocks/issues/414)) ([20770c8](https://github.com/input-output-hk/atala-prism-building-blocks/commit/20770c84a67ca4105e964e97de7aeddbbcab5941)) - -# [prism-agent-v0.48.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.47.1...prism-agent-v0.48.0) (2023-03-02) - - -### Features - -* **prism-agent:** Added new state PresentationVerificationFailed ([#412](https://github.com/input-output-hk/atala-prism-building-blocks/issues/412)) ([55569ed](https://github.com/input-output-hk/atala-prism-building-blocks/commit/55569edbae03a034b84548878fe3ab19252b3bb3)) - -# [prism-agent-v0.47.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.47.0...prism-agent-v0.47.1) (2023-03-02) - - -### Bug Fixes - -* **prism-agent:** add consistency to documentation of OAS on DID endpoints ([#408](https://github.com/input-output-hk/atala-prism-building-blocks/issues/408)) ([dd04c3f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/dd04c3fd14c76c02a7cfbb26ca52141590c48371)) - -# [prism-agent-v0.47.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.46.0...prism-agent-v0.47.0) (2023-03-02) - - -### Features - -* **prism-agent:** update pollux from 0.33.0 to 0.35.0 ([#410](https://github.com/input-output-hk/atala-prism-building-blocks/issues/410)) ([59afe8c](https://github.com/input-output-hk/atala-prism-building-blocks/commit/59afe8cd2acea17fd201378066b89f0bfcb8e98a)) - -# [prism-agent-v0.46.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.45.1...prism-agent-v0.46.0) (2023-03-02) - - -### Features - -* **prism-agent:** update libs: pollux 0.33.0; connect 0.11.0; mercury 0.20.0 ([#403](https://github.com/input-output-hk/atala-prism-building-blocks/issues/403)) ([d724a02](https://github.com/input-output-hk/atala-prism-building-blocks/commit/d724a02a7b5551bb8a49ddd702a6b14c42f53a81)) - -# [prism-agent-v0.45.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.45.0...prism-agent-v0.45.1) (2023-02-28) - - -### Bug Fixes - -* **prism-agent:** add uri normalization on UpdateService patch ([#401](https://github.com/input-output-hk/atala-prism-building-blocks/issues/401)) ([6a98f70](https://github.com/input-output-hk/atala-prism-building-blocks/commit/6a98f7015069dba781d03584ae97a40681c5a5a9)) - -# [prism-agent-v0.45.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.44.0...prism-agent-v0.45.0) (2023-02-27) - - -### Features - -* **prism-agent:** add JVM metrics endpoint, add health/version endpoint ([#390](https://github.com/input-output-hk/atala-prism-building-blocks/issues/390)) ([6d3e5a0](https://github.com/input-output-hk/atala-prism-building-blocks/commit/6d3e5a038b75250c3813a5454f1547247b5e5d13)) - -# [prism-agent-v0.44.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.43.0...prism-agent-v0.44.0) (2023-02-27) - - -### Features - -* **prism-agent:** add pagination to did-registrar list DID endpoint ([#394](https://github.com/input-output-hk/atala-prism-building-blocks/issues/394)) ([a21e388](https://github.com/input-output-hk/atala-prism-building-blocks/commit/a21e38880a5d49e0616e30b9dd9b92dc01980256)) -* **prsim-agent:** pollux version updated ([#392](https://github.com/input-output-hk/atala-prism-building-blocks/issues/392)) ([409b673](https://github.com/input-output-hk/atala-prism-building-blocks/commit/409b673e954b913d7bebf31cdf0c2e8dcee3ce03)) - -# [prism-agent-v0.43.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.42.0...prism-agent-v0.43.0) (2023-02-22) - - -### Features - -* **prism-agent:** fix DID service URI class and improve validation error response message ([#389](https://github.com/input-output-hk/atala-prism-building-blocks/issues/389)) ([3d08996](https://github.com/input-output-hk/atala-prism-building-blocks/commit/3d08996b8e92c427b317c9fac50e2d8bce85cb78)) - -# [prism-agent-v0.42.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.41.0...prism-agent-v0.42.0) (2023-02-21) - - -### Features - -* **prism-agent:** set OAS version to 0.41.0 ([#386](https://github.com/input-output-hk/atala-prism-building-blocks/issues/386)) ([198643e](https://github.com/input-output-hk/atala-prism-building-blocks/commit/198643e3856c51dcd1e68047f9269cdd71238923)) - -# [prism-agent-v0.41.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.40.1...prism-agent-v0.41.0) (2023-02-20) - - -### Features - -* **prism-agent:** do not create new Prism DID when proof presentation is generated ([#378](https://github.com/input-output-hk/atala-prism-building-blocks/issues/378)) ([1aa856f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/1aa856f4281c23f6fd2f12b8e250ed1be285d49e)) - -# [prism-agent-v0.40.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.40.0...prism-agent-v0.40.1) (2023-02-17) - - -### Bug Fixes - -* **prism-agent:** Update Mercury Connect Pollux ([#382](https://github.com/input-output-hk/atala-prism-building-blocks/issues/382)) ([b7f02ac](https://github.com/input-output-hk/atala-prism-building-blocks/commit/b7f02ac909098159fbc0cb4187384b0ba007524a)) - -# [prism-agent-v0.40.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.39.0...prism-agent-v0.40.0) (2023-02-16) - - -### Features - -* **prism-agent:** ATL-3554 clean-up OAS and remove unused endpoints and definitions ([#376](https://github.com/input-output-hk/atala-prism-building-blocks/issues/376)) ([146cd52](https://github.com/input-output-hk/atala-prism-building-blocks/commit/146cd52062c712de30c9862c32cba73ebe213a89)) - -# [prism-agent-v0.39.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.38.0...prism-agent-v0.39.0) (2023-02-15) - - -### Features - -* **prism-agent:** issue credential to Prism DID holder by Prism DID issuer ([#373](https://github.com/input-output-hk/atala-prism-building-blocks/issues/373)) ([1c1a171](https://github.com/input-output-hk/atala-prism-building-blocks/commit/1c1a171d1ba983a9c93644ded4feafe0ed6e5294)) - -# [prism-agent-v0.38.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.37.0...prism-agent-v0.38.0) (2023-02-13) - - -### Features - -* **prism-agent:** integrate VerificationPolicy DAL into the agent, update OAS and implement REST API for verification policies ([#369](https://github.com/input-output-hk/atala-prism-building-blocks/issues/369)) ([142ff55](https://github.com/input-output-hk/atala-prism-building-blocks/commit/142ff550a278e7f28d97c539e529fea3cc92c178)) - -# [prism-agent-v0.37.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.36.0...prism-agent-v0.37.0) (2023-02-09) - - -### Features - -* **prism-agent:** Added challenge and domain and to protect agains r… ([#364](https://github.com/input-output-hk/atala-prism-building-blocks/issues/364)) ([4f0b261](https://github.com/input-output-hk/atala-prism-building-blocks/commit/4f0b261b3545c8681eccd8b38c7fa028ee840c50)) - -# [prism-agent-v0.36.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.35.0...prism-agent-v0.36.0) (2023-02-07) - - -### Features - -* **prism-agent:** ATL-3349 connection state issue and perf improvements ([#359](https://github.com/input-output-hk/atala-prism-building-blocks/issues/359)) ([c77f160](https://github.com/input-output-hk/atala-prism-building-blocks/commit/c77f160043262662ce7d5d9c6f75cd893bcab68d)) - -# [prism-agent-v0.35.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.34.0...prism-agent-v0.35.0) (2023-02-07) - - -### Features - -* **prism-agent:** Upgrade libs ([#344](https://github.com/input-output-hk/atala-prism-building-blocks/issues/344)) ([64a7857](https://github.com/input-output-hk/atala-prism-building-blocks/commit/64a7857ecc0acc6d940e7f2fcce1c68c8163562c)) - -# [prism-agent-v0.34.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.33.0...prism-agent-v0.34.0) (2023-02-06) - - -### Features - -* **prism-agent:** upgrade castor and pollux and align OAS to the DID spec ([#342](https://github.com/input-output-hk/atala-prism-building-blocks/issues/342)) ([b8643a8](https://github.com/input-output-hk/atala-prism-building-blocks/commit/b8643a81710300082bfaceb08f906d364869d405)) - -# [prism-agent-v0.33.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.32.0...prism-agent-v0.33.0) (2023-02-02) - - -### Features - -* **prism-agent:** Upgrade mercury connect pollux ([#340](https://github.com/input-output-hk/atala-prism-building-blocks/issues/340)) ([3758232](https://github.com/input-output-hk/atala-prism-building-blocks/commit/3758232448ae66fbc444c487f32917a106645473)) - -# [prism-agent-v0.32.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.31.1...prism-agent-v0.32.0) (2023-01-27) - - -### Features - -* **prism-agent:** add deactivate DID endpoint ([#326](https://github.com/input-output-hk/atala-prism-building-blocks/issues/326)) ([29a804f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/29a804fce71d2c500cec9ab8db21de84f9016c95)) - -# [prism-agent-v0.31.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.31.0...prism-agent-v0.31.1) (2023-01-26) - - -### Bug Fixes - -* **prism-agent:** remove deprecated did-auth endpoints ([#324](https://github.com/input-output-hk/atala-prism-building-blocks/issues/324)) ([a934cd4](https://github.com/input-output-hk/atala-prism-building-blocks/commit/a934cd4ac48f4ba4724681eeff92f4c67c009940)) - -# [prism-agent-v0.31.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.30.0...prism-agent-v0.31.0) (2023-01-25) - - -### Features - -* **prism-agent:** remove connection deletion enpoint from OAS spec ([#323](https://github.com/input-output-hk/atala-prism-building-blocks/issues/323)) ([cb17acf](https://github.com/input-output-hk/atala-prism-building-blocks/commit/cb17acf782500c0885c077570392423deee9a2f2)) - -# [prism-agent-v0.30.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.29.0...prism-agent-v0.30.0) (2023-01-23) - - -### Features - -* **prism-agent:** enable update DID operation on prism-agent ([#307](https://github.com/input-output-hk/atala-prism-building-blocks/issues/307)) ([a57365f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/a57365f8c063958e7a41e01fde71653843dafe24)) - -# [prism-agent-v0.29.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.28.0...prism-agent-v0.29.0) (2023-01-20) - - -### Features - -* **prism-agent:** implement DAL for the credential schema. ATL-1334 ([3d0c642](https://github.com/input-output-hk/atala-prism-building-blocks/commit/3d0c6426cc7fddbce41de16a1c85f4242e046c6a)) - -# [prism-agent-v0.28.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.27.0...prism-agent-v0.28.0) (2023-01-06) - - -### Features - -* **prismagent:** prism did creation and use updated protocol state ([#291](https://github.com/input-output-hk/atala-prism-building-blocks/issues/291)) ([cc7c533](https://github.com/input-output-hk/atala-prism-building-blocks/commit/cc7c53380faba9afe36006b8bf68621862c9b902)) - -# [prism-agent-v0.27.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.26.0...prism-agent-v0.27.0) (2022-12-22) - - -### Features - -* **prism-agent:** implement JDBC did nonsecret storage ([#284](https://github.com/input-output-hk/atala-prism-building-blocks/issues/284)) ([7e116a3](https://github.com/input-output-hk/atala-prism-building-blocks/commit/7e116a38b44408b3d0c875bc79415ea6d0579ffa)) - -# [prism-agent-v0.26.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.25.0...prism-agent-v0.26.0) (2022-12-20) - - -### Features - -* **prism-agent:** add 'GET /present-proof/presentations/{id}' endpoint ([#282](https://github.com/input-output-hk/atala-prism-building-blocks/issues/282)) ([030a257](https://github.com/input-output-hk/atala-prism-building-blocks/commit/030a257efa89f5fc473549dc17657160fda0b26b)) - -# [prism-agent-v0.25.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.24.0...prism-agent-v0.25.0) (2022-12-20) - - -### Features - -* **prism-agnet:** Verifiable Credential ([#281](https://github.com/input-output-hk/atala-prism-building-blocks/issues/281)) ([ae74e20](https://github.com/input-output-hk/atala-prism-building-blocks/commit/ae74e20080cfcac7263c7540c8ed5b82070428e1)) - -# [prism-agent-v0.24.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.23.0...prism-agent-v0.24.0) (2022-12-20) - - -### Features - -* **prism-agent:** allow connection reuse when creating credential offer ([#276](https://github.com/input-output-hk/atala-prism-building-blocks/issues/276)) ([eff3918](https://github.com/input-output-hk/atala-prism-building-blocks/commit/eff3918c98ca3f2edc708688edd2ece63f7f5aa9)) - -# [prism-agent-v0.23.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.22.0...prism-agent-v0.23.0) (2022-12-19) - - -### Features - -* **prism-agent:** bump mercury, pollux and connect versions ([#273](https://github.com/input-output-hk/atala-prism-building-blocks/issues/273)) ([ce4758b](https://github.com/input-output-hk/atala-prism-building-blocks/commit/ce4758bf0e1a34b0953c05eea63ae06a389fc532)) - -# [prism-agent-v0.22.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.21.0...prism-agent-v0.22.0) (2022-12-16) - - -### Features - -* **prism-agent:** use pairwise DID in proof presentation flow ([#260](https://github.com/input-output-hk/atala-prism-building-blocks/issues/260)) ([bb04ca4](https://github.com/input-output-hk/atala-prism-building-blocks/commit/bb04ca4c4d2a2c18e8be7f2932c0546888ffce05)) - -# [prism-agent-v0.21.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.20.0...prism-agent-v0.21.0) (2022-12-15) - - -### Features - -* **prism-agent:** integrate latest pollux version ([#259](https://github.com/input-output-hk/atala-prism-building-blocks/issues/259)) ([d199f0d](https://github.com/input-output-hk/atala-prism-building-blocks/commit/d199f0db0c40683bfafdeec4726b517172f8a769)) - -# [prism-agent-v0.20.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.19.0...prism-agent-v0.20.0) (2022-12-14) - - -### Features - -* **prism-agent:** fix DB connection pool duplication issue by providing ZLayer globally ([#256](https://github.com/input-output-hk/atala-prism-building-blocks/issues/256)) ([4424de1](https://github.com/input-output-hk/atala-prism-building-blocks/commit/4424de14917988cc6f8e406624bf7cf20db27455)) - -# [prism-agent-v0.19.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.18.0...prism-agent-v0.19.0) (2022-12-14) - - -### Features - -* **prism-agent:** Use pairwise PeerDIDs in connect and issue ([#253](https://github.com/input-output-hk/atala-prism-building-blocks/issues/253)) ([01519ff](https://github.com/input-output-hk/atala-prism-building-blocks/commit/01519ffc7d608c3d17ffa06242bf7324681c31d1)) - -# [prism-agent-v0.18.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.17.1...prism-agent-v0.18.0) (2022-12-14) - - -### Features - -* **prism-agent:** Update mercury to 0.12.0 & pollux to 0.10.0 & connect to 0.4.0 ([#248](https://github.com/input-output-hk/atala-prism-building-blocks/issues/248)) ([33ed7ba](https://github.com/input-output-hk/atala-prism-building-blocks/commit/33ed7ba56e95bcecc75f43b8fbce77b685530588)) - -# [prism-agent-v0.17.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.17.0...prism-agent-v0.17.1) (2022-12-13) - - -### Bug Fixes - -* **prism-agent:** switch datetime format to offsetdatetime. ATL-2723 ([#243](https://github.com/input-output-hk/atala-prism-building-blocks/issues/243)) ([6903afa](https://github.com/input-output-hk/atala-prism-building-blocks/commit/6903afa8d3ba226f02b1dce7665cf5adf3fc09e6)) - -# [prism-agent-v0.17.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.16.1...prism-agent-v0.17.0) (2022-12-12) - - -### Features - -* **prism-agent:** Integrate Verification Flow - ATL-2117 ([#147](https://github.com/input-output-hk/atala-prism-building-blocks/issues/147)) ([cabda08](https://github.com/input-output-hk/atala-prism-building-blocks/commit/cabda08f215d911772440853ec153a22ac6adaad)) - -# [prism-agent-v0.16.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.16.0...prism-agent-v0.16.1) (2022-12-12) - - -### Bug Fixes - -* **prism-agent:** didcomm endpoint now exposed in docker file and with correct path ([#241](https://github.com/input-output-hk/atala-prism-building-blocks/issues/241)) ([405f367](https://github.com/input-output-hk/atala-prism-building-blocks/commit/405f3672d48dd47559f10f89db5cd7051a0c9eeb)) - -# [prism-agent-v0.16.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.15.0...prism-agent-v0.16.0) (2022-12-12) - - -### Features - -* **prism-agent:** upgrade castor version with DID serviceEndpoint ([#229](https://github.com/input-output-hk/atala-prism-building-blocks/issues/229)) ([0ba3b89](https://github.com/input-output-hk/atala-prism-building-blocks/commit/0ba3b892b25e66c081c931b99c43e60d3c51af2a)) - -# [prism-agent-v0.15.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.14.0...prism-agent-v0.15.0) (2022-12-09) - - -### Features - -* **prism-agent:** bump dependencies version ([#228](https://github.com/input-output-hk/atala-prism-building-blocks/issues/228)) ([8a6bad5](https://github.com/input-output-hk/atala-prism-building-blocks/commit/8a6bad539334775d25ef9b5cf0eb042832ecd272)) - -# [prism-agent-v0.14.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.13.0...prism-agent-v0.14.0) (2022-12-07) - - -### Features - -* **infra:** switch to single instance of postgres for running locally ([#203](https://github.com/input-output-hk/atala-prism-building-blocks/issues/203)) ([32e33f1](https://github.com/input-output-hk/atala-prism-building-blocks/commit/32e33f109f834386cfda5168a00e8407ca136e2e)) - -# [prism-agent-v0.13.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.12.0...prism-agent-v0.13.0) (2022-12-07) - - -### Features - -* **prism-agent:** remove unused / deprecated DID endpoints ([#213](https://github.com/input-output-hk/atala-prism-building-blocks/issues/213)) ([0308b4f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/0308b4fdc6da78643354391234a6139d79cd8e90)) - -# [prism-agent-v0.12.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.11.0...prism-agent-v0.12.0) (2022-12-06) - - -### Features - -* **prism-agent:** implement get DIDs endpoint ([#198](https://github.com/input-output-hk/atala-prism-building-blocks/issues/198)) ([d5e08ab](https://github.com/input-output-hk/atala-prism-building-blocks/commit/d5e08ab16aa629805264a726c2cb9a5803226703)) - -# [prism-agent-v0.11.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.10.0...prism-agent-v0.11.0) (2022-12-06) - - -### Features - -* **prism-agent:** verification policies pagination. ATL-1334 ([#205](https://github.com/input-output-hk/atala-prism-building-blocks/issues/205)) ([403eb38](https://github.com/input-output-hk/atala-prism-building-blocks/commit/403eb3821daab718d97f0760ba2d71e065258665)) - -# [prism-agent-v0.10.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.9.0...prism-agent-v0.10.0) (2022-12-02) - - -### Features - -* **prism-agent:** fix prism-agent major issues ([#199](https://github.com/input-output-hk/atala-prism-building-blocks/issues/199)) ([1dc7339](https://github.com/input-output-hk/atala-prism-building-blocks/commit/1dc733909374ba31f4655003dafcf4479fddc70b)) - -# [prism-agent-v0.9.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.8.0...prism-agent-v0.9.0) (2022-12-02) - - -### Features - -* **prism-agent:** implement pagination with navigation for schema-registry ([#195](https://github.com/input-output-hk/atala-prism-building-blocks/issues/195)) ([726e2d9](https://github.com/input-output-hk/atala-prism-building-blocks/commit/726e2d95ae879867d0932d93ac51e75b177bcb6c)) - -# [prism-agent-v0.8.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.7.0...prism-agent-v0.8.0) (2022-12-02) - - -### Features - -* **prism-agent:** implement DID resolution endpoint ([#184](https://github.com/input-output-hk/atala-prism-building-blocks/issues/184)) ([7fba9b0](https://github.com/input-output-hk/atala-prism-building-blocks/commit/7fba9b0bd4eac3c5b524a6db0590abcd97839afc)) - -# [prism-agent-v0.7.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.6.0...prism-agent-v0.7.0) (2022-12-01) - - -### Features - -* **pollux:** alight the OAS for schema registry ([#189](https://github.com/input-output-hk/atala-prism-building-blocks/issues/189)) ([4528c57](https://github.com/input-output-hk/atala-prism-building-blocks/commit/4528c573fc89b9af60f6bc014e7f34433a181cb8)) -* **pollux:** cleanup the code of IssueCredentialApi ([16d5fdb](https://github.com/input-output-hk/atala-prism-building-blocks/commit/16d5fdbadf20c1597bf42b4e366f71623804dfc4)) -* **pollux:** cleanup the OAS from Issue Credentials and other unused tags ([79170f8](https://github.com/input-output-hk/atala-prism-building-blocks/commit/79170f8722053de9e477118f3f9443c97f27c512)) -* **prism-agent:** upgrade castor on prism-agent ([#141](https://github.com/input-output-hk/atala-prism-building-blocks/issues/141)) ([e85e7c0](https://github.com/input-output-hk/atala-prism-building-blocks/commit/e85e7c09019f3e1d55f36b73fa081f42c19d4218)) - -# [prism-agent-v0.6.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.5.0...prism-agent-v0.6.0) (2022-11-29) - - -### Features - -* **prism-agent:** add connect/issue doc + allow local execution of multiple Prism Agent instances ([#178](https://github.com/input-output-hk/atala-prism-building-blocks/issues/178)) ([dc8d86b](https://github.com/input-output-hk/atala-prism-building-blocks/commit/dc8d86b1ba87d747c5ac0089573ddd8c2ab62f5e)) - -# [prism-agent-v0.5.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.4.0...prism-agent-v0.5.0) (2022-11-28) - - -### Features - -* **pollux:** schema registry lookup and verification policies REST API ATL-1334 ([#168](https://github.com/input-output-hk/atala-prism-building-blocks/issues/168)) ([d75b36b](https://github.com/input-output-hk/atala-prism-building-blocks/commit/d75b36bd472c1cc2f15d775596a2675cda469754)) -* **prism-agent:** implement Connect flow ([#130](https://github.com/input-output-hk/atala-prism-building-blocks/issues/130)) ([f7cba3b](https://github.com/input-output-hk/atala-prism-building-blocks/commit/f7cba3b18b1e03cd51db144519412fbbbe1585d0)) -* **prism-agent:** make didcomm service url configurable ([#173](https://github.com/input-output-hk/atala-prism-building-blocks/issues/173)) ([b162172](https://github.com/input-output-hk/atala-prism-building-blocks/commit/b16217271e38c30cf680e193121baa7122fff67f)) - -# [prism-agent-v0.4.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.3.0...prism-agent-v0.4.0) (2022-11-24) - - -### Features - -* **apollo:** add schema registry to the agent using Tapir library. ATL-1334 ([#94](https://github.com/input-output-hk/atala-prism-building-blocks/issues/94)) ([b3cf828](https://github.com/input-output-hk/atala-prism-building-blocks/commit/b3cf828d001f7499c414e9dc559f5152997445e6)) - -# [prism-agent-v0.3.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.2.0...prism-agent-v0.3.0) (2022-11-21) - - -### Features - -* **prism-agent:** implement Issue Credential v2 protocol ([#146](https://github.com/input-output-hk/atala-prism-building-blocks/issues/146)) ([f3cb60e](https://github.com/input-output-hk/atala-prism-building-blocks/commit/f3cb60eb0d4dce73025326d64a012e580f581a7c)), closes [#92](https://github.com/input-output-hk/atala-prism-building-blocks/issues/92) - -# [prism-agent-v0.2.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.1.0...prism-agent-v0.2.0) (2022-11-15) - - -### Features - -* **prism-agent:** implement Flyway migrations from castor and pollux library and call on agent startup ([#117](https://github.com/input-output-hk/atala-prism-building-blocks/issues/117)) ([67bd340](https://github.com/input-output-hk/atala-prism-building-blocks/commit/67bd340e25e4a44118398746268ee25f5cf09477)) - -# [prism-agent-v0.1.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-agent-v0.0.1...prism-agent-v0.1.0) (2022-11-11) - - -### Bug Fixes - -* **prism-agent:** reuse db connection for background job ([#102](https://github.com/input-output-hk/atala-prism-building-blocks/issues/102)) ([a873090](https://github.com/input-output-hk/atala-prism-building-blocks/commit/a873090fdd2560eb78263060d502946f142b0574)) - - -### Features - -* **agent:** [ATL-2005] implement REST API for credential issuance ([#86](https://github.com/input-output-hk/atala-prism-building-blocks/issues/86)) ([7c1f50a](https://github.com/input-output-hk/atala-prism-building-blocks/commit/7c1f50ab99879beed74c5e0bd03aa51709051527)) -* **agent:** integrate key-manage into prism-agent server ([#77](https://github.com/input-output-hk/atala-prism-building-blocks/issues/77)) ([4a88ded](https://github.com/input-output-hk/atala-prism-building-blocks/commit/4a88ded408192d03b744309a4ebaf9f9517a9db2)) -* define key-management interface (3) ([#71](https://github.com/input-output-hk/atala-prism-building-blocks/issues/71)) ([47dc3cd](https://github.com/input-output-hk/atala-prism-building-blocks/commit/47dc3cd8857971b96a88ae6f9cf0e2163e6cf08e)) -* **prism-agent; mercury; pollux:** Integrate Mercury into prism-agent ATL-2077; ATL-2076 ([#93](https://github.com/input-output-hk/atala-prism-building-blocks/issues/93)) ([db4b21a](https://github.com/input-output-hk/atala-prism-building-blocks/commit/db4b21ac1d6a2c48af502597779acb82f5e03ac0)) -* **shared:** Add environmnet configuration for Iris DB and bump scala version in other components to enable build ([#96](https://github.com/input-output-hk/atala-prism-building-blocks/issues/96)) ([a5b583f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/a5b583f445b7efd31987cf9ca017bc544a877986)) diff --git a/cloud-agent/service/README.md b/cloud-agent/service/README.md index 4ec4cc7f02..97e63d7989 100644 --- a/cloud-agent/service/README.md +++ b/cloud-agent/service/README.md @@ -23,19 +23,25 @@ Similar to [Indy Wallet SDK - secret API](https://github.com/hyperledger/indy-sd *it does not expose a private-key* for external use, instead it provide functions to perform cryptographic actions using internally stored private-keys. --- + ## Connect flow + Basic documentation on how to execute the Connect flow from command line can be found [here](./connect.md). --- + ## Issue flow + Basic documentation on how to execute the Issue flow from the command line can be found [here](./issue.md). --- + ## Present Proof flow -Basic documentation on how to execute the Present Proof flow from the command line can be found [here](./present-proof.md). +Basic documentation on how to execute the Present Proof flow from the command line can be found [here](./present-proof.md). --- + ## Known limitations --- diff --git a/connect/CHANGELOG.md b/connect/CHANGELOG.md deleted file mode 100644 index a6fe096ae1..0000000000 --- a/connect/CHANGELOG.md +++ /dev/null @@ -1,130 +0,0 @@ -# [connect-v0.13.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.13.0...connect-v0.13.1) (2023-03-28) - - -### Bug Fixes - -* use postgres container from shared module ([#482](https://github.com/input-output-hk/atala-prism-building-blocks/issues/482)) ([efe4557](https://github.com/input-output-hk/atala-prism-building-blocks/commit/efe45579a1a7a690b41aa15b30c386bd7d030137)) - -# [connect-v0.13.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.12.1...connect-v0.13.0) (2023-03-22) - - -### Features - -* **connect:** Updated the mercury version for jwt ([#466](https://github.com/input-output-hk/atala-prism-building-blocks/issues/466)) ([8444057](https://github.com/input-output-hk/atala-prism-building-blocks/commit/84440573bebbdf46f901e1a8bae7ba3d84239c2d)) - -# [connect-v0.12.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.12.0...connect-v0.12.1) (2023-03-21) - - -### Bug Fixes - -* update mercury to 0.21.0 ([8d42fb1](https://github.com/input-output-hk/atala-prism-building-blocks/commit/8d42fb18206c9e599a4ab77f3c4a5162da03ba35)) - -# [connect-v0.12.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.11.0...connect-v0.12.0) (2023-03-13) - - -### Features - -* **connect:** Use TIMESTAMP instead of BIGINT ATL-3786 ([#431](https://github.com/input-output-hk/atala-prism-building-blocks/issues/431)) ([fb7f2d2](https://github.com/input-output-hk/atala-prism-building-blocks/commit/fb7f2d28a5a8eabb2f52beebd8c794a90793c6fc)) - -# [connect-v0.11.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.10.0...connect-v0.11.0) (2023-02-27) - - -### Features - -* **connect:** Updated version for mercury ([#398](https://github.com/input-output-hk/atala-prism-building-blocks/issues/398)) ([bff8d21](https://github.com/input-output-hk/atala-prism-building-blocks/commit/bff8d21ca218c6fc8237f88d9c1288ade7b03c88)) - - -### Performance Improvements - -* **connect:** Improve ConnectionService's API ATL-3218 ([#370](https://github.com/input-output-hk/atala-prism-building-blocks/issues/370)) ([66f4ad7](https://github.com/input-output-hk/atala-prism-building-blocks/commit/66f4ad7e531b51b04e9143bd5cbd21d93270d6b9)) -* **connect:** Update to Mercury 0.19.0 ([#353](https://github.com/input-output-hk/atala-prism-building-blocks/issues/353)) ([326698b](https://github.com/input-output-hk/atala-prism-building-blocks/commit/326698b5361e1a6fb04ddda175c5040cc7eed022)) - -# [connect-v0.10.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.9.0...connect-v0.10.0) (2023-02-07) - - -### Features - -* **connect:** bump mercury version and fix queries ([#356](https://github.com/input-output-hk/atala-prism-building-blocks/issues/356)) ([957bdea](https://github.com/input-output-hk/atala-prism-building-blocks/commit/957bdeae59f566446caa14dabe7cc7310478ba8e)) - -# [connect-v0.9.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.8.0...connect-v0.9.0) (2023-02-07) - - -### Features - -* **connect:** Add method reportProcessingFailure ([#345](https://github.com/input-output-hk/atala-prism-building-blocks/issues/345)) ([ebf583c](https://github.com/input-output-hk/atala-prism-building-blocks/commit/ebf583cff2c00d40e7d534305f21fa47d35eb087)) -* **connect:** support connect records retrieval by states ([#349](https://github.com/input-output-hk/atala-prism-building-blocks/issues/349)) ([7673278](https://github.com/input-output-hk/atala-prism-building-blocks/commit/7673278b2a9a88ec503c44b31dd14902462e43a4)) - - -### Performance Improvements - -* **connect:** Update to Mercury 0.17.0 ([#346](https://github.com/input-output-hk/atala-prism-building-blocks/issues/346)) ([8823325](https://github.com/input-output-hk/atala-prism-building-blocks/commit/8823325e88604c970d3dd6a94c4573f5658a8ca2)) - -# [connect-v0.8.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.7.0...connect-v0.8.0) (2023-02-03) - - -### Features - -* **connect:** Add retries field for ATL-3202 ([#335](https://github.com/input-output-hk/atala-prism-building-blocks/issues/335)) ([7cbcebc](https://github.com/input-output-hk/atala-prism-building-blocks/commit/7cbcebc7c9229e1dac47b3f31b3d1d6621e739d3)) - -# [connect-v0.7.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.6.0...connect-v0.7.0) (2023-02-01) - - -### Features - -* **pollux:** upgrade mercury to 0.16.0 ([#327](https://github.com/input-output-hk/atala-prism-building-blocks/issues/327)) ([f4b99fc](https://github.com/input-output-hk/atala-prism-building-blocks/commit/f4b99fc00ff61e003d13b79b6d05d70b0fcf70c9)) - -# [connect-v0.6.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.5.0...connect-v0.6.0) (2022-12-19) - - -### Features - -* **connect:** bump mercury version ([#272](https://github.com/input-output-hk/atala-prism-building-blocks/issues/272)) ([70f878c](https://github.com/input-output-hk/atala-prism-building-blocks/commit/70f878c81bbffd73228d2a40b55295b74c918ba9)) - -# [connect-v0.5.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.4.0...connect-v0.5.0) (2022-12-14) - - -### Features - -* **pollux:** use dedicated pairwise PeerDIDs instead of a global one ([#252](https://github.com/input-output-hk/atala-prism-building-blocks/issues/252)) ([38a9b95](https://github.com/input-output-hk/atala-prism-building-blocks/commit/38a9b95a254e53483c15d7ee381f82a1d7556a18)) - -# [connect-v0.4.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.3.1...connect-v0.4.0) (2022-12-13) - - -### Features - -* **connect:** updated the version for mercury ([#246](https://github.com/input-output-hk/atala-prism-building-blocks/issues/246)) ([7629eab](https://github.com/input-output-hk/atala-prism-building-blocks/commit/7629eab985354a64d4a7c7f5814ae4a84a48ab31)) - -# [connect-v0.3.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.3.0...connect-v0.3.1) (2022-12-09) - - -### Bug Fixes - -* **connect:** bump mercury version to 1.10.1 and touch README.md ([e13a1bd](https://github.com/input-output-hk/atala-prism-building-blocks/commit/e13a1bdcf2eec2c6059d8e9b4f4a587ff6aa15a6)) -* **pollux:** upgrade mercury lib to 1.10.1 ([ee27755](https://github.com/input-output-hk/atala-prism-building-blocks/commit/ee2775534f6207a6fed6332c938e6249d62168df)) - -# [connect-v0.3.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.2.0...connect-v0.3.0) (2022-12-02) - - -### Features - -* **pollux:** validate the current record state on each protocol action received ([#193](https://github.com/input-output-hk/atala-prism-building-blocks/issues/193)) ([6fffde2](https://github.com/input-output-hk/atala-prism-building-blocks/commit/6fffde28bee50b130a0f1f8b5f4dae80ec488498)) - -# [connect-v0.2.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.1.0...connect-v0.2.0) (2022-11-28) - - -### Features - -* **connect:** bump up shared version to use 0.2.0 ([56cc1c3](https://github.com/input-output-hk/atala-prism-building-blocks/commit/56cc1c38caa313846c61253527accb456ccc476a)) - -# [connect-v0.1.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/connect-v0.0.1...connect-v0.1.0) (2022-11-25) - - -### Features - -* **connect:** implement Connect protocol ([#172](https://github.com/input-output-hk/atala-prism-building-blocks/issues/172)) ([b707792](https://github.com/input-output-hk/atala-prism-building-blocks/commit/b707792ba7c3a48f25089b5224b90dd186733539)) -* **connect:** removed the unwanted dependencies ([#145](https://github.com/input-output-hk/atala-prism-building-blocks/issues/145)) ([96b0fbc](https://github.com/input-output-hk/atala-prism-building-blocks/commit/96b0fbcd83879840c1b6a46cfeff3604c92ea2a4)) - - -### Reverts - -* **connect:** revert wrongly released 1.0.0 ([b5e81ec](https://github.com/input-output-hk/atala-prism-building-blocks/commit/b5e81ec9ec89f2baf9d37a09045e4705c6fb57d1)) diff --git a/connect/README.md b/connect/README.md index 5b2c17f840..102c5cad5f 100644 --- a/connect/README.md +++ b/connect/README.md @@ -4,6 +4,5 @@ This is a normal sbt project. You can compile code with `sbt compile`, run it with `sbt run`, and `sbt console` will start a Scala 3 REPL. - For more information on the sbt-dotty plugin, see the [scala3-example-project](https://github.com/scala/scala3-example-project/blob/main/README.md). diff --git a/connect/connect-protocol-state.md b/connect/connect-protocol-state.md index 925c378f38..6317072ecc 100644 --- a/connect/connect-protocol-state.md +++ b/connect/connect-protocol-state.md @@ -9,7 +9,9 @@ stateDiagram-v2 ConnectionResponsePending --> ConnectionResponseSent: send connection response (via DIDComm Agent) ConnectionResponseSent --> [*] ``` + --- + ```mermaid --- title: Invitee Connect State @@ -20,4 +22,4 @@ stateDiagram-v2 ConnectionRequestPending --> ConnectionRequestSent: send connection request (via DIDComm Agent) ConnectionRequestSent --> ConnectionResponseReceived: receive connection response ConnectionResponseReceived --> [*] -``` \ No newline at end of file +``` diff --git a/docs/README.md b/docs/README.md index e8716c8236..77ced4b369 100644 --- a/docs/README.md +++ b/docs/README.md @@ -5,6 +5,7 @@ This is the landing page for the Cloud Agent technical documentation set. ## OpenAPI Specifications ### Source files + - The OpenAPI specification for a **service** building block is written in YAML format. - Each building block is responsible for making its YAML spec available to other parties via HTTP GET on one of its service endpoints. @@ -22,9 +23,5 @@ The following [docker-compose.yml](./docker-compose.yml) file can be used to run ```bash docker-compose -f docs/docker-compose.yml up ``` -- OpenAPI specifications doc is available *localhost:8081* - - - - +- OpenAPI specifications doc is available *localhost:8081* diff --git a/docs/docusaurus/connections/connection.md b/docs/docusaurus/connections/connection.md index c7a734df0e..0d25b0d91c 100644 --- a/docs/docusaurus/connections/connection.md +++ b/docs/docusaurus/connections/connection.md @@ -38,6 +38,7 @@ Please check the full [Cloud Agent API](/agent-api) specification for more detai 4. Send the connection response via the DIDComm Agent (connection achieves `ConnectionResponseSent` state) The following diagram represents the Inviter's Connection state transitions: + ```mermaid --- title: Inviter Connection State @@ -50,7 +51,6 @@ ConnectionResponsePending --> ConnectionResponseSent: send connection response ( ConnectionResponseSent --> [*] ``` - ## Invitee Flow 1. Receive the OOB invitation (`InvitationReceived` state) @@ -59,6 +59,7 @@ ConnectionResponseSent --> [*] 4. Receive the connection response (connection achieves `ConnectionResponseReceived` state) The following diagram represents the Invitee's Connection state transitions: + ```mermaid --- title: Invitee Connection State @@ -92,6 +93,7 @@ curl -X 'POST' \ ``` Example response: + ```json { "connectionId": "1893e207-4cba-4792-8179-067c78d2acc2", @@ -112,6 +114,7 @@ Example response: ### **Invitee** accepts OOB invitation Replace `{RAW_INVITATION}` with the value of the '_oob' query string parameter from the invitation URL above + ```shell curl -X 'POST' \ 'http://localhost:8090/cloud-agent/connection-invitations' \ @@ -121,6 +124,7 @@ curl -X 'POST' \ ``` Example response: + ```json { "connectionId": "755a457a-878e-4292-a3f2-cb83601f802e", @@ -148,6 +152,7 @@ curl -X 'GET' 'http://localhost:8090/cloud-agent/connections' \ ``` Example output: + ```json { "contents": [ @@ -181,6 +186,7 @@ curl -X 'GET' 'http://localhost:8080/cloud-agent/connections' \ ``` Example response: + ```json { "contents": [ diff --git a/docs/docusaurus/credentialdefinition/create.md b/docs/docusaurus/credentialdefinition/create.md index 3d662e6720..e8ab633d61 100644 --- a/docs/docusaurus/credentialdefinition/create.md +++ b/docs/docusaurus/credentialdefinition/create.md @@ -41,7 +41,7 @@ Here's a sample content of the credential definition: 1. `/credential-definition-registry/definitions` creates a credential definition that can later be resolved via HTTP URL 2. `/credential-definition-registry/definitions/did-url` creates a credential definition that can later be resolved via [DID URL](/home/concepts/glossary#did-url), the DID includes a service endpoint with the location of the credential definition registry. -Please note: The `author` field value should align with the short form of a PRISM DID previously created by the same agent. It's okay if this DID is unpublished. You can refer to the [Create DID](../dids/create.md) documentation for more comprehensive details on crafting a PRISM DID. + Please note: The `author` field value should align with the short form of a PRISM DID previously created by the same agent. It's okay if this DID is unpublished. You can refer to the [Create DID](../dids/create.md) documentation for more comprehensive details on crafting a PRISM DID. 3. Construct the request body using the following JSON object: @@ -119,7 +119,6 @@ curl -X 'GET' \ or in case of DID URL - ```shell curl -X 'GET' \ 'http://localhost:8080/credential-definition-registry/definitions/did-url/3f86a73f-5b78-39c7-af77-0c16123fa9c2' \ @@ -167,4 +166,4 @@ To update or upgrade an existing credential definition, follow the steps outline 2. Update the `version` value to reflect the changes made. This is important to ensure that each version of the credential definition remains distinct. 3. Create a new credential definition entry with the updated version and schema. -Note: When you make changes to an existing credential definition, it's essential to version the new entry accurately. This ensures clarity and avoids potential conflicts or misunderstandings among different versions of the same definition. \ No newline at end of file +Note: When you make changes to an existing credential definition, it's essential to version the new entry accurately. This ensures clarity and avoids potential conflicts or misunderstandings among different versions of the same definition. diff --git a/docs/docusaurus/credentialdefinition/credential-definition.md b/docs/docusaurus/credentialdefinition/credential-definition.md index 4429a8a07d..4c150b2488 100644 --- a/docs/docusaurus/credentialdefinition/credential-definition.md +++ b/docs/docusaurus/credentialdefinition/credential-definition.md @@ -17,6 +17,7 @@ The Identus Platform endorses the Anoncred Credential Definition, conforming to A descriptive and readable name indicating the type or category of the credential. **Example:** + ```json { "name": "{{CREDENTIAL_NAME}}" @@ -30,6 +31,7 @@ A descriptive and readable name indicating the type or category of the credentia A succinct descriptor providing an overview of the credential definition's purpose or category. **Example:** + ```json { "description": "{{CREDENTIAL_DESCRIPTION}}" @@ -43,6 +45,7 @@ A succinct descriptor providing an overview of the credential definition's purpo Specifies the version of the credential definition, using the [SemVer](https://semver.org/) protocol. **Example:** + ```json { "version": "{{VERSION_NUMBER}}" @@ -56,6 +59,7 @@ Specifies the version of the credential definition, using the [SemVer](https://s A unique identifier or tag associated with the credential definition. **Example:** + ```json { "tag": "{{TAG_IDENTIFIER}}" @@ -69,6 +73,7 @@ A unique identifier or tag associated with the credential definition. The decentralized identifier (DID) of the entity that created the credential definition. **Example:** + ```json { "author": "{{ISSUER_DID_SHORT}}" @@ -82,6 +87,7 @@ The decentralized identifier (DID) of the entity that created the credential def A distinct reference to retrieve the schema from the Schema Registry. **Example:** + ```json { "schemaId": "{{SCHEMA_REGISTRY_URI}}" @@ -95,6 +101,7 @@ A distinct reference to retrieve the schema from the Schema Registry. Indicates the type of signature applied to the credential definition. **Example:** + ```json { "signatureType": "{{SIGNATURE_TYPE}}" @@ -108,6 +115,7 @@ Indicates the type of signature applied to the credential definition. Specifies if the credential definition incorporates revocation capabilities. **Example:** + ```json { "supportRevocation": "{{BOOLEAN_VALUE}}" diff --git a/docs/docusaurus/credentials/connectionless/issue.md b/docs/docusaurus/credentials/connectionless/issue.md index 7d55911ba7..f49eba5657 100644 --- a/docs/docusaurus/credentials/connectionless/issue.md +++ b/docs/docusaurus/credentials/connectionless/issue.md @@ -14,7 +14,6 @@ In the Issue Credentials Protocol, there are two roles: The Issuer and Holder interact with the Identus Cloud Agent API to perform the operations defined in the protocol. - ## Prerequisites Before using the "Connectionless" Issuing Credentials protocol, the following conditions must be present: @@ -38,6 +37,7 @@ Before using the "Connectionless" Issuing Credentials protocol, the following co - 📌 **Note:** Currently we only support `Ed25519` curve + 1. Issuer Cloud Agents is up and running 2. The Issuer has a published PRISM DID, and the [DID document](/home/concepts/glossary#did-document) must have at least one `assertionMethod` key for issuing credentials (see [Create DID](../../dids/create.md) and [Publish DID](../../dids/publish.md)) 3. The Holder is either another Cloud Agent or Edge Agent SDK @@ -75,7 +75,6 @@ The VCs issued during this protocol could represent a diploma, a certificate of | [`/issue-credentials/records/{recordId}/accept-offer`](/agent-api/#tag/Issue-Credentials-Protocol/operation/acceptCredentialOffer) | This endpoint allows you to accept a credential offer | Holder | | [`/issue-credentials/records/{recordId}/issue-credential`](/agent-api/#tag/Issue-Credentials-Protocol/operation/issueCredential) | This endpoint allows you to issue a VC for a specific credential record. | Issuer | - :::info Please check the full [Cloud Agent API](/agent-api) specification for more detailed information. ::: @@ -134,14 +133,16 @@ curl -X 'POST' \ 1. `claims`: The data stored in a verifiable credential. AnonCreds claims get expressed in a flat, "string -> string", key-value pair format. The claims contain the data that the issuer attests to, such as name, address, date of birth, and so on. 2. `issuingDID`: The DID referring to the issuer to issue this credential from 3. `credentialDefinitionId`: The unique ID of the [credential definition](../../credentialdefinition/credential-definition.md) that has been created by the issuer as a prerequisite. Please refer to the [Create AnonCreds Credential Definition](../../credentialdefinition/credential-definition.md) doc for details on how to create a credential definition. + :::note 📌 Note: If the credential definition was created via HTTP URL endpoint, then this credential definition will be referenced to that credential via HTTP URL, and if this credential definition was created via DID URL endpoint, then it will be referenced via DID URL, How to create credential definition for HTTP URL or DID URL is explained in [credential definition creation guide](../../credentialdefinition/create.md) ::: + 4. `credentialFormat`: The format of the credential that will be issued - `AnonCreds` in this case. -:::note -The `issuingDID` and `credentialDefinitionId` properties come from completing the pre-requisite steps listed above -::: + :::note + The `issuingDID` and `credentialDefinitionId` properties come from completing the pre-requisite steps listed above + ::: Once the request initiates, a new credential record for the issuer gets created with a unique ID. The state of this record is now `OfferPending`. @@ -173,11 +174,11 @@ curl -X 'POST' \ 1. `claims`: The data stored in a verifiable credential. Claims get expressed in a key-value format. The claims contain the data that the issuer attests to, such as name, address, date of birth, and so on. 2. `issuingDID`: The DID referring to the issuer to issue this credential from -4. `schemaId`: An optional field that, if specified, contains a valid URL to an existing VC schema. +3. `schemaId`: An optional field that, if specified, contains a valid URL to an existing VC schema. The Cloud Agent must be able to dereference the specified URL (i.e. fetch the VC schema content from it), in order to validate the provided claims against it. When not specified, the claims fields is not validated and can be any valid JSON object. Please refer to the [Create VC schema](../../schemas/create.md) doc for details on how to create a VC schema. -5. `credentialFormat`: The format of the credential that will be issued - `SDJWT` in this case. +4. `credentialFormat`: The format of the credential that will be issued - `SDJWT` in this case. :::note The `issuingDID` property comes from completing the pre-requisite steps listed above @@ -214,13 +215,11 @@ curl -X 'POST' \ - ### Sending the Offer to the Holder The next step for the Issuer is to send the OOB invite Holder (by definition, this is "out of band", so not handled by Identus). Common ways to convey such OOB invites might be a QR code that is scanned, or via an existing channel of connection in an application. - ### Issuing the Credential Once the holder has approved the offer and sent a request to the Issuer, @@ -269,6 +268,7 @@ and a new credential record with a unique ID gets created in the `OfferReceived` This process is automatic for the Cloud Agent. You could check if a new credential offer is available using [`/issue-credentials/records`](/#tag/Issue-Credentials-Protocol/operation/getCredentialRecords) request and check for any records available in `OfferReceived` state: + ```shell # Holder GET request to retrieve credential records curl "http://localhost:8090/cloud-agent/issue-credentials/records" \ @@ -276,7 +276,6 @@ curl "http://localhost:8090/cloud-agent/issue-credentials/records" \ -H "apikey: $API_KEY" ``` - ### Approving the VC Offer To accept the offer, the Holder can make a `POST` request to the [`/issue-credentials/records/{recordId}/accept-offer`](/agent-api/#tag/Issue-Credentials-Protocol/operation/acceptCredentialOffer) endpoint with a JSON payload that includes the following information: @@ -320,6 +319,7 @@ curl -X POST "http://localhost:8090/cloud-agent/issue-credentials/records/$holde 2. `subjectId`: This field represents the unique identifier for the subject of the verifiable credential. It is a short-form PRISM [DID](/home/concepts/glossary#decentralized-identifier) string, such as `did:prism:subjectIdentifier`. 3. `keyId` Option parameter 1. when keyId is not provided the SDJWT VC is not binded to Holder/Prover key + ```shell # Holder POST request to accept the credential offer curl -X POST "http://localhost:8090/cloud-agent/issue-credentials/records/$holder_record_id/accept-offer" \ @@ -330,6 +330,7 @@ curl -X POST "http://localhost:8090/cloud-agent/issue-credentials/records/$holde "subjectId": "did:prism:subjectIdentifier" }' ``` + A SD-JWT Verifiable Credential (VC) without a `cnf` key could possibly look like below ```json @@ -351,7 +352,8 @@ curl -X POST "http://localhost:8090/cloud-agent/issue-credentials/records/$holde "_sd_alg": "sha-256" } ``` - 2. `keyId`: This is optional field but must be specified to choose which key bounds to the verifiable credential. + + 1. `keyId`: This is optional field but must be specified to choose which key bounds to the verifiable credential. For more information on key-binding, [ietf-oauth-selective-disclosure-jwt](https://datatracker.ietf.org/doc/draft-ietf-oauth-selective-disclosure-jwt). Currently, we only support the EdDSA algorithm and curve Ed25519. The specified keyId should be of type Ed25519. @@ -368,7 +370,9 @@ curl -X POST "http://localhost:8090/cloud-agent/issue-credentials/records/$holde "keyId": "key-1" }' ``` + A SD-JWT Verifiable Credential (VC) that includes a `cnf` key could possibly look like below + ```json { "_sd": [ diff --git a/docs/docusaurus/credentials/didcomm/issue.md b/docs/docusaurus/credentials/didcomm/issue.md index 7ec74e57b1..4b8f6342b2 100644 --- a/docs/docusaurus/credentials/didcomm/issue.md +++ b/docs/docusaurus/credentials/didcomm/issue.md @@ -495,6 +495,7 @@ curl -X POST "http://localhost:8090/cloud-agent/issue-credentials/records/$holde as `did:prism:subjectIdentifier`. 3. `keyId` Option parameter 1. when keyId is not provided the SDJWT VC is not binded to Holder/Prover key + ```shell # Holder POST request to accept the credential offer curl -X POST "http://localhost:8090/cloud-agent/issue-credentials/records/$holder_record_id/accept-offer" \ @@ -505,6 +506,7 @@ curl -X POST "http://localhost:8090/cloud-agent/issue-credentials/records/$holde "subjectId": "did:prism:subjectIdentifier" }' ``` + A SD-JWT Verifiable Credential (VC) without a `cnf` key could possibly look like below ```json @@ -526,7 +528,8 @@ curl -X POST "http://localhost:8090/cloud-agent/issue-credentials/records/$holde "_sd_alg": "sha-256" } ``` - 2. `keyId`: This is optional field but must be specified to choose which key bounds to the verifiable credential. + + 1. `keyId`: This is optional field but must be specified to choose which key bounds to the verifiable credential. For more information on key-binding, [ietf-oauth-selective-disclosure-jwt](https://datatracker.ietf.org/doc/draft-ietf-oauth-selective-disclosure-jwt). Currently, we only support the EdDSA algorithm and curve Ed25519. @@ -544,7 +547,9 @@ curl -X POST "http://localhost:8090/cloud-agent/issue-credentials/records/$holde "keyId": "key-1" }' ``` + A SD-JWT Verifiable Credential (VC) that includes a `cnf` key could possibly look like below + ```json { "_sd": [ diff --git a/docs/docusaurus/credentials/didcomm/present-proof.md b/docs/docusaurus/credentials/didcomm/present-proof.md index 06907b6b5b..704dfc1eee 100644 --- a/docs/docusaurus/credentials/didcomm/present-proof.md +++ b/docs/docusaurus/credentials/didcomm/present-proof.md @@ -4,6 +4,7 @@ import TabItem from '@theme/TabItem'; # Present proof (DIDComm) The [Present Proof Protocol](/home/concepts/glossary#present-proof-protocol) allows: + - a [Verifier](/home/concepts/glossary#verifier) to request a verifiable credential presentation from a Holder/Prover - a [Holder/Prover](/home/concepts/glossary#holder) responds by presenting a cryptographic proof to the Verifier @@ -125,6 +126,7 @@ curl -X 'POST' 'http://localhost:8070/cloud-agent/present-proof/presentations' \ "credentialFormat": "AnonCreds" }' ``` + @@ -149,6 +151,7 @@ curl -X 'POST' 'http://localhost:8070/cloud-agent/present-proof/presentations' \ ``` b. `SD-JWT` The presence of the `cnf` key as a disclosable claim in the SD-JWT Verifiable Credential (VC) allows the Holder/Prover to create a presentation and sign the `challenge` and `domain` given by the verifier. + ```bash curl -X 'POST' 'http://localhost:8070/cloud-agent/present-proof/presentations' \ -H 'accept: application/json' \ @@ -170,7 +173,9 @@ curl -X 'POST' 'http://localhost:8070/cloud-agent/present-proof/presentations' \ } }' ``` + SDJWT Specific attributes + 1. `credentialFormat`: SDJWT. 2. `claims`: The claims to be disclosed by Holder/Prover. @@ -180,6 +185,7 @@ SDJWT Specific attributes Upon execution, a new presentation request record gets created with an initial state of `RequestPending`. The Verifier Cloud Agent will send the presentation request message to the Cloud Agent of the Holder/Prover through the specified DIDComm connection. The record state then is updated to `RequestSent`. The Verifier can retrieve the list of presentation records by making a `GET` request to the [`/present-proof/presentations`](/agent-api/#tag/Present-Proof/operation/getAllPresentation) endpoint: + ```bash curl -X 'GET' 'http://localhost:8070/cloud-agent/present-proof/presentations' \ -H 'accept: application/json' \ @@ -187,6 +193,7 @@ curl -X 'GET' 'http://localhost:8070/cloud-agent/present-proof/presentations' \ ``` ### Accept presentation proof received from the Holder/prover + Once the Holder/Prover has received a proof presentation request, he can accept it using an appropriate verifiable credential. The Cloud Agent of the Verifier will receive that proof and verify it. Upon successful verification, the presentation record state gets updated to `PresentationVerified`. The Verifier can then explicitly accept the specific verified proof presentation to change the record state to `PresentationAccepted` by making a `PATCH` request to the [`/present-proof/presentations/{id}`](/agent-api/#tag/Present-Proof/operation/updatePresentation) endpoint: @@ -213,9 +220,11 @@ stateDiagram-v2 ``` ## Holder/Prover + This section describes the interactions available to the Holder/Prover with his Cloud Agent. ### Reviewing and accepting a received presentation request + The Holder/Prover can retrieve the list of presentation requests received by its Cloud Agent from different Verifiers making a `GET` request to the [`/present-proof/presentations`](/agent-api/#tag/Present-Proof/operation/getAllPresentation) endpoint: ```bash @@ -240,6 +249,7 @@ curl -X 'PATCH' 'http://localhost:8090/cloud-agent/present-proof/presentations/{ ``` The Holder/Prover will have to provide the following information: + 1. `presentationId`: The unique identifier of the presentation record to accept. 2. `proofId`: The unique identifier of the verifiable credential record to use as proof. @@ -267,6 +277,7 @@ curl -X 'PATCH' 'http://localhost:8090/cloud-agent/present-proof/presentations/{ } }' ``` + @@ -291,10 +302,12 @@ curl -X 'PATCH' 'http://localhost:8090/cloud-agent/present-proof/presentations/{ ``` The Holder/Prover will have to provide the following information: + 1. `presentationId`: The unique identifier of the presentation record to accept. 2. `proofId`: The unique identifier of the verifiable credential record to use as proof. 3. `credentialFormat`: SDJWT. 4. `claims`: The Verifier requests specific claims to disclose. The path of these claims must match exactly with those in the SD-JWT Verifiable Credential (VC). + - 📌 **Note:** When a SD-JWT Verifiable Credential (VC) has nested claims such as region and country within an address object, as shown in the example above, it falls under the Holder's responsibility to supply the correct nested JSON structure for the claims attribute(s) that is being disclosed. - 📌 **Note:** The holder or prover of the claims is only required to disclose the attribute names and the correct JSON path. The actual values are not necessary. A special JSON placeholder `{}`, can be used instead. @@ -303,6 +316,7 @@ The Holder/Prover will have to provide the following information: The Holder/Prover will have to provide the following information: + 1. `presentationId`: The unique identifier of the presentation record to accept. 2. `anoncredPresentationRequest`: A list of credential unique identifier with the attribute and predicate the credential is answering for. diff --git a/docs/docusaurus/credentials/oid4vci/issue.md b/docs/docusaurus/credentials/oid4vci/issue.md index fe363e2de4..7e0690ebc6 100644 --- a/docs/docusaurus/credentials/oid4vci/issue.md +++ b/docs/docusaurus/credentials/oid4vci/issue.md @@ -42,6 +42,7 @@ docker build -t identus-oid4vci-demo:latest ./demo ```bash docker run --network -it identus-oid4vci-demo:latest ``` + The parameter `NETWORK_NAME` should be the same as the network name in docker-compose. This name can be discovered by running the `docker network ls` command. diff --git a/docs/docusaurus/credentials/revocation.md b/docs/docusaurus/credentials/revocation.md index eff1a2ee88..aa92751c1e 100644 --- a/docs/docusaurus/credentials/revocation.md +++ b/docs/docusaurus/credentials/revocation.md @@ -3,7 +3,6 @@ import TabItem from '@theme/TabItem'; # Credential revocation - Identus implements the revocation mechanism of JWT credentials according to [Verifiable Credentials Status List v2021](https://www.w3.org/TR/2023/WD-vc-status-list-20230427/). This open standard enables Identus to verify the revocation status of any credential that implements the revocation mechanism using the same specification. ## Overview @@ -19,6 +18,7 @@ Every credential will contain the property `credentialStatus`, which will look l "statusListCredential": "http://localhost:8080/cloud-agent/cloud-agent/credential-status/27526236-3836-4061-9867-f69314e258b4" }, ``` + * `type` will always be `StatusList2021Entry` * `statusListCredential` is a publicly accessible URL that resolves a status list credential that looks like this: @@ -52,7 +52,6 @@ Every credential will contain the property `credentialStatus`, which will look l - * `statusListIndex` is an index in a bit string at which the credential's revocation status can be verified. The status list credential contains `encodedList`, a base64-encoded bit string that contains the credential's revocation status. @@ -74,6 +73,7 @@ Status list credential integrity can be verified using the embedded proof. We currently support 2 types of proofs: + * `DataIntegrityProof` via crypto suite `eddsa-jcs-2022`. The exact steps on how to create a verify this proof are in the [Data Integrity EdDSA Cryptosuites v1.0](https://www.w3.org/TR/vc-di-eddsa/#eddsa-jcs-2022) * Used for Ed25519 EC curves, meaning if the proof was created using Ed25519 private key * `EcdsaSecp256k1Signature2019`, the description of this cryptosuite can be found [here](https://w3c-ccg.github.io/lds-ecdsa-secp256k1-2019/) @@ -111,6 +111,7 @@ We currently support 2 types of proofs: } } ``` + #### Example of status list credential with `EcdsaSecp256k1Signature2019` proof ```json @@ -146,22 +147,22 @@ We currently support 2 types of proofs: - - - ## Revocation Only issuers of a credential can revoke a credential. *Get the list of credentials* + ```bash curl -X 'GET' \ 'http://localhost:8080/cloud-agent/issue-credentials/records' \ -H 'accept: application/json' ``` + This endpoint will return the credentials issued. Every credential includes an ID. *Revoke the credential* + ```bash curl -X 'PATCH' \ 'http://localhost:8080/cloud-agent/revoke-credential/' \ diff --git a/docs/docusaurus/dids/create.md b/docs/docusaurus/dids/create.md index c7c918bf08..8b3adb1567 100644 --- a/docs/docusaurus/dids/create.md +++ b/docs/docusaurus/dids/create.md @@ -49,6 +49,7 @@ curl --location --request GET 'http://localhost:8080/cloud-agent/did-registrar/d --header "apikey: $API_KEY" \ --header 'Accept: application/json' ``` + The result should show an empty list, as no DIDs exist on this Cloud Agent instance. ### 2. Create the Cloud Agent managed DID using DID registrar endpoint diff --git a/docs/docusaurus/dids/deactivate.md b/docs/docusaurus/dids/deactivate.md index 62cb70cd54..cab62ce4bc 100644 --- a/docs/docusaurus/dids/deactivate.md +++ b/docs/docusaurus/dids/deactivate.md @@ -63,6 +63,7 @@ Example DID document response (some fields omitted for readability) "didResolutionMetadata": {...} } ``` + The DID metadata shows the `deactivation` status as `false`, meaning that this DID is still active. ### 2. Requesting the DID deactivation to PRSIM Agent diff --git a/docs/docusaurus/dids/publish.md b/docs/docusaurus/dids/publish.md index 6c1cb3fca7..989ad0c00a 100644 --- a/docs/docusaurus/dids/publish.md +++ b/docs/docusaurus/dids/publish.md @@ -13,7 +13,6 @@ Even if the data is not on the blockchain, the resolver can still work out the D The resolution of short-form DID is achievable by DID publication, which is a process of putting the create-operation on the blockchain. - ## Roles 1. DID Controller is the organization or individual who has control of the DID. @@ -63,6 +62,7 @@ Example response "status": "CREATED" } ``` + ### 2. Request a publication of a DID To publish a DID, use DID Controller `POST` a request to `/did-registrar/dids/{didRef}/publications` endpoint. diff --git a/docs/docusaurus/dids/update.md b/docs/docusaurus/dids/update.md index b709c9121f..45c22936c3 100644 --- a/docs/docusaurus/dids/update.md +++ b/docs/docusaurus/dids/update.md @@ -94,6 +94,7 @@ Example DID document response (some fields omitted for readability) "didResolutionMetadata": {...} } ``` + The `verificationMethod` in the DID document only shows one public key called `key-1`. ### 2. Add a new key and remove the existing key @@ -127,10 +128,10 @@ curl --location --request POST 'http://localhost:8080/cloud-agent/did-registrar/ ] }' ``` + Under the hood, the Cloud Agent constructs the DID update-operation from the last confirmed operation observed on the blockchain. The DID Controller should receive a response about the scheduled operation, waiting for confirmation on the blockchain. - ```json { "scheduledOperation": { diff --git a/docs/docusaurus/index.md b/docs/docusaurus/index.md index 9f20afb83f..1e1c44bafb 100644 --- a/docs/docusaurus/index.md +++ b/docs/docusaurus/index.md @@ -8,15 +8,16 @@ The tutorials will guide you through setting up a connection, working with [Dece Whether you are new to [self-sovereign identity (SSI)](/home/concepts/glossary#self-sovereign-identity) or have prior experience, these tutorials will provide the necessary information and skills to build and use SSI-based applications. Throughout all code examples in tutorials, the following conventions are in use: + * Issuer Keycloak is hosted at `http://localhost:9980/` * Issuer Agent is hosted at `http://localhost:8080/cloud-agent/` * Holder Agent is hosted at `http://localhost:8090/cloud-agent/` * Verifier Agent is hosted at `http://localhost:8100/cloud-agent/` :::info To use the Identus Cloud Agents, you must include an `apiKey` header in your requests. You can configure the key, and in some instances, it will be provided to you, so make sure to create an environment variable with the proper value. + ```shell export API_KEY= ``` -Alternatively, replace `$API_KEY` with your key in the CURL commands supplied throughout this tutorial. ::: - +Alternatively, replace `$API_KEY` with your key in the CURL commands supplied throughout this tutorial. ::: diff --git a/docs/docusaurus/multitenancy/access-control.md b/docs/docusaurus/multitenancy/access-control.md index 433bf1ab0a..f44cfdca1a 100644 --- a/docs/docusaurus/multitenancy/access-control.md +++ b/docs/docusaurus/multitenancy/access-control.md @@ -23,6 +23,7 @@ The root token is used for this purpose. The root token must be kept in the most safe place and not used for regular cases. SUDO Account is used for the following purposes: + - configure the Vault service - configure authentication methods - configure Management Accounts @@ -34,6 +35,7 @@ Managed by DevOps and SRE teams. Management Account is special account that allows to manage the Cloud Agent. The account with the limited access to configure the Vault service with the following permissions: + - manage the Wallet accounts - manage the Agent accounts - enforces the policies to the Wallet account @@ -46,6 +48,7 @@ Agent Account is created for the Cloud Agent to authenticate itself to the Vault AppRole authentication method is used for this account. The account with the limited access to configure the Vault service with the following permissions: + - create the Wallet accounts - issue the token to the Wallet account - do other operations required to configure the Wallet account @@ -55,6 +58,7 @@ The account with the limited access to configure the Vault service with the foll The Wallet Account is created for and used by the Wallet. The Wallet Account is has access to the secrets of the Wallet and the Cloud Agent must guarantee the data isolation at the Wallet level. This account has the following permissions: + - list, read, write, delete the secrets associated with the Wallet - use the REST API associated with the Wallet - manage the data associated with the Wallet @@ -65,6 +69,7 @@ This account has the following permissions: The Principle of Least Privilege (PoLP) is a security concept that requires that a user is granted no more privilege than necessary to perform a task. The following practices are applied to implement the PoLP: + - audit: all the credentials are audited and must be under control of the SRE team - administrator and business accounts are separated - activity monitoring: activity of the administrator accounts is monitored @@ -73,6 +78,7 @@ The following practices are applied to implement the PoLP: **NOTE**: there are other PoLP practices that are not covered in this document. These practices will be ignored for local development and testing purposes. In order to implement the PoLP, the following access control rules are defined: + - the Cloud Agent account has access to the Wallet account that belong to the Agent only - the Cloud Agent account transparently issues the token to the Wallet account based on configured authentication method @@ -81,6 +87,7 @@ In order to implement the PoLP, the following access control rules are defined: These policies are applied to all tokens except the SUDO account (root token). All tokens issued by the Identus Platform have the following properties: + - expiration time - maximum time to live (TTL) - renewable flag @@ -89,14 +96,17 @@ All tokens issued by the Identus Platform have the following properties: - operation limitations (number of the requests that can be performed by the token) Management account token policies: + - authentication methods: GitHub, GoogleAuth, user/password - expiration time: 1 hour Agent Account token policies: + - authentication method: AppRole - token expiration time: 24 hour Wallet Account token policies: + - authentication methods: JWT, token issued by the Agent account, user/password - token expiration time: 1 hour @@ -112,4 +122,4 @@ Wallet Account token policies: - [Vault GitHub Authentication Method](https://www.vaultproject.io/docs/auth/github) - [Vault GoogleAuth Authentication Method](https://www.vaultproject.io/docs/auth/google) - [Vault Userpass Authentication Method](https://www.vaultproject.io/docs/auth/userpass) -- [Vault Tokens](https://www.vaultproject.io/docs/concepts/tokens) \ No newline at end of file +- [Vault Tokens](https://www.vaultproject.io/docs/concepts/tokens) diff --git a/docs/docusaurus/multitenancy/account-management.md b/docs/docusaurus/multitenancy/account-management.md index b44d4ba683..9e6f0d7bfe 100644 --- a/docs/docusaurus/multitenancy/account-management.md +++ b/docs/docusaurus/multitenancy/account-management.md @@ -20,6 +20,7 @@ The account is identified by the tenant ID and represented by the Entity in the ### Account Types The Identus Platform supports the following types of accounts: + - Cloud Agent Account - application account used by the Cloud Agent to authenticate itself to the Vault service - Wallet Account - application or user account used to access the Wallet assets over the REST API or WEB UI @@ -39,8 +40,9 @@ The Cloud Agent uses [AppRole](https://www.vaultproject.io/docs/auth/approle) au The Wallet account is required to authenticate the entity to the Identus Platform and give it the access to Wallet. The Wallet account can be authenticated by the following methods: + - JWT/OIDC token -- user/password +- user/password - AppRole method (for the applications) - other methods supported by the Vault service @@ -57,6 +59,7 @@ In the case when the account must be deleted, the entity must be deleted from th Retention policy is a matter of the configuration and must be discussed separately. ## Links + - [Vault AppRole](https://www.vaultproject.io/docs/auth/approle) - [Vault Entities and Groups](https://developer.hashicorp.com/vault/tutorials/auth-methods/identity) -- [Vault JWT/OIDC](https://developer.hashicorp.com/vault/api-docs/auth/jwt) \ No newline at end of file +- [Vault JWT/OIDC](https://developer.hashicorp.com/vault/api-docs/auth/jwt) diff --git a/docs/docusaurus/multitenancy/admin-authz-ext-iam.md b/docs/docusaurus/multitenancy/admin-authz-ext-iam.md index e45d9cb382..30f8dc0fde 100644 --- a/docs/docusaurus/multitenancy/admin-authz-ext-iam.md +++ b/docs/docusaurus/multitenancy/admin-authz-ext-iam.md @@ -141,4 +141,3 @@ curl --location --request GET 'http://localhost:8080/cloud-agent/wallets' \ The response should return a list of all wallets on the Agent with HTTP status 200. Trying to perform prohibited tenant interactions, such as listing the DIDs in the wallet, will result in an authorization error. - diff --git a/docs/docusaurus/multitenancy/tenant-onboarding-ext-iam.md b/docs/docusaurus/multitenancy/tenant-onboarding-ext-iam.md index 5f81f44e7c..14e688daf0 100644 --- a/docs/docusaurus/multitenancy/tenant-onboarding-ext-iam.md +++ b/docs/docusaurus/multitenancy/tenant-onboarding-ext-iam.md @@ -99,7 +99,6 @@ Create a wallet using a `POST /wallets` endpoint. This wallet will be a container for the tenant's assets (DIDs, VCs, Connections, etc.). Provide a wallet seed during the wallet creation or let the Agent generate one - ```bash curl -X 'POST' \ 'http://localhost:8080/cloud-agent/wallets' \ diff --git a/docs/docusaurus/schemas/create.md b/docs/docusaurus/schemas/create.md index e203041b01..4c0ee6373c 100644 --- a/docs/docusaurus/schemas/create.md +++ b/docs/docusaurus/schemas/create.md @@ -355,7 +355,6 @@ and for DID URL request, response will include the same schema wrapped in [Prism Schemas created for HTTP URL (`/cloud-agent/schema-registry/schemas`) will not be resolvable by endpoint that returns schemas created for DID URL (`/cloud-agent/schema-registry/schemas/did-url`) and vice verca. - The Cloud Agent instance's triple `author`, `id`, and `version` are unique. So, having a single [DID](/home/concepts/glossary#decentralized-identifier) reference that the author uses, creating the credential schema with the same `id` and `version` is impossible. @@ -366,4 +365,4 @@ To upgrade the credential schema, you need to perform the following steps: 1. Start from the first step and change the JSON Schema 2. Change the `version` according to the nature of your change -3. Create a new credential schema record with a higher version \ No newline at end of file +3. Create a new credential schema record with a higher version diff --git a/docs/docusaurus/schemas/credential-schema.md b/docs/docusaurus/schemas/credential-schema.md index 54ecfcb105..c9ea45f6ad 100644 --- a/docs/docusaurus/schemas/credential-schema.md +++ b/docs/docusaurus/schemas/credential-schema.md @@ -69,8 +69,6 @@ Resource identifier of the given credential schema composed from the author's DI **For example:** `did:example:MDP8AsFhHzhwUvGNuYkX7T/06e126d1-fa44-4882-a243-1e326fbe21db?version=1.0` - - --- ### type (String) diff --git a/docs/docusaurus/schemas/update.md b/docs/docusaurus/schemas/update.md index d461713fad..110de32ee2 100644 --- a/docs/docusaurus/schemas/update.md +++ b/docs/docusaurus/schemas/update.md @@ -331,4 +331,4 @@ If you are updating schema that is DID URL resolvable, the response will be in a { "resource":"eyJhdXRob3IiOiJkaWQ6cHJpc206ZTAyNjZlZThkODBhMDAxNjNlNWY5MjJkYzI1NjdhYjk2MTE3MjRhMDBkYjkyNDIzMzAxMTU0MjgyMTY5ZGZmOSIsImF1dGhvcmVkIjoiMjAyNC0wOS0yNVQxMDozNzoxNi4wOTM2MDlaIiwiZGVzY3JpcHRpb24iOiJEcml2aW5nIExpY2Vuc2UgU2NoZW1hIiwiZ3VpZCI6IjVjOTNmYTAwLWUwM2UtMzlkZC05NDdmLTI2NWI4YzFlYWQ4YiIsImlkIjoiNjhmMGQ4MDctYTcyYi00OTY2LTg1NWItMmIzNGJjMjYzNzAyIiwibmFtZSI6ImRyaXZpbmctbGljZW5zZSIsInJlc29sdXRpb25NZXRob2QiOiJkaWQiLCJzY2hlbWEiOnsiJGlkIjoiaHR0cHM6Ly9leGFtcGxlLmNvbS9kcml2aW5nLWxpY2Vuc2UtMS4wLjAiLCIkc2NoZW1hIjoiaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi9zY2hlbWEiLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6dHJ1ZSwiZGVzY3JpcHRpb24iOiJEcml2aW5nIExpY2Vuc2UiLCJwcm9wZXJ0aWVzIjp7ImRhdGVPZklzc3VhbmNlIjp7ImZvcm1hdCI6ImRhdGUtdGltZSIsInR5cGUiOiJzdHJpbmcifSwiZHJpdmluZ0NsYXNzIjp7InR5cGUiOiJpbnRlZ2VyIn0sImRyaXZpbmdMaWNlbnNlSUQiOnsidHlwZSI6InN0cmluZyJ9LCJlbWFpbEFkZHJlc3MiOnsiZm9ybWF0IjoiZW1haWwiLCJ0eXBlIjoic3RyaW5nIn0sImZhbWlseU5hbWUiOnsidHlwZSI6InN0cmluZyJ9LCJnaXZlbk5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiZW1haWxBZGRyZXNzIiwiZmFtaWx5TmFtZSIsImRhdGVPZklzc3VhbmNlIiwiZHJpdmluZ0xpY2Vuc2VJRCIsImRyaXZpbmdDbGFzcyJdLCJ0eXBlIjoib2JqZWN0In0sInRhZ3MiOlsiZHJpdmluZyIsImxpY2Vuc2UiXSwidHlwZSI6Imh0dHBzOi8vdzNjLWNjZy5naXRodWIuaW8vdmMtanNvbi1zY2hlbWFzL3NjaGVtYS8yLjAvc2NoZW1hLmpzb24iLCJ2ZXJzaW9uIjoiMS4wLjAifQ==", "url":"did:prism:e0266ee8d80a00163e5f922dc2567ab9611724a00db92423301154282169dff9?resourceService=agent-base-url&resourcePath=schema-registry/schemas/did-url/5c93fa00-e03e-39dd-947f-265b8c1ead8b?resourceHash=d1557ede168f0f91097933aa2080edaf2f14fddd8a7362a22add97e431c4efe2" -} \ No newline at end of file +} diff --git a/docs/docusaurus/secrets/operation.md b/docs/docusaurus/secrets/operation.md index b780a8a97c..1efdc31143 100644 --- a/docs/docusaurus/secrets/operation.md +++ b/docs/docusaurus/secrets/operation.md @@ -83,7 +83,6 @@ This feature can be toggled by setting the environment variable `VAULT_USE_SEMAN When it is disabled, the unbounded portion of the path will be replaced by a SHA-256 digest of the original relative path. Additionally, the original path will be stored in the secret metadata. - ### Postgres Postgres is an alternative backend option for secret storage. diff --git a/docs/docusaurus/secrets/secret-storage.md b/docs/docusaurus/secrets/secret-storage.md index 04ac684e3c..5c00a95faf 100644 --- a/docs/docusaurus/secrets/secret-storage.md +++ b/docs/docusaurus/secrets/secret-storage.md @@ -6,11 +6,11 @@ **NOTE**: this document is a draft and is not implemented yet. Statement in this document might be changed in the future. - ## Introduction Secrets are sensitive data that should be stored securely. There are following types of the secrets in the Identus Platform: + - seed: a secret used to derive cryptographic keys - private key: a secret used to sign data - any other entities that contain sensitive data (for instance, `credential-definition` and the `link-secret` used by the AnonCreds) @@ -25,24 +25,29 @@ Hashicorp Vault is used as a secret storage service and provides a REST API, Web ## Terminology ### Vault + Vault is a secrets management service developed by HashiCorp. It can be used as the default secret storage for the Identus Platform as well as for authentication and account management. **NOTE**: The Identus Platform must not be dependent on the Vault service and must be able to use other services for the same purposes ### Agent + The Cloud Agent is a service that provides an APIs to interact with the Identus Platform and use the SSI capabilities. ### Wallet + Logical component of the Agent that holds secrets and provides the logical or physical isolation of the data. ## Technical Overview ### The Cloud Agent Logical Isolation + Each instance of the Cloud Agent needs to have access to the secrets but must be isolated from other agents at the same environment. For horizontal scalability the group of agents can be configured to share the same namespace, so they can access the same secrets, but they still need to use different Vault account to authenticate themselves to the Vault service. ### The Cloud Agent Authentication + Each instance of the Cloud Agent needs to authenticate itself to the Vault service. The Vault service uses a token-based authentication mechanism. The Cloud Agent uses a Vault [AppRole](https://developer.hashicorp.com/vault/docs/auth/approle) authentication method to authenticate itself to the Vault service. @@ -50,12 +55,15 @@ The token issued to the agent has the expiration time set in the application con After the token expires, the agent needs to re-authenticate itself to the Vault service. ### Wallet Authentication + Each instance of the Wallet needs to authenticate itself to the Vault service. The Cloud Agent issues the authentication token to the Wallet based on the tenant ID. ### Secrets Engine Configuration + The Vault service uses a secrets engine to store secrets. KV2 secrets engine is used to store secrets in the Vault service and provides the following features: + - secrets are encrypted at rest - secrets are encrypted in transit - secrets are versioned @@ -64,6 +72,7 @@ KV2 secrets engine is used to store secrets in the Vault service and provides th - secrets are logically separated by tenants ### Single and Multi-Tenant Configuration + The Identus Platform supports single and multi-tenant configurations. In the single-tenant configuration, the Cloud Agent uses a single Wallet and a single Vault account to authenticate itself to the Vault service. In the multi-tenant configuration, the Cloud Agent manages multiple Wallets, each Wallet is associated with a single tenant. @@ -88,6 +97,7 @@ sequenceDiagram The Identus Platform uses HD key derivation to derive cryptographic keys from the seed. The Wallet is initialized with the seed and uses it to derive cryptographic keys for managed DIDs. Key derivation path is conventional and is defined as follows: + ``` m / wallet-purpose / DID-index / key-purpose / key-index ``` @@ -112,6 +122,7 @@ The private keys for the DID can be stored by the following path: ``` where: + - `tenant-id` is the tenant ID assigned to the Wallet - `did-ref` is the DID ref - `key-purpose` is the key purpose according to the PRISM DID Method specification @@ -127,6 +138,7 @@ The keys material of the DID peer can be stored by the following path: ``` Links: + - [PRISM DID Method Specification](https://github.com/input-output-hk/prism-did-method-spec) - [Vault Secrets Engine API](https://www.vaultproject.io/api/secret/kv/kv-v2) - [Vault Namespaces](https://www.vaultproject.io/docs/concepts/namespaces) @@ -134,4 +146,4 @@ Links: - [Vault AppRole Authentication](https://www.vaultproject.io/docs/auth/approle) - [Vault Token Authentication](https://www.vaultproject.io/docs/auth/token) - [Vault KV Secrets Engine](https://www.vaultproject.io/docs/secrets/kv/kv-v2) -- [Vault Entities](https://www.vaultproject.io/docs/concepts/entities) \ No newline at end of file +- [Vault Entities](https://www.vaultproject.io/docs/concepts/entities) diff --git a/docs/docusaurus/secrets/seed-generation.md b/docs/docusaurus/secrets/seed-generation.md index 38bb865224..de15cc837f 100644 --- a/docs/docusaurus/secrets/seed-generation.md +++ b/docs/docusaurus/secrets/seed-generation.md @@ -28,6 +28,7 @@ DEFAULT_WALLET_SEED=000000000000000000000000000000000000000000000000000000000000 DEFAULT_WALLET_SEED=11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 DEFAULT_WALLET_SEED=0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a ``` + __Note: Do not use method this in production.__ ### 2. Simple dynamic seed @@ -38,11 +39,11 @@ like Bash or Python. An example of a Bash script is shown below. ```bash DEFAULT_WALLET_SEED=$(tr -dc a-f0-9 >+Application: Agent REST API response Application->>+ User: react ``` + ### Phase #3: Single Tenant Flow for Secret Management with Wallet This diagram describes the flow for the secret management for the single tenant with the Wallet. @@ -87,12 +90,12 @@ This diagram describes the flow for the secret management for the single tenant Goal: Tenant uses JWT token to authenticate to the Identus Platform. Context: + - The Agent is authenticated to the Vault using the AppRole authentication method. - Tenant uses the access token to access the REST API via APISIX (probably this might be removed, we need to decide what to do with the `api-token`) - Tenant represented by any REST API client, Web or Mobile application authenticated to the Identus Platform using JWT token. - Tenant uses the Wallet to communicate with the Vault - ```mermaid sequenceDiagram participant User @@ -133,4 +136,4 @@ sequenceDiagram This diagram describes the flow for the secret management for the multi tenant. -//TBD \ No newline at end of file +//TBD diff --git a/docs/docusaurus/vdr/manage.md b/docs/docusaurus/vdr/manage.md index e23bac3f36..139c937a76 100644 --- a/docs/docusaurus/vdr/manage.md +++ b/docs/docusaurus/vdr/manage.md @@ -29,7 +29,7 @@ Then we will try to deactivate the data and observe the resolution failure. The Cloud Agent supports multiple VDR drivers. Each driver stores data differently: | Driver | Enable with | Backend | Use Case | -|--------|-------------|---------|----------| +| --- | --- | --- | --- | | **Database** | `VDR_DATABASE_DRIVER_ENABLED=true` | Agent PostgreSQL database | Development and testing | | **In-memory** | `VDR_MEMORY_DRIVER_ENABLED=true` | Ephemeral memory | Testing only (data lost on restart) | | **NeoPrism** | `VDR_NEOPRISM_DRIVER_ENABLED=true` | NeoPRISM → Cardano blockchain | **Recommended for production** | diff --git a/docs/docusaurus/webhooks/webhook.md b/docs/docusaurus/webhooks/webhook.md index feedc880d9..75901e37da 100644 --- a/docs/docusaurus/webhooks/webhook.md +++ b/docs/docusaurus/webhooks/webhook.md @@ -320,4 +320,4 @@ benefits of this feature. Start integrating webhook notifications into your Cloud Agent workflow and unlock the power of real-time event updates! If you have any further questions or need assistance, don't hesitate to reach out to the Identus support team or -refer to the official documentation for more details. \ No newline at end of file +refer to the official documentation for more details. diff --git a/docs/general/authserver-oid4vci-contract.md b/docs/general/authserver-oid4vci-contract.md index 3260389333..6e0bd1cd4d 100644 --- a/docs/general/authserver-oid4vci-contract.md +++ b/docs/general/authserver-oid4vci-contract.md @@ -37,7 +37,6 @@ sequenceDiagram CloudAgent ->>- Holder: CredentialResponse ``` - ### Authorization Endpoint 1. Authorization `scope` MUST be configured in the Authorization Server to the same value as in Credential Issuer Metadata @@ -57,6 +56,7 @@ Authorization: Bearer "issuerState": "" } ``` + Where `JWT_TOKEN` is a valid token issued by the __AuthorizationServer__. __NonceResponse__ @@ -69,4 +69,3 @@ __NonceResponse__ ``` 2. The [__TokenResponse__](https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-successful-token-response) must include `c_nonce` and `c_nonce_expires_in` parameter in the __TokenResponse__ - diff --git a/docs/general/key-derivation-benchmark.md b/docs/general/key-derivation-benchmark.md index f1897771f3..d43a0973bf 100644 --- a/docs/general/key-derivation-benchmark.md +++ b/docs/general/key-derivation-benchmark.md @@ -9,6 +9,7 @@ future decisions in managing the key material on the agent. ### Environment __System information__ + - Platform: Linux (6.3.7) - CPU: AMD Ryzen 7 PRO 6850U - Memory: 30856MiB @@ -16,6 +17,7 @@ __System information__ - SBT version: 1.8.0 __JVM options__ + - Xmx:4G The tests can be run by running the `org.hyperledger.identus.agent.walletapi.benchmark.KeyDerivation`. diff --git a/docs/guides/linting.md b/docs/guides/linting.md index 812ae396c3..82886b918e 100644 --- a/docs/guides/linting.md +++ b/docs/guides/linting.md @@ -13,7 +13,7 @@ The GitHub Action workflow file only impacts the configuration when it runs with Megalinter's behavior will differ when run locally as part of the pre-commit hook [or enacted manually] compared to when run in an automated way in Github Actions as part of CI. > **Note:** Linting is currently in an early adoption phase and due to the adoption of Scala 3, it only runs in a mode that does not fail PR checks. - +> > **Note:** At the end of this markdown document is a section for the changelog. Please leave feedback in this section so that we can enable and refine the linting configuration over time ### Base @@ -82,6 +82,7 @@ Insert suggestion / description of what it did well, what it didn't do well and ## Changelog #### YAMLLINT checker configuration file is added explicitly and rule line-length is set to 600 + Date Added: 2023-02-15 Author: Yurii Shynbuiev @@ -117,6 +118,7 @@ Linter - Suggested Change: Customise *Change detail* `BASH_SHELLCHECK_DISABLE_ERRORS: true` turns the error into the warning for the following cases: + ```bash In /github/workspace/infrastructure/dev/get-versions.sh line 6: cd ${SCRIPT_DIR} @@ -285,6 +287,7 @@ Linter - Suggested Change: Customise *Change detail* Add `.protolintrc.yml` used by `protolint` linter and configure it to disable the following rules + - `REPEATED_FIELD_NAMES_PLURALIZED` - `ENUM_FIELD_NAMES_PREFIX` - `ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH` diff --git a/docs/guides/signing-commits.md b/docs/guides/signing-commits.md index e8ee3335f5..0065cf89f4 100644 --- a/docs/guides/signing-commits.md +++ b/docs/guides/signing-commits.md @@ -1,72 +1,93 @@ # Setting up PGP -Every commit must be signed with a PGP key associated with your company email address, that is `firstname.lastname@iohk.io`. For IOHK employees it **must** be the same key you use to encrypt IOHK emails, it can not be your personal PGP key or any other one. +Every commit must be signed with a PGP key associated with your company email address, that is `firstname.lastname@iohk.io`. For IOHK employees it **must** be the same key you use to encrypt IOHK emails, it can not be your personal PGP key or any other one. ## Install gnupg ### Linux + ```bash sudo apt-get install gnupg ``` + ### Mac + ```bash brew install gnupg ``` + ### Windows + Download and install gnupg for windows from [GnuPG website](https://gnupg.org/download/index.html) ## Generating a key In case you've already generated your company PGP key pair before, you need to import a private key + ```bash gpg --import private.key ``` + If you have not generated your company PGP key pair yet + ```bash gpg --full-generate-key ``` + and follow the instructions, make sure to associate this key with your company email address. For key size, choose 4096 ## Using the key ### Local setup + Set up git to automatically sign every commit with your company PGP key, first get your GPG key id + ```bash gpg --list-keys ``` + will list all the keys you have available. copy the id of the key associated with your company email address. configure git to use this key to sign every commit automatically + ```bash git config user.signingkey && git config commit.gpgsign true # in case you prefer to use another tool for pgp, like gpg2, you need to specify it here, otherwise ignore it. git config gpg.program gpg2 ``` -Check the [Configuring Git](#Configuring-Git) section for simple ways to set this up and forget about it. + +Check the [Using the key](#using-the-key) section for simple ways to set this up and forget about it. ### Remote setup You need to add the public key to Github, so that it can verify commits signed by the associated private key. export your public key + ```bash gpg --armor --export firstname.lastname@iohk.io ``` + This will output the key into your terminal. Copy the whole key (including -----BEGIN PGP PUBLIC KEY BLOCK----- and -----END PGP PUBLIC KEY BLOCK----- part) and add it [into your account](https://github.com/settings/keys) *NOTE:* Make sure to add your company email address into [your github account emails](https://github.com/settings/emails) and confirm it. Github will allow you to add public keys associated with any email, but if this email is not added into your emails, it assumes that you are not the owner of this email address, and even if commits are signed with a proper private key, they will not be verified. ### Troubleshooting + in case commiting a change fails with the message + ```bash error: gpg failed to sign the data fatal: failed to write commit object ``` + try the following + ```bash gpgconf --kill gpg-agent export GPG_TTY=$(tty) echo "test" | gpg --clearsign ``` -if this problem keeps happening, try adding `export GPG_TTY=$(tty)` into your `~/.bashrc` or `~/.zshrc` file. \ No newline at end of file + +if this problem keeps happening, try adding `export GPG_TTY=$(tty)` into your `~/.bashrc` or `~/.zshrc` file. diff --git a/docs/node/vdr-driver.md b/docs/node/vdr-driver.md index 0b32604e40..1f4508f72b 100644 --- a/docs/node/vdr-driver.md +++ b/docs/node/vdr-driver.md @@ -3,12 +3,14 @@ This note captures how the PRISM node implements the VDR storage driver after the recent fixes. ## Entry identifiers and versions + - **entry_id** is the immutable identifier returned when a VDR entry is first created. - Each mutation (update / deactivate) produces a new **entry_hash**. The head table keeps the latest hash for a given `entry_id`. - Clients must use the original `entry_id` in URLs; the node resolves it to the latest hash before applying a new operation. - VDR operations are rejected when the owning DID is deactivated. This guard currently runs in the prism-node signer; extend the same check to other VDR drivers as they become DID-aware. ## Operation rules + 1. **Create** - Stores entry and inserts a head record with state `ACTIVE` and the creation hash. 2. **Update** @@ -20,32 +22,39 @@ This note captures how the PRISM node implements the VDR storage driver after th - Stores a deactivate event and marks the head `DEACTIVATED`. ## Resolution + - `ResolveEntry` returns the latest **entry_hash** data for an `entry_id`. - If the head is `DEACTIVATED`, the node returns `FAILED_PRECONDITION` (`vdr-entry-deactivated`) so API layers can translate this to HTTP 404. ## Error signalling + - **Stale hash** during update/deactivate ⇒ `INVALID_ARGUMENT` with message about previous hash mismatch. - **Deactivated entry** ⇒ `FAILED_PRECONDITION` (domain error: entry deactivated). - **Unknown entry_id** ⇒ `UNKNOWN` (unknown-value) today; consider mapping to NOT_FOUND in API layers. ## Logging + - VDR operations log at INFO with: entry_id, op type, previous hash, new hash, and resulting state. This replaces ad‑hoc `println`. ## Testing expectations + - Unit tests cover head updates on create/update/deactivate. - E2E tests assert that after deactivation the HTTP layer returns 404 while gRPC returns FAILED_PRECONDITION. ## Client guidance + - Always keep the original `entry_id` (URL) returned from the first create. - For mutations, fetch the latest head/hash first, then sign the operation with that hash. - Treat FAILED_PRECONDITION as “entry was deactivated”; do not retry with the same hash. ## VDR key type (cloud-agent) + - A new internal VDR key type is used for signing VDR operations. - Validation rules now reject unsupported combinations (e.g., SECp256k1 used for key agreement, non‑VDR internal purposes). - Templates that add VDR internal keys must use the dedicated `InternalKeyPurpose.VDR`; other purposes are rejected. ## Runtime parameters + - Prism-node image is parameterised: `PRISM_NODE_VERSION` (defaults to `edge` in e2e). Override to a released tag for stability. - Prism-node endpoint is configured with `PRISM_NODE_HOST` / `PRISM_NODE_PORT` (`VDR_PRISM_NODE_*` is deprecated). - Docker API requirement: e2e and CI set `DOCKER_API_VERSION=1.44` to satisfy the GitHub-hosted Docker daemon. Set this env when running tests locally if you hit client/daemon version errors. diff --git a/docs/research/cloud-agent-modular-architecture-refactor.md b/docs/research/cloud-agent-modular-architecture-refactor.md new file mode 100644 index 0000000000..6ee1cd71cc --- /dev/null +++ b/docs/research/cloud-agent-modular-architecture-refactor.md @@ -0,0 +1,385 @@ +# Cloud Agent Modular Architecture Refactor Blueprint + +## Status + +- Proposal +- Scope: `hyperledger-identus/cloud-agent` +- Primary goals: + - Reduce compile-time and runtime coupling. + - Move from code-name-centric modules (`mercury`, `pollux`, `castor`, etc.) to domain language. + - Make module boundaries explicit, testable, and evolvable. + +## 1. Problem Statement + +The current codebase has strong functional value but architecture is harder to evolve than it should be: + +- Some core modules depend on many other domains directly (especially around credential and DIDComm orchestration). +- Domain language in module names is inconsistent (`pollux`, `mercury`, `castor`, `connect`, etc.), which makes onboarding and ownership mapping harder. +- `shared/*` has grown into a broad dependency surface, increasing accidental coupling. +- The server composition layer is still a central coupling hotspot. + +## 2. Design Principles + +1. `Domain-first naming` + +- Module and package names should describe business capabilities, not codenames. + +1. `Ports and adapters at context boundaries` + +- Each bounded context exposes a small API (ports) and keeps infra-specific logic in adapters. + +1. `Compile-time dependency direction` + +- High-level policy depends on abstractions, adapters depend on context APIs. + +1. `Incremental migration` + +- Preserve compatibility while introducing aliases and moving one context at a time. + +1. `Test strategy aligned with boundaries` + +- Unit tests for context logic. +- Contract tests for cross-context interactions. +- A thin set of integration tests for composed runtime behavior. + +## 3. Naming Strategy (Codename -> Domain) + +The goal is not to break everything at once; it is to converge naming in phases. + +| Current Name | Proposed Domain Name | Rationale | +| --- | --- | --- | +| `mercury` | `didcomm` | Contains DIDComm protocols, agent/resolver behavior. | +| `pollux` | `credentials` | Contains credential issuance/presentation/JWT/AnonCreds concerns. | +| `castor` | `did` (or `did-registry`) | Owns DID lifecycle and DID-related registry operations. | +| `connect` | `connections` | Focused on connection/session workflows. | +| `event-notification` | `notifications` | Outbound events/webhooks. | +| `cloud-agent/service/wallet-api` | `wallet-management` | Wallet-facing identity/key operations. | +| `cloud-agent/service/server` | `api-server` | Runtime composition and HTTP API hosting. | +| `apollo` (external codename in imports) | `crypto` (first-level module) | Keep `apollo` as an external dependency, but expose domain-facing ports/facades behind an internal `crypto` module. | + +### Migration policy for names + +- Keep old sbt project IDs temporarily for compatibility if needed. +- Introduce new directory/package naming and aliases. +- Add deprecation notices in old package paths. +- Remove old names only after one full release cycle (or when major version policy allows). + +## 4. Target Bounded Contexts + +Proposed bounded contexts: + +- `didcomm` +- `credentials` +- `did` +- `wallet-management` +- `connections` +- `vdr` +- `notifications` +- `crypto` (facade over `apollo`; key ops, signing, verification) +- `iam-authz` +- `api-server` (composition + transport only) +- `core` (small, stable primitives only — ids, errors, JSON, testkit) + +## 5. Architecture Diagrams + +### 5.1 Current high-level coupling (simplified) + +```mermaid +graph TD + Server[cloud-agent/service/server] + Wallet[wallet-api] + Pollux[pollux/*] + Mercury[mercury/*] + Castor[castor] + Connect[connect/*] + VDR[vdr/* + cloud-agent/service/vdr] + Events[event-notification] + Shared[shared/*] + + Server --> Wallet + Server --> Pollux + Server --> Mercury + Server --> Castor + Server --> Connect + Server --> VDR + Server --> Events + Pollux --> Wallet + Pollux --> Mercury + Pollux --> Castor + Pollux --> Events + Connect --> Events + Wallet --> Castor + Wallet --> Mercury + Wallet --> Events + VDR --> Shared + Pollux --> Shared + Mercury --> Shared + Castor --> Shared + Connect --> Shared + Wallet --> Shared + Server --> Shared +``` + +### 5.2 Target architecture (ports/adapters) + +```mermaid +graph LR + subgraph API["api-server (HTTP/gRPC composition)"] + APICtrl[Controllers / Routes] + end + + subgraph Domains["Bounded Context APIs"] + DID[did-api] + DIDComm[didcomm-api] + Cred[credentials-api] + Conn[connections-api] + VDR[vdr-api] + Wallet[wallet-management-api] + Notif[notifications-api] + end + + subgraph Adapters["Infrastructure Adapters"] + PrismNode[prism-node adapter] + DB[(postgres/doobie adapters)] + Vault[vault adapter] + Keycloak[keycloak adapter] + Webhooks[webhook adapter] + end + + APICtrl --> DID + APICtrl --> DIDComm + APICtrl --> Cred + APICtrl --> Conn + APICtrl --> VDR + APICtrl --> Wallet + APICtrl --> Notif + + DID --> DB + Wallet --> Vault + Wallet --> Keycloak + VDR --> PrismNode + Notif --> Webhooks +``` + +### 5.3 Enforced dependency direction + +```mermaid +graph TD + App[Application Services] + Domain[Domain Model + Domain Services] + Ports[Ports/Interfaces] + Adapters[Adapters/Infra] + + App --> Domain + App --> Ports + Adapters --> Ports + Domain --> Ports +``` + +Rule: + +- `Domain` must not import adapter implementations. +- `Application` orchestrates via ports only. + +## 6. Proposed Module Layout + +Target layout (logical): + +```text +modules/ + core/ + primitives + json + testkit + + crypto/ + api + apollo-adapter + + did/ + api + domain + persistence-doobie + prism-node-adapter + + didcomm/ + api + protocols + agent + resolver + + credentials/ + api + domain + jwt + sd-jwt + anoncreds + persistence-doobie + + connections/ + api + domain + persistence-doobie + + vdr/ + api + core + memory-adapter + database-adapter + prism-node-adapter + blockfrost-adapter + http + + notifications/ + api + domain + webhook-adapter + + wallet-management/ + api + domain + iam-keycloak-adapter + secrets-vault-adapter + + api-server/ + bootstrap + http +``` + +Note: this can be implemented with existing top-level directories first; physical relocation can follow once boundaries are stable. + +## 7. Coupling Reduction Tactics + +1. `Introduce context APIs` + +- For each context, define a thin `*-api` module with service contracts and DTOs. +- Replace direct domain-to-domain concrete dependencies with API dependencies. + +1. `Split orchestration from domain` + +- Keep business invariants in domain modules. +- Move workflow composition to application services. + +1. `Keep core minimal` + +- Only keep stable primitives in `core` (ids, errors, serialization helpers that are truly generic). +- Move domain-specific helpers out of `core` into their owning context. +- `crypto` is a first-level context, not a `core` sub-module — it owns the `apollo` facade and all key/signing abstractions. + +1. `Isolate external systems` + +- Prism Node, Blockfrost, Keycloak, Vault, DBs behind adapters. +- Keep anti-corruption mapping at adapter edge. + +1. `Add architectural fitness checks` + +- Automated checks to prevent forbidden module imports. +- Build fails when dependency direction is violated. + +## 8. Migration Plan (Phased) + +### Phase 0: Baseline and guardrails + +- Deliverables: + - Current dependency graph snapshot. + - Architectural constraints document. + - CI check for forbidden cross-context dependencies (initially report-only). + +### Phase 1: Naming alignment scaffolding + +- Deliverables: + - Domain glossary. + - New module aliases (`didcomm`, `credentials`, `did`, `connections`) mapped to existing modules. + - Deprecation annotations for codename-facing entry points where feasible. + +### Phase 2: API extraction per context + +- Deliverables: + - `did-api`, `credentials-api`, `didcomm-api`, `connections-api`, `wallet-management-api`, `notifications-api`. + - Existing modules switch to API imports where cross-context interaction exists. + +### Phase 3: Adapter separation + +- Deliverables: + - Explicit adapter modules for `prism-node`, `blockfrost`, `keycloak`, `vault`, `doobie`. + - Domain modules no longer import external client libraries directly. + +### Phase 4: Server slimming + +- Deliverables: + - `api-server` only composes context APIs and adapters. + - Remove business logic leakage from controllers/modules wiring. + +### Phase 5: Package move and codename retirement + +- Deliverables: + - Directory/package migration from codenames to domain names. + - Backward compatibility shims removed (major/minor release policy dependent). + +### Phase 6: Optimization and hardening + +- Deliverables: + - Build parallelism and test matrix tuned per context. + - Ownership map + CODEOWNERS aligned to contexts. + +## 9. Suggested Timeline + +```mermaid +gantt + title Cloud Agent modularization roadmap + dateFormat YYYY-MM-DD + section Foundations + Baseline + rules :a1, 2026-03-01, 14d + Naming scaffolding :a2, after a1, 21d + section Decoupling + API extraction :b1, after a2, 35d + Adapter separation :b2, after b1, 35d + section Runtime + Server slimming :c1, after b2, 28d + section Finalization + Codename retirement :d1, after c1, 28d + Hardening and optimization :d2, after d1, 21d +``` + +## 10. Risks and Mitigations + +| Risk | Impact | Mitigation | +| --- | --- | --- | +| Boundary extraction introduces behavior regressions | High | Contract tests between old/new paths, gradual cutover flags | +| Over-fragmentation into too many tiny modules | Medium | Start with logical boundaries, merge where low value | +| Naming migration churn for contributors | Medium | Alias period + clear migration guides | +| CI time increase during transition | Medium | Per-context test jobs + targeted test selection | +| Hidden runtime coupling discovered late | High | Add integration smoke tests for critical flows per phase | + +## 11. Success Metrics + +- `Dependency`: + - 40% reduction in cross-context compile dependencies (baseline from Phase 0). + - Zero forbidden imports after rule enforcement. + +- `Delivery`: + - Faster targeted builds/tests (`sbt project/ test`) with predictable ownership. + +- `Code health`: + - Fewer architectural code smells in PR reviews. + - Lower duplication and lower incidental complexity around server composition. + +## 12. First Iteration Backlog (Recommended) + +1. Create architecture glossary and publish it in `docs/research`. +2. Introduce API modules for `did`, `credentials`, `didcomm`, `connections`. +3. Add CI architectural check (report mode) for forbidden dependencies. +4. Extract remaining external integrations behind adapters where missing. +5. Move server wiring to use only context APIs. + +## 13. Naming Glossary (for contributors) + +- `did`: DID lifecycle, resolution, state transitions. +- `didcomm`: DIDComm protocol messages, state machines, transport-level interaction. +- `credentials`: issuance, verification, revocation, presentation. +- `connections`: peer relationships and protocol-level connection state. +- `wallet-management`: managed DID/key/tenant and IAM integration. +- `vdr`: verifiable data registry operations and driver integrations. +- `notifications`: webhook/event delivery abstractions and adapters. +- `crypto`: cryptographic operations (key generation, signing, verification) — facade over `apollo`. +- `core`: stable cross-cutting primitives (identifiers, error types, JSON utilities, testkit helpers). diff --git a/docs/research/vdr-modularization.md b/docs/research/vdr-modularization.md index 9e874bb8c3..f618c0c453 100644 --- a/docs/research/vdr-modularization.md +++ b/docs/research/vdr-modularization.md @@ -1,9 +1,11 @@ # VDR modularization plan (cloud-agent) ## Goal + Decouple VDR functionality into focused modules that can be reused by prism-node, neoprism, and future backends while keeping CI/build times manageable. ## Phase 1 (foundation) + - Add `vdr-core` subproject with shared types: - `VdrService`, `VdrServiceError`, `VdrOperationSigner` - `PrismVdrLogic` helpers @@ -12,6 +14,7 @@ Decouple VDR functionality into focused modules that can be reused by prism-node - Keep existing backends in place; only move shared files. ## Phase 2 (backends) + - Create `vdr-memory` for `InMemoryDriver`. - Create `vdr-database` for `DatabaseDriver` (Postgres/Testcontainers ITs). - Create `vdr-prism-node` for gRPC backend (uses `PrismVdrLogic`). @@ -19,15 +22,18 @@ Decouple VDR functionality into focused modules that can be reused by prism-node - Update `cloud-agent-vdr` assembly to select backend(s) via config. ## Phase 3 (HTTP surface) + - Extract VDR HTTP controller/routes into `vdr-http`. - Route tests stubbed against `vdr-core` services; optional ITs with selected backend. ## Phase 4 (cleanup/CI) + - Move remaining VDR sources into appropriate modules. - Tag heavy Testcontainers suites; keep unit tests fast. - Ensure coverage aggregate spans all VDR modules. ## Notes / constraints + - Keep dependency graph acyclic: backends depend on `vdr-core`; `vdr-http` depends on `vdr-core` + chosen backends. - Avoid leaking generated protobufs into coverage (already excluded). - Keep existing configs working during migration; only flip wiring after each phase passes tests. diff --git a/infrastructure/dev/README.md b/infrastructure/dev/README.md index f2e304cc30..201cde8474 100644 --- a/infrastructure/dev/README.md +++ b/infrastructure/dev/README.md @@ -2,13 +2,13 @@ This folder contains scripts and a docker-compose file to run the Atala `building-block` stack for development purposes. -All components are built at the current repository version and published locally. +All components are built at the current repository version and published locally. -> If you want to run a local instance without compilation - for end-user use - please see the `infrastructure/local` folder. +> If you want to run a local instance without compilation - for end-user use - please see the `infrastructure/local` folder. **Running using the scripts in this directory does not create a production-ready or secure environment. It is designed to allow easy development and should not be used to run a production instance** -Please ensure you have set the `GITHUB_TOKEN` environment variable. +Please ensure you have set the `GITHUB_TOKEN` environment variable. The value of this variable must be a Github token generated with the `read:packages` permission set on the `building-block` repository. @@ -44,7 +44,7 @@ Example - Run an instance named `inviter` on port 8080 and an instance named `in > These examples show running in `background mode` using the `-b` flag. This means that docker-compose is passed the `daemon -d` flag. > If you wish to run them in the foreground to view logs - please make sure each line is executed in a different terminal and the `-b` flag is removed. -> After running in either mode (foreground or background) - you can remove the local state of volumes by using the `stop.sh` script with the `-d` argument. +> After running in either mode (foreground or background) - you can remove the local state of volumes by using the `stop.sh` script with the `-d` argument. Starting the instances: diff --git a/infrastructure/dev/get-versions.sh b/infrastructure/dev/get-versions.sh index b301a00281..048adad40f 100755 --- a/infrastructure/dev/get-versions.sh +++ b/infrastructure/dev/get-versions.sh @@ -3,9 +3,10 @@ SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) # Set working directory -cd ${SCRIPT_DIR} +cd "${SCRIPT_DIR}" || exit -export AGENT_VERSION=$(cd ../../ && sbt "project agent" -Dsbt.supershell=false -error "print version") +AGENT_VERSION=$(cd ../../ && sbt "project agent" -Dsbt.supershell=false -error "print version") +export AGENT_VERSION echo "prism-agent server version: ${AGENT_VERSION}" export PRISM_NODE_VERSION=v2.1.1 diff --git a/infrastructure/local/README.md b/infrastructure/local/README.md index 3998e45156..f6c8717efd 100644 --- a/infrastructure/local/README.md +++ b/infrastructure/local/README.md @@ -4,11 +4,11 @@ This folder contains scripts to run the Atala `building-block` stack for end-use All images will be pulled from a remote repository and the `.env` file controls the versions of these images. -> If you want to run the `building-block` stack for development purposes - please see the `infrastructure/dev` folder. +> If you want to run the `building-block` stack for development purposes - please see the `infrastructure/dev` folder. **Running using the scripts in this directory does not create a production-ready or secure environment. It is designed to allow easy development and should not be used to run a production instance** - -Please ensure you have set the `GITHUB_TOKEN` environment variable. + +Please ensure you have set the `GITHUB_TOKEN` environment variable. The value of this variable must be a Github token generated with the `read:packages` permission set on the `building-block` repository. @@ -30,14 +30,14 @@ echo $GITHUB_TOKEN | docker login ghcr.io -u YOUR_USERNAME_HERE} --password-stdi To run the Atala `building-block` stack - execute the `run.sh` script. This can be run from within the directory or at the root of the source code project: -`./infrastructure/local/run.sh` +`./infrastructure/local/run.sh` ## Scripts -| Name | Purpose | Notes | -| ------ | ------------------------------------ | ------------------------------------------------------------------------ | +| Name | Purpose | Notes | +| --- | --- | --- | | run.sh | Run the Atala `building-block` stack | Runs using docker-compose and versions are controlled by the `.env` file. Can be used to run multiple instances with command line parameters [see below] | -| stop.sh | Stops a running instance | Used to stop a running instance if you've executed `run.sh` with the `-b/--background` option. Please note - you must supply the same `-n/--name` parameter to this script if you have used a non-default value in the `run.sh` script | +| stop.sh | Stops a running instance | Used to stop a running instance if you've executed `run.sh` with the `-b/--background` option. Please note - you must supply the same `-n/--name` parameter to this script if you have used a non-default value in the `run.sh` script | ## run.sh @@ -47,7 +47,7 @@ Example - Run an instance named `inviter` on port 8080 and an instance named `in > These examples show running in `background mode` using the `-b` flag. This means that docker-compose is passed the `daemon -d` flag. > If you wish to run them in the foreground to view logs - please make sure each line is executed in a different terminal and the `-b` flag is removed. -> After running in either mode (foreground or background) - you can remove the local state of volumes by using the `stop.sh` script with the `-d` argument. +> After running in either mode (foreground or background) - you can remove the local state of volumes by using the `stop.sh` script with the `-d` argument. Starting the instances: @@ -70,4 +70,4 @@ Specify the `-d` argument when stopping the instances to remove state: ``` ./stop.sh -n inviter -d ./stop.sh -n invitee -d -``` \ No newline at end of file +``` diff --git a/infrastructure/multi/README.md b/infrastructure/multi/README.md index c1987b346a..9b4feb65ab 100644 --- a/infrastructure/multi/README.md +++ b/infrastructure/multi/README.md @@ -14,12 +14,12 @@ The scripts depend on the implementation in the `../local` folder All images will be pulled from a remote repository and the `.env` file controls the versions of these images. -> If you want to run the `building-block` stack for development purposes - please see the `infrastructure/dev` folder. +> If you want to run the `building-block` stack for development purposes - please see the `infrastructure/dev` folder. > If you want to run multiple instances of the `building-block` stack and control the names and ports - please see the `infrastructure/local` folder. **Running using the scripts in this directory does not create a production-ready or secure environment. It is designed to allow easy development and should not be used to run a production instance** - -Please ensure you have set the `GITHUB_TOKEN` environment variable. + +Please ensure you have set the `GITHUB_TOKEN` environment variable. The value of this variable must be a Github token generated with the `read:packages` permission set on the `building-block` repository. @@ -41,13 +41,13 @@ echo $GITHUB_TOKEN | docker login ghcr.io -u YOUR_USERNAME_HERE} --password-stdi To run the Atala `building-block` stack - execute the `run.sh` script. This can be run from within the directory or at the root of the source code project: -`./infrastructure/multi/run.sh` +`./infrastructure/multi/run.sh` > This script always executes in background mode - you can remove the local state of volumes by using the `stop.sh` script with the `-d` argument. ## Scripts -| Name | Purpose | Notes | -| ------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| run.sh | Run the multiple instances of the `building-block` stack | Runs using docker-compose and versions are controlled by the `.env` file. | -| stop.sh | Stops a running instance | Used to stop a running instance if you've executed `run.sh` with the `-b/--background` option. | +| Name | Purpose | Notes | +| --- | --- | --- | +| run.sh | Run the multiple instances of the `building-block` stack | Runs using docker-compose and versions are controlled by the `.env` file. | +| stop.sh | Stops a running instance | Used to stop a running instance if you've executed `run.sh` with the `-b/--background` option. | diff --git a/infrastructure/multi/stop.sh b/infrastructure/multi/stop.sh index a3d9199cf2..bada04c657 100755 --- a/infrastructure/multi/stop.sh +++ b/infrastructure/multi/stop.sh @@ -60,7 +60,7 @@ then fi # set a default port as required to ensure docker-compose is valid if not set in env -PORT="80" +export PORT="80" echo "NAME = ${NAME}" diff --git a/infrastructure/shared/apisix/conf/config.yaml b/infrastructure/shared/apisix/conf/config.yaml index f36f548acc..7385594d84 100644 --- a/infrastructure/shared/apisix/conf/config.yaml +++ b/infrastructure/shared/apisix/conf/config.yaml @@ -24,4 +24,4 @@ apisix: deployment: role: data_plane role_data_plane: - config_provider: yaml \ No newline at end of file + config_provider: yaml diff --git a/infrastructure/shared/keycloak/init-script.sh b/infrastructure/shared/keycloak/init-script.sh index a952bac0e4..b765f1f6fc 100755 --- a/infrastructure/shared/keycloak/init-script.sh +++ b/infrastructure/shared/keycloak/init-script.sh @@ -10,7 +10,8 @@ REALM_NAME=$REALM_NAME PRISM_AGENT_CLIENT_SECRET=$PRISM_AGENT_CLIENT_SECRET function get_admin_token() { - local response=$( + local response + response=$( curl --request POST "$KEYCLOAK_BASE_URL/realms/master/protocol/openid-connect/token" \ --fail -s \ -d "grant_type=password" \ @@ -18,7 +19,8 @@ function get_admin_token() { -d "username=$KEYCLOAK_ADMIN_USER" \ -d "password=$KEYCLOAK_ADMIN_PASSWORD" ) - local access_token=$(echo $response | jq -r '.access_token') + local access_token + access_token=$(echo "$response" | jq -r '.access_token') echo $access_token } diff --git a/logging.md b/logging.md index 89e43f7687..b072e2fbbd 100644 --- a/logging.md +++ b/logging.md @@ -1,6 +1,7 @@ # Logging We want traceability from HTTP calls. + - Each HTTP call needs to generate a call ID (preferable on the proxy). This ID must be should be pass to the scope of the ZIO application. So every log will mention this ID. This ID must also be returned to the user as a HTTP header. - In case of errors and problem reports those IDs can be use by the user to get support. @@ -8,11 +9,11 @@ Level 3 support can be provided to user during the logging retention policies. W ## Annotates -We have special annotations in the log so there is traceability between the different logs. +We have special annotations in the log so there is traceability between the different logs. Here is the list of annotations and their meaning that we currently have: - `request-id` - Is the HTTP header `X-Request-Id` from the caller. - - If this header is missing, it is create by the APISIX https://apisix.apache.org/docs/apisix/plugins/request-id/. See the configuration how to enable in the file [apisixroute.yaml](./infrastructure/charts/agent/templates/apisixroute.yaml) + - If this header is missing, it is create by the APISIX . See the configuration how to enable in the file [apisixroute.yaml](./infrastructure/charts/agent/templates/apisixroute.yaml) ## Code diff --git a/mercury/CHANGELOG.md b/mercury/CHANGELOG.md deleted file mode 100644 index a83f8bb48a..0000000000 --- a/mercury/CHANGELOG.md +++ /dev/null @@ -1,188 +0,0 @@ -# [mercury-v0.22.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.21.0...mercury-v0.22.0) (2023-03-22) - - -### Features - -* **mercury:** Added the resolver and update the nimbus libray to pre… ([#465](https://github.com/input-output-hk/atala-prism-building-blocks/issues/465)) ([67e3622](https://github.com/input-output-hk/atala-prism-building-blocks/commit/67e362212858b5a69e3c7cb0419449cc721f857f)) - -# [mercury-v0.21.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.20.0...mercury-v0.21.0) (2023-03-20) - - -### Features - -* **mercury:** Code cleanup removed the Presentation Attachment and added to the Pollux ([#365](https://github.com/input-output-hk/atala-prism-building-blocks/issues/365)) ([8f52b12](https://github.com/input-output-hk/atala-prism-building-blocks/commit/8f52b1214e7bee3b18693f25a657630d85eee26f)) - -# [mercury-v0.20.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.19.0...mercury-v0.20.0) (2023-02-24) - - -### Features - -* **mercury:** ReportProblem Protocol updated with test and updated t… ([#396](https://github.com/input-output-hk/atala-prism-building-blocks/issues/396)) ([403f4c2](https://github.com/input-output-hk/atala-prism-building-blocks/commit/403f4c2c51908972fef49dee5195e7f0004e46b5)) - -# [mercury-v0.19.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.18.0...mercury-v0.19.0) (2023-02-13) - - -### Features - -* **mercury:** Support for pleaseAck (needed for ATL-3222) ([#366](https://github.com/input-output-hk/atala-prism-building-blocks/issues/366)) ([a2d9c98](https://github.com/input-output-hk/atala-prism-building-blocks/commit/a2d9c9855390ea77a36943e86cfdec8a3adf0b57)) - -# [mercury-v0.18.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.17.0...mercury-v0.18.0) (2023-02-07) - - -### Features - -* **mercury:** ATL-3424 Expose HTTP status ([#351](https://github.com/input-output-hk/atala-prism-building-blocks/issues/351)) ([d87613c](https://github.com/input-output-hk/atala-prism-building-blocks/commit/d87613c7cb8c892964820e3346d44b3bf46114fd)) - -# [mercury-v0.17.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.16.0...mercury-v0.17.0) (2023-01-31) - - -### Features - -* **mercury:** Expose pthid on the connection protocol ([#333](https://github.com/input-output-hk/atala-prism-building-blocks/issues/333)) ([82eca31](https://github.com/input-output-hk/atala-prism-building-blocks/commit/82eca31f2dd29ab1ce96ae4948208883499d23c0)) - -# [mercury-v0.16.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.15.0...mercury-v0.16.0) (2023-01-26) - - -### Bug Fixes - -* **mercury:** Add compilation flags and fix code ([#302](https://github.com/input-output-hk/atala-prism-building-blocks/issues/302)) ([43014c5](https://github.com/input-output-hk/atala-prism-building-blocks/commit/43014c52b1671328956cd5913c2ebb4f6d206d89)) - - -### Features - -* **mercury:** Add extra method invitation2Connect ([#309](https://github.com/input-output-hk/atala-prism-building-blocks/issues/309)) ([ea3d819](https://github.com/input-output-hk/atala-prism-building-blocks/commit/ea3d81935cd0ccca032310021a89d0a9bc016d48)) -* **mercury:** Improve support for ForwardMessage in MessagingService ([#269](https://github.com/input-output-hk/atala-prism-building-blocks/issues/269)) ([4385440](https://github.com/input-output-hk/atala-prism-building-blocks/commit/4385440d4b202af97aad5f17f3327bad452b7930)) -* **mercury:** replace method buildBaseAttachment with buildBase64Attachment ([#278](https://github.com/input-output-hk/atala-prism-building-blocks/issues/278)) ([94c7895](https://github.com/input-output-hk/atala-prism-building-blocks/commit/94c7895a5630251aacbdcb0445e7d3da9b225d4c)) -* **mercury:** Split DidComm into DidAgent and DidOps ([#319](https://github.com/input-output-hk/atala-prism-building-blocks/issues/319)) ([e12ca22](https://github.com/input-output-hk/atala-prism-building-blocks/commit/e12ca22daaecb775894067f36f82d1ed0e3e6ea0)) - -# [mercury-v0.15.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.14.0...mercury-v0.15.0) (2022-12-19) - - -### Features - -* **mercury:** dumb release commit ([#270](https://github.com/input-output-hk/atala-prism-building-blocks/issues/270)) ([8a1e5c3](https://github.com/input-output-hk/atala-prism-building-blocks/commit/8a1e5c3d3e58a7e29c9c3f4692798270fd58a5ff)) - -# [mercury-v0.14.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.13.0...mercury-v0.14.0) (2022-12-19) - - -### Features - -* **mercury:** forward messaging to mediator ([#264](https://github.com/input-output-hk/atala-prism-building-blocks/issues/264)) ([1170e2f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/1170e2f093ec2a2f70a56eda22d3721c6063ddc4)) - -# [mercury-v0.13.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.12.0...mercury-v0.13.0) (2022-12-16) - - -### Features - -* **mercury:** Support a mediator in service uri field ([#263](https://github.com/input-output-hk/atala-prism-building-blocks/issues/263)) ([88ad415](https://github.com/input-output-hk/atala-prism-building-blocks/commit/88ad415a3770abb4a5f40ff6fe5e4e1ebf1ab996)) - -# [mercury-v0.12.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.11.0...mercury-v0.12.0) (2022-12-13) - - -### Features - -* **mercury:** Make Message class and protocol-connection more robust ([#235](https://github.com/input-output-hk/atala-prism-building-blocks/issues/235)) ([ca8a638](https://github.com/input-output-hk/atala-prism-building-blocks/commit/ca8a638ef1640045202b713727467a428ab18a2c)) -* **mercury:** New Messaging Service with support for forward messaging ([#244](https://github.com/input-output-hk/atala-prism-building-blocks/issues/244)) ([7f511e0](https://github.com/input-output-hk/atala-prism-building-blocks/commit/7f511e00980c24aa0ce8be25b8dedf9ecf524790)) -* **prism-agent:** Integrate Verification Flow - ATL-2117 ([#147](https://github.com/input-output-hk/atala-prism-building-blocks/issues/147)) ([cabda08](https://github.com/input-output-hk/atala-prism-building-blocks/commit/cabda08f215d911772440853ec153a22ac6adaad)) - -# [mercury-v0.11.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.10.1...mercury-v0.11.0) (2022-12-09) - - -### Features - -* **mercury:** Message field 'to' must be an Array ([#215](https://github.com/input-output-hk/atala-prism-building-blocks/issues/215)) ([d4e2c57](https://github.com/input-output-hk/atala-prism-building-blocks/commit/d4e2c57822c081f572fcde95fd1f2b7e2af7a946)) - -# [mercury-v0.10.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.10.0...mercury-v0.10.1) (2022-12-09) - - -### Bug Fixes - -* **mercury:** simple commit to increase the version of mercury library ([5ffb0cc](https://github.com/input-output-hk/atala-prism-building-blocks/commit/5ffb0cc9e7ca8e63feacc6e915ab026681a30f24)) - -# [mercury-v0.10.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.9.0...mercury-v0.10.0) (2022-12-06) - - -### Features - -* **mercury:** clean unwanted dependencies ([#206](https://github.com/input-output-hk/atala-prism-building-blocks/issues/206)) ([1749e9d](https://github.com/input-output-hk/atala-prism-building-blocks/commit/1749e9d3aa54a912a997fd4b5bcc131cc3d23bce)) - -# [mercury-v0.9.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.8.0...mercury-v0.9.0) (2022-12-05) - - -### Features - -* **mercury:** Update protocol-present-proof to v3 & add our extensions ([#192](https://github.com/input-output-hk/atala-prism-building-blocks/issues/192)) ([28b083a](https://github.com/input-output-hk/atala-prism-building-blocks/commit/28b083a73205413557b59e8756c6b33e354c3c39)) - -# [mercury-v0.8.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.7.0...mercury-v0.8.0) (2022-12-02) - - -### Features - -* **mercury:** New DidValidator ([#180](https://github.com/input-output-hk/atala-prism-building-blocks/issues/180)) ([e5d1810](https://github.com/input-output-hk/atala-prism-building-blocks/commit/e5d1810a157db7036490a0721404c7af0b825266)) -* **pollux:** minor changes related to connect implementation ([#171](https://github.com/input-output-hk/atala-prism-building-blocks/issues/171)) ([4573ef8](https://github.com/input-output-hk/atala-prism-building-blocks/commit/4573ef8122a9b0d2539f9e186a156982480a5d89)) - -# [mercury-v0.7.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.6.0...mercury-v0.7.0) (2022-11-21) - - -### Features - -* **mercury:** Add plugin sbt-scoverage ([#133](https://github.com/input-output-hk/atala-prism-building-blocks/issues/133)) ([fcaaeda](https://github.com/input-output-hk/atala-prism-building-blocks/commit/fcaaeda1f8b2b06ae0cc2cf964228686186f6a15)) -* **mercury:** ATL-2287 Connection Protocol ([#140](https://github.com/input-output-hk/atala-prism-building-blocks/issues/140)) ([402248b](https://github.com/input-output-hk/atala-prism-building-blocks/commit/402248b3b8553ab7869d70f54ca194510a676e6f)) -* **mercury:** Replace zhttp with zio-http ([#137](https://github.com/input-output-hk/atala-prism-building-blocks/issues/137)) ([be6afb3](https://github.com/input-output-hk/atala-prism-building-blocks/commit/be6afb3d8c4f00a1ee0a6429a35c5873302d1cb6)) - -# [mercury-v0.6.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.5.0...mercury-v0.6.0) (2022-11-16) - - -### Features - -* **mercury:** add utils methods on issue-credential-protocol ([#131](https://github.com/input-output-hk/atala-prism-building-blocks/issues/131)) ([5a3e2fd](https://github.com/input-output-hk/atala-prism-building-blocks/commit/5a3e2fd411b278f1672777a115233c1f9a408f02)) -* **mercury:** Simplify PeerDID ([#132](https://github.com/input-output-hk/atala-prism-building-blocks/issues/132)) ([6d377d8](https://github.com/input-output-hk/atala-prism-building-blocks/commit/6d377d8595c1cdf710625775c06453953a2189a7)) - -# [mercury-v0.5.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.4.0...mercury-v0.5.0) (2022-11-10) - - -### Features - -* **mercury:** [WIP] ATL-1741-Present-Proof-Protocol ([#98](https://github.com/input-output-hk/atala-prism-building-blocks/issues/98)) ([b37b762](https://github.com/input-output-hk/atala-prism-building-blocks/commit/b37b7627377d0e0d6ead496dc537cbf757c875ca)) -* **mercury:** Use present-proof protocol in AgentCli ([#112](https://github.com/input-output-hk/atala-prism-building-blocks/issues/112)) ([5546190](https://github.com/input-output-hk/atala-prism-building-blocks/commit/55461904f7939fb21cdc0aa17b3d4d179800dba6)) - -# [mercury-v0.4.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.3.0...mercury-v0.4.0) (2022-11-09) - - -### Features - -* **prism-agent; mercury; pollux:** Integrate Mercury into prism-agent ATL-2077; ATL-2076 ([#93](https://github.com/input-output-hk/atala-prism-building-blocks/issues/93)) ([db4b21a](https://github.com/input-output-hk/atala-prism-building-blocks/commit/db4b21ac1d6a2c48af502597779acb82f5e03ac0)) - -# [mercury-v0.3.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.2.0...mercury-v0.3.0) (2022-10-28) - - -### Features - -* **agent:** [ATL-2005] implement REST API for credential issuance ([#86](https://github.com/input-output-hk/atala-prism-building-blocks/issues/86)) ([7c1f50a](https://github.com/input-output-hk/atala-prism-building-blocks/commit/7c1f50ab99879beed74c5e0bd03aa51709051527)) -* **mercury:** AgentCLI for Issue Credential ATL-1740 ([#82](https://github.com/input-output-hk/atala-prism-building-blocks/issues/82)) ([c4068c6](https://github.com/input-output-hk/atala-prism-building-blocks/commit/c4068c62023ef817d80d81a56f90bb7bcb2e7fb3)) -* **mercury:** Fix project mercury-mediator ATL-2030 ([#84](https://github.com/input-output-hk/atala-prism-building-blocks/issues/84)) ([1450c30](https://github.com/input-output-hk/atala-prism-building-blocks/commit/1450c30f8f23ec87cd868dbf41e71213e0b4dfbe)) - -# [mercury-v0.2.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/mercury-v0.1.0...mercury-v0.2.0) (2022-10-25) - - -### Bug Fixes - -* **mercury:** use snapshot suffix for prerelease publishing ([#79](https://github.com/input-output-hk/atala-prism-building-blocks/issues/79)) ([a376e59](https://github.com/input-output-hk/atala-prism-building-blocks/commit/a376e59c157f9a27f06021eb5929d161fb28a813)) - - -### Features - -* **mercury:** Fix release ATL-2030 ([#78](https://github.com/input-output-hk/atala-prism-building-blocks/issues/78)) ([93f9e22](https://github.com/input-output-hk/atala-prism-building-blocks/commit/93f9e228529321a19ba6415304e0e2f460f3dddb)) -* **mercury:** Split Mercury projects ([#73](https://github.com/input-output-hk/atala-prism-building-blocks/issues/73)) ([e88ecd3](https://github.com/input-output-hk/atala-prism-building-blocks/commit/e88ecd3e22649e10f338037b0f3fc2e80a3acb68)) - -# mercury-v0.1.0 (2022-10-21) - -### Features - -* infra: [ATL-1889] create local deployment config (3f381cd (https://github.com/input-output-hk/atala-prism-building-blocks/commit/3f381cdcb7b8abe9082dc4d36a44e89e47b1d0af)) -* mercury: Coordinate Mediation Protocol (#33 (https://github.com/input-output-hk/atala-prism-building-blocks/issues/33)) (a3ee0d3 (https://github.com/input-output-hk/atala-prism-building-blocks/commit/a3ee0d341a921f39610071eb473d11ceaed0b0e0)) -* mercury: Expose open api-spec for mediator (#38 (https://github.com/input-output-hk/atala-prism-building-blocks/issues/38)) (fdad327 (https://github.com/input-output-hk/atala-prism-building-blocks/commit/fdad3275d3c2a8c70c43999f5dac78751db0bc70)) -* mercury: Mercury Mailbox Mediator Demo (#16 (https://github.com/input-output-hk/atala-prism-building-blocks/issues/16)) (27fc9dc (https://github.com/input-output-hk/atala-prism-building-blocks/commit/27fc9dc61c6494dec62b81314b544938fb7c52ca)) -* mercury: New CI workflow for mercury and fixes (#57 (https://github.com/input-output-hk/atala-prism-building-blocks/issues/57)) (43ad49a (https://github.com/input-output-hk/atala-prism-building-blocks/commit/43ad49a0c0188dc7db5300c1e32043db10e683e7)) -* mercury: New CLI Agent for mercury (#56 (https://github.com/input-output-hk/atala-prism-building-blocks/issues/56)) (5be9c2c (https://github.com/input-output-hk/atala-prism-building-blocks/commit/5be9c2cd0d672ab59f010a5879b745eca65fbf10)) -* mercury: Report Problem Protocol (#21 (https://github.com/input-output-hk/atala-prism-building-blocks/issues/21)) (f5a3711 (https://github.com/input-output-hk/atala-prism-building-blocks/commit/f5a3711da0de2ab2af50facb7e69680882920b6d)) diff --git a/mercury/protocol-connection/Connection-Protocol.md b/mercury/protocol-connection/Connection-Protocol.md index 5e87953d3b..9626409e67 100644 --- a/mercury/protocol-connection/Connection-Protocol.md +++ b/mercury/protocol-connection/Connection-Protocol.md @@ -1,16 +1,15 @@ # Connection Protocol -This Protocol is for DID base connection - +This Protocol is for DID base connection The protocol is used when you wish to create a connection with another agent. - ## PIURI Version 1.0: - - `https://atalaprism.io/mercury/connections/1.0/request` - - `https://atalaprism.io/mercury/connections/1.0/response` + +- `https://atalaprism.io/mercury/connections/1.0/request` +- `https://atalaprism.io/mercury/connections/1.0/response` ### Roles @@ -22,8 +21,6 @@ Version 1.0: ### Notes - - ### Inviter create invitation message for connection (Flow Diagram) ```mermaid diff --git a/mercury/protocol-did-exchange/DidExchange-Protocol.md b/mercury/protocol-did-exchange/DidExchange-Protocol.md index f3d04ef338..bed5596201 100644 --- a/mercury/protocol-did-exchange/DidExchange-Protocol.md +++ b/mercury/protocol-did-exchange/DidExchange-Protocol.md @@ -16,13 +16,12 @@ See [https://github.com/hyperledger/aries-rfcs/tree/main/features/0023-did-excha ### Roles - Requester(Is the receiver in out-of-band protocol) - - Will initiate the did-exchange + - Will initiate the did-exchange - Responder (Is the invitation sender in out-of-band protocol) - Will respond to did exchange - - ### Requester request did-exchange + step1-->step2-->step3 Is a happy path flow error - error received or sent and state transition @@ -42,11 +41,12 @@ stateDiagram-v2 completed --> [*] ``` - ### Responder responds to did-exchange + step1-->step2-->step3 Is a happy path flow error received or sent and state transition + ```mermaid stateDiagram-v2 [*] --> invitation_sent:out-of-band send Invitation diff --git a/mercury/protocol-issue-credential/Issue-Credential-Protocol.md b/mercury/protocol-issue-credential/Issue-Credential-Protocol.md index 4b31439ab4..42082af635 100644 --- a/mercury/protocol-issue-credential/Issue-Credential-Protocol.md +++ b/mercury/protocol-issue-credential/Issue-Credential-Protocol.md @@ -9,7 +9,8 @@ A standard protocol for issuing credentials. This is the basis of interoperabili - See [https://identity.foundation/didcomm-messaging/spec] - See [https://github.com/hyperledger/aries-rfcs/tree/main/features/0453-issue-credential-v2] -Others: +Others: + - See [https://didcomm.org/issue-credential/3.0] - See [https://github.com/decentralized-identity/waci-didcomm/tree/main/issue_credential] @@ -17,7 +18,6 @@ Others: Version 1.0: `https://didcomm.org/issue-credential/1.0/propose-credential` - ### Roles - Issuer diff --git a/mercury/protocol-present-proof/Present-Proof-Protocol.md b/mercury/protocol-present-proof/Present-Proof-Protocol.md index 0ae5333564..6b5374ac52 100644 --- a/mercury/protocol-present-proof/Present-Proof-Protocol.md +++ b/mercury/protocol-present-proof/Present-Proof-Protocol.md @@ -1,6 +1,7 @@ # Present Proof Protocol This Protocol is part of the **WACI-DIDComm Interop Profile v1.0** + - See [https://github.com/decentralized-identity/waci-didcomm/blob/main/present_proof/present-proof-v3.md] Its a Present Proof protocol based on DIDCOMMv2 message format. @@ -8,6 +9,7 @@ Its a Present Proof protocol based on DIDCOMMv2 message format. A protocol supporting a general purpose verifiable presentation exchange regardless of the specifics of the underlying verifiable presentation request and verifiable presentation format More Info: + - See [https://didcomm.org/present-proof/3.0/] - Its base on **DIDComm Messaging Specification** - [https://identity.foundation/didcomm-messaging/spec] - Its similar to **00454-present-proof-v2** - [Hyperledger present-proof-v2](https://github.com/hyperledger/aries-rfcs/tree/main/features/0454-present-proof-v2) also see @@ -16,6 +18,7 @@ More Info: ## PIURI Version 3.0: + - `https://didcomm.atalaprism.io/present-proof/3.0/propose-presentation` - `https://didcomm.atalaprism.io/present-proof/3.0/request-presentation` - `https://didcomm.atalaprism.io/present-proof/3.0/presentation` @@ -50,7 +53,6 @@ stateDiagram-v2 ### Verifier request presentation sent (Flow Diagram) - ```mermaid stateDiagram-v2 [*] --> request_sent: Send request presentation diff --git a/mercury/protocol-revocation-notification/Revocation-notification-protocol.md b/mercury/protocol-revocation-notification/Revocation-notification-protocol.md index 61ec9eea3d..a755e3b5a8 100644 --- a/mercury/protocol-revocation-notification/Revocation-notification-protocol.md +++ b/mercury/protocol-revocation-notification/Revocation-notification-protocol.md @@ -2,8 +2,6 @@ This Protocol for an Issuer to notify the revocation of a credential to the holder. - - ## PIURI Version 1.0: @@ -15,7 +13,6 @@ Version 1.0: - Holder - Will process the message as they see fit, protocol does not require any actions from the holder - ### Revocation notification DIDcomV2 message as JSON ```json diff --git a/pollux/CHANGELOG.md b/pollux/CHANGELOG.md deleted file mode 100644 index c3ad8980c4..0000000000 --- a/pollux/CHANGELOG.md +++ /dev/null @@ -1,388 +0,0 @@ -# [pollux-v0.43.3](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.43.2...pollux-v0.43.3) (2023-03-28) - - -### Bug Fixes - -* update pollux to use shared postgres container ([#485](https://github.com/input-output-hk/atala-prism-building-blocks/issues/485)) ([1dbaa15](https://github.com/input-output-hk/atala-prism-building-blocks/commit/1dbaa1515d9a5e9008b85d1f27a9d899a8cf7425)) - -# [pollux-v0.43.2](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.43.1...pollux-v0.43.2) (2023-03-23) - - -### Bug Fixes - -* **pollux:** upgrade castor version ([#472](https://github.com/input-output-hk/atala-prism-building-blocks/issues/472)) ([f269b7e](https://github.com/input-output-hk/atala-prism-building-blocks/commit/f269b7e21623d8e60bc7069b001addc29a09f7ac)) - -# [pollux-v0.43.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.43.0...pollux-v0.43.1) (2023-03-22) - - -### Bug Fixes - -* **pollux:** ATL-3900 Force use of Bouncycastle ([#463](https://github.com/input-output-hk/atala-prism-building-blocks/issues/463)) ([5b4aa5d](https://github.com/input-output-hk/atala-prism-building-blocks/commit/5b4aa5d2cd5afeded9efa2d43d924db8e9516670)) - -# [pollux-v0.43.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.42.1...pollux-v0.43.0) (2023-03-21) - - -### Features - -* **pollux:** Update the nimbus-jose-jwt library with a patch 10.0.0-preview ([#457](https://github.com/input-output-hk/atala-prism-building-blocks/issues/457)) ([8c0070f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/8c0070f1789e8f42c234eadeffba08e5f0b6e836)) - -# [pollux-v0.42.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.42.0...pollux-v0.42.1) (2023-03-21) - - -### Bug Fixes - -* update mercury to 0.21.0 ([8d42fb1](https://github.com/input-output-hk/atala-prism-building-blocks/commit/8d42fb18206c9e599a4ab77f3c4a5162da03ba35)) - -# [pollux-v0.42.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.41.0...pollux-v0.42.0) (2023-03-16) - - -### Features - -* **pollux:** update credential schema logic ([#450](https://github.com/input-output-hk/atala-prism-building-blocks/issues/450)) ATL-3164 ([6e22bfc](https://github.com/input-output-hk/atala-prism-building-blocks/commit/6e22bfcd582b4e33611a91d9ce1339a222778d25)), closes [#2](https://github.com/input-output-hk/atala-prism-building-blocks/issues/2) - -# [pollux-v0.41.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.40.0...pollux-v0.41.0) (2023-03-15) - - -### Features - -* **pollux:** Add ignoreWithZeroRetries filter to SQL queries ([#445](https://github.com/input-output-hk/atala-prism-building-blocks/issues/445)) ([d477c68](https://github.com/input-output-hk/atala-prism-building-blocks/commit/d477c683944a30125a1caa6b5f66caa156e7f70a)) - -# [pollux-v0.40.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.39.0...pollux-v0.40.0) (2023-03-10) - - -### Features - -* **pollux:** move subjectId field from issuer side to holder side ([#434](https://github.com/input-output-hk/atala-prism-building-blocks/issues/434)) ([434f1fd](https://github.com/input-output-hk/atala-prism-building-blocks/commit/434f1fd7616c5f538819b1a68f4bc5ed4eeb4b5d)) - -# [pollux-v0.39.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.38.0...pollux-v0.39.0) (2023-03-08) - - -### Features - -* **pollux:** Add method interface in PresentationService ([#427](https://github.com/input-output-hk/atala-prism-building-blocks/issues/427)) ([bbbc797](https://github.com/input-output-hk/atala-prism-building-blocks/commit/bbbc79709678a67210788b658c87b2bbb8599630)) - -# [pollux-v0.38.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.37.0...pollux-v0.38.0) (2023-03-07) - - -### Bug Fixes - -* **pollux:** fix 56f7aab7d3f58de51691271e1708edecc67b51b0 by exclude scala-java8-compat ([#423](https://github.com/input-output-hk/atala-prism-building-blocks/issues/423)) ([bc7e783](https://github.com/input-output-hk/atala-prism-building-blocks/commit/bc7e783c3e1499b6ab469178a2e524980d18d236)) - - -### Features - -* **pollux:** CredentialSchema DAL, model, service and repository [#2](https://github.com/input-output-hk/atala-prism-building-blocks/issues/2) ([#424](https://github.com/input-output-hk/atala-prism-building-blocks/issues/424)) ([79352f0](https://github.com/input-output-hk/atala-prism-building-blocks/commit/79352f02cdceed6d509848e97670e1d9cfaa3632)) - -# [pollux-v0.37.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.36.0...pollux-v0.37.0) (2023-03-07) - - -### Features - -* **pollux:** Add method in PresentationService need for ATL-3624 ([#422](https://github.com/input-output-hk/atala-prism-building-blocks/issues/422)) ([9a62057](https://github.com/input-output-hk/atala-prism-building-blocks/commit/9a620578a444bd4bebb851c2ef9c62e6293ce5c1)) - -# [pollux-v0.36.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.35.2...pollux-v0.36.0) (2023-03-07) - - -### Bug Fixes - -* add more heap size for unit tests ([#421](https://github.com/input-output-hk/atala-prism-building-blocks/issues/421)) ([1734533](https://github.com/input-output-hk/atala-prism-building-blocks/commit/1734533534f911090fff45adc79b15ff61ca4122)) - - -### Features - -* **pollux:** CredentialSchema service, repository and sql ([#416](https://github.com/input-output-hk/atala-prism-building-blocks/issues/416)) ([ffa5f7e](https://github.com/input-output-hk/atala-prism-building-blocks/commit/ffa5f7e0e4abc4d2193a4224fbe6c99d03fa7ea8)) - -# [pollux-v0.35.2](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.35.1...pollux-v0.35.2) (2023-03-03) - - -### Bug Fixes - -* **pollux:** Fix Instant encoder in JdbcPresentationRepository ([#418](https://github.com/input-output-hk/atala-prism-building-blocks/issues/418)) ([2ece2c6](https://github.com/input-output-hk/atala-prism-building-blocks/commit/2ece2c6881430c180fa9c1bad6cdd6085be2c453)) - -# [pollux-v0.35.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.35.0...pollux-v0.35.1) (2023-03-02) - - -### Bug Fixes - -* **pollux:** Fix column meta_next_retry ([#413](https://github.com/input-output-hk/atala-prism-building-blocks/issues/413)) ([c02aba8](https://github.com/input-output-hk/atala-prism-building-blocks/commit/c02aba87adbdbea4c30ac4c1c7f7e3a8fe0aa7c4)) - -# [pollux-v0.35.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.34.0...pollux-v0.35.0) (2023-03-02) - - -### Features - -* **pollux:** Added new state PresentationVerificationFailed ([#400](https://github.com/input-output-hk/atala-prism-building-blocks/issues/400)) ([94031f8](https://github.com/input-output-hk/atala-prism-building-blocks/commit/94031f880f00f61be2da2dd91f22fb92246b1609)) - -# [pollux-v0.34.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.33.0...pollux-v0.34.0) (2023-03-01) - - -### Features - -* **pollux:** Add meta fields to presentation table (for retries) ([#405](https://github.com/input-output-hk/atala-prism-building-blocks/issues/405)) ([37dee86](https://github.com/input-output-hk/atala-prism-building-blocks/commit/37dee8616349e2d5ae858475dd4951f064bbe9db)) -* **pollux:** Add retries field for ATL-3205 ([#380](https://github.com/input-output-hk/atala-prism-building-blocks/issues/380)) ([c7efde6](https://github.com/input-output-hk/atala-prism-building-blocks/commit/c7efde651c7b3e0260568290ab9dd58e2d955a70)) - -# [pollux-v0.33.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.32.0...pollux-v0.33.0) (2023-02-27) - - -### Features - -* **pollux:** Replace UUID with String - ATL-3555 ([#397](https://github.com/input-output-hk/atala-prism-building-blocks/issues/397)) ([cc11479](https://github.com/input-output-hk/atala-prism-building-blocks/commit/cc1147987e68cc87545854eb9da78b5217331dcc)) - -# [pollux-v0.32.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.31.0...pollux-v0.32.0) (2023-02-27) - - -### Features - -* **pollux:** Updated version for mercury ([#399](https://github.com/input-output-hk/atala-prism-building-blocks/issues/399)) ([faac0a7](https://github.com/input-output-hk/atala-prism-building-blocks/commit/faac0a718e07ab3ccfa814b875b9684855baff5c)) - -# [pollux-v0.31.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.30.0...pollux-v0.31.0) (2023-02-23) - - -### Features - -* **pollux:** Moving the check when accepting the credential to crea… ([#391](https://github.com/input-output-hk/atala-prism-building-blocks/issues/391)) ([2765845](https://github.com/input-output-hk/atala-prism-building-blocks/commit/2765845e4255e0ff5c087563d52cf6ac0d4bd3e9)) - -# [pollux-v0.30.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.29.0...pollux-v0.30.0) (2023-02-22) - - -### Features - -* **pollux:** Added the Issued credetinal check at the ApiEndpoint ([#387](https://github.com/input-output-hk/atala-prism-building-blocks/issues/387)) ([35704f4](https://github.com/input-output-hk/atala-prism-building-blocks/commit/35704f4bd364b9fcc25cf9049533716e2fcdc36e)) - -# [pollux-v0.29.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.28.1...pollux-v0.29.0) (2023-02-22) - - -### Features - -* **pollux:** upgrade castor vertion to 0.8.1 ([#388](https://github.com/input-output-hk/atala-prism-building-blocks/issues/388)) ([757b16b](https://github.com/input-output-hk/atala-prism-building-blocks/commit/757b16b7cf7f0fdc3f72345aad000d2b6664e744)) - -# [pollux-v0.28.1](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.28.0...pollux-v0.28.1) (2023-02-17) - - -### Performance Improvements - -* **pollux:** Improve CredentialService's API ATL-3225 ([#372](https://github.com/input-output-hk/atala-prism-building-blocks/issues/372)) ([ad5602d](https://github.com/input-output-hk/atala-prism-building-blocks/commit/ad5602dffd909b0d2a2e6652043720ac58f22193)) -* **pollux:** Update to Mercury 0.19.0 ([#355](https://github.com/input-output-hk/atala-prism-building-blocks/issues/355)) ([fb60ca8](https://github.com/input-output-hk/atala-prism-building-blocks/commit/fb60ca8dae120ee641c46e00f073bc868f95177e)) - -# [pollux-v0.28.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.27.0...pollux-v0.28.0) (2023-02-17) - - -### Features - -* **pollux:** check prover DID is the same as VC subject when creating a VP ([#377](https://github.com/input-output-hk/atala-prism-building-blocks/issues/377)) ([253f827](https://github.com/input-output-hk/atala-prism-building-blocks/commit/253f8271e557297a8438e5509542026aa518835f)) - -# [pollux-v0.27.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.26.0...pollux-v0.27.0) (2023-02-15) - - -### Features - -* **pollux:** support issuing VC to Prism DID subject by Prism DID issuer ([#371](https://github.com/input-output-hk/atala-prism-building-blocks/issues/371)) ([5a1acde](https://github.com/input-output-hk/atala-prism-building-blocks/commit/5a1acdecb5e25bdf39398511d6ed1219da83e62e)) - -# [pollux-v0.26.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.25.0...pollux-v0.26.0) (2023-02-13) - - -### Features - -* **pollux:** implement the DAL for CRUD on the verifiable policy entity. ATL-2478 ([#368](https://github.com/input-output-hk/atala-prism-building-blocks/issues/368)) ([b290a18](https://github.com/input-output-hk/atala-prism-building-blocks/commit/b290a18a2aef67cfded20062e111f85bad7ad248)) - -# [pollux-v0.25.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.24.0...pollux-v0.25.0) (2023-02-09) - - -### Features - -* **pollux:** Added New Erorr ([#363](https://github.com/input-output-hk/atala-prism-building-blocks/issues/363)) ([5349a0e](https://github.com/input-output-hk/atala-prism-building-blocks/commit/5349a0edf1c297a76aaf0a5e6ed6b8d97f13b16c)) - -# [pollux-v0.24.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.23.0...pollux-v0.24.0) (2023-02-07) - - -### Features - -* **pollux:** bump mercury version and fix queries ([#357](https://github.com/input-output-hk/atala-prism-building-blocks/issues/357)) ([28f779a](https://github.com/input-output-hk/atala-prism-building-blocks/commit/28f779a5a8bb24eb5ffd8fce0b5cd0a4e8387132)) - -# [pollux-v0.23.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.22.0...pollux-v0.23.0) (2023-02-07) - - -### Features - -* **pollux:** support issue/presentation records retrieval by states ([#350](https://github.com/input-output-hk/atala-prism-building-blocks/issues/350)) ([f810ee3](https://github.com/input-output-hk/atala-prism-building-blocks/commit/f810ee31a7e5a523efa193e9efaadc3f67b2783f)) - - -### Performance Improvements - -* **pollux:** Update to Mercury 0.17.0 ([#347](https://github.com/input-output-hk/atala-prism-building-blocks/issues/347)) ([8e90c5f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/8e90c5fe0ad25ac40c7e7df14ed952c1d68333bd)) - -# [pollux-v0.22.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.21.0...pollux-v0.22.0) (2023-02-03) - - -### Features - -* **pollux:** upgrade castor and update DID public key extraction logic ([#339](https://github.com/input-output-hk/atala-prism-building-blocks/issues/339)) ([00a6026](https://github.com/input-output-hk/atala-prism-building-blocks/commit/00a6026b10434bb3fa17c1d11b581316f5295237)) - -# [pollux-v0.21.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.20.0...pollux-v0.21.0) (2023-02-02) - - -### Features - -* **pollux:** get rid of 'drop(1)' and 'dropRight(1)' on credential attachment value ([#341](https://github.com/input-output-hk/atala-prism-building-blocks/issues/341)) ([b0a14d4](https://github.com/input-output-hk/atala-prism-building-blocks/commit/b0a14d459cd806353b73461194a847ec03551332)) - -# [pollux-v0.20.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.19.0...pollux-v0.20.0) (2023-02-01) - - -### Features - -* **pollux:** Dummy commit to make a release (2) ([#338](https://github.com/input-output-hk/atala-prism-building-blocks/issues/338)) ([4c7516c](https://github.com/input-output-hk/atala-prism-building-blocks/commit/4c7516c20c65906c3188f04ab1b7dc1dfd2e7822)) - -# [pollux-v0.19.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.18.0...pollux-v0.19.0) (2023-01-27) - - -### Features - -* **pollux:** upgrade castor to 0.7.0 ([#330](https://github.com/input-output-hk/atala-prism-building-blocks/issues/330)) ([de180a6](https://github.com/input-output-hk/atala-prism-building-blocks/commit/de180a6e7b939f6139618eb57003b1036bf300e0)) - -# [pollux-v0.18.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.17.0...pollux-v0.18.0) (2023-01-20) - - -### Features - -* **pollux:** upgrade castor to 0.6.0 ([#320](https://github.com/input-output-hk/atala-prism-building-blocks/issues/320)) ([c97624d](https://github.com/input-output-hk/atala-prism-building-blocks/commit/c97624d9b5542999db91bec96fcc8dff3177cca1)) -* **prism-agent:** implement DAL for the credential schema. ATL-1334 ([3d0c642](https://github.com/input-output-hk/atala-prism-building-blocks/commit/3d0c6426cc7fddbce41de16a1c85f4242e046c6a)) - -# [pollux-v0.17.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.16.0...pollux-v0.17.0) (2023-01-19) - - -### Features - -* **pollux:** fix the lookup count in the credential schema DAL ([#315](https://github.com/input-output-hk/atala-prism-building-blocks/issues/315)) ([e0831e8](https://github.com/input-output-hk/atala-prism-building-blocks/commit/e0831e884d4edee131d9e3999ab0edb5144a5d04)) - -# [pollux-v0.16.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.15.0...pollux-v0.16.0) (2023-01-16) - - -### Features - -* **pollux:** add dal for the credential schema ATL-1342 ([#298](https://github.com/input-output-hk/atala-prism-building-blocks/issues/298)) ([f43320f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/f43320fa4ad375551496f511fb68b37778c79a77)) - -# [pollux-v0.15.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.14.0...pollux-v0.15.0) (2023-01-06) - - -### Features - -* **pullux:** dummy commit for release ([#293](https://github.com/input-output-hk/atala-prism-building-blocks/issues/293)) ([859c29e](https://github.com/input-output-hk/atala-prism-building-blocks/commit/859c29ea968c79154fd007e91e7cbe30116c3c95)) - -# [pollux-v0.14.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.13.0...pollux-v0.14.0) (2022-12-20) - - -### Features - -* **pollux:** Added JWT verfication ([#280](https://github.com/input-output-hk/atala-prism-building-blocks/issues/280)) ([a87dc17](https://github.com/input-output-hk/atala-prism-building-blocks/commit/a87dc1718734fb4022afaaacaea13853bfff7ff8)) - -# [pollux-v0.13.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.12.0...pollux-v0.13.0) (2022-12-19) - - -### Features - -* **pollux:** bump mercury version ([#271](https://github.com/input-output-hk/atala-prism-building-blocks/issues/271)) ([a31f379](https://github.com/input-output-hk/atala-prism-building-blocks/commit/a31f379321bbf9dc43eb851365e880572cb29bde)) - -# [pollux-v0.12.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.11.0...pollux-v0.12.0) (2022-12-15) - - -### Features - -* **pollux:** [ATL-2706] Universal Verification Method ([#258](https://github.com/input-output-hk/atala-prism-building-blocks/issues/258)) ([d0c36f4](https://github.com/input-output-hk/atala-prism-building-blocks/commit/d0c36f44a2b5dff427aef54d745b3b4e19f3f766)) -* **pollux:** integrate castor resolver to pollux-jwt-vc library ([#250](https://github.com/input-output-hk/atala-prism-building-blocks/issues/250)) ([ea10db5](https://github.com/input-output-hk/atala-prism-building-blocks/commit/ea10db5f693758f8cbff5be839d691806f161158)) - -# [pollux-v0.11.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.10.0...pollux-v0.11.0) (2022-12-14) - - -### Features - -* **pollux:** [ATL-2733] Allow for dates in seconds for exp, iss and iat ([#249](https://github.com/input-output-hk/atala-prism-building-blocks/issues/249)) ([01af7c8](https://github.com/input-output-hk/atala-prism-building-blocks/commit/01af7c8bde32d95743957e564868d1f250f6ed3e)) -* **pollux:** use dedicated pairwise PeerDIDs instead of a global one ([#252](https://github.com/input-output-hk/atala-prism-building-blocks/issues/252)) ([38a9b95](https://github.com/input-output-hk/atala-prism-building-blocks/commit/38a9b95a254e53483c15d7ee381f82a1d7556a18)) - -# [pollux-v0.10.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.9.0...pollux-v0.10.0) (2022-12-13) - - -### Features - -* **pollux:** [ATL-2679] Improve Error Hanlding and Verification ([#239](https://github.com/input-output-hk/atala-prism-building-blocks/issues/239)) ([6348e13](https://github.com/input-output-hk/atala-prism-building-blocks/commit/6348e1339b1c8f8b6b1646c8730c526eac99cf4a)) -* **pollux:** updated the version for mercury ([#245](https://github.com/input-output-hk/atala-prism-building-blocks/issues/245)) ([a2af672](https://github.com/input-output-hk/atala-prism-building-blocks/commit/a2af6726264613247b008429e42c8470aa58c034)) - -# [pollux-v0.9.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.8.0...pollux-v0.9.0) (2022-12-12) - - -### Features - -* **pollux:** Added new state ([#234](https://github.com/input-output-hk/atala-prism-building-blocks/issues/234)) ([b704abc](https://github.com/input-output-hk/atala-prism-building-blocks/commit/b704abca020fc0d6f03f625aead2d206dba1818c)) - -# [pollux-v0.8.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.7.0...pollux-v0.8.0) (2022-12-09) - - -### Features - -* **pollux:** Added a new column to the table to store the issued credential ([cd416bf](https://github.com/input-output-hk/atala-prism-building-blocks/commit/cd416bf2ddbb0a7f24826316aa590747b33d2a38)) - -# [pollux-v0.7.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.6.0...pollux-v0.7.0) (2022-12-09) - - -### Bug Fixes - -* **pollux:** upgrade mercury lib to 1.10.1 ([ee27755](https://github.com/input-output-hk/atala-prism-building-blocks/commit/ee2775534f6207a6fed6332c938e6249d62168df)) - - -### Features - -* **pollux:** [ATL-2235] Verfiable Prensentation Adjustments ([#201](https://github.com/input-output-hk/atala-prism-building-blocks/issues/201)) ([42d23fb](https://github.com/input-output-hk/atala-prism-building-blocks/commit/42d23fbee6a778786f8f083a193e1a0603c68717)) -* **pollux:** [ATL-2639] JWT Presentation Temporal Verification ([#204](https://github.com/input-output-hk/atala-prism-building-blocks/issues/204)) ([4ff51b6](https://github.com/input-output-hk/atala-prism-building-blocks/commit/4ff51b65a8738086f4fa6599288ff0903509ac97)) -* **pollux:** [ATL-2640] JWT Presentation Signature Verification Using DidResolver ([#212](https://github.com/input-output-hk/atala-prism-building-blocks/issues/212)) ([258c6c0](https://github.com/input-output-hk/atala-prism-building-blocks/commit/258c6c0d6a1e2ed63947fbdaa688c928b099749d)) -* **pollux:** [ATL-2643] Verify All JWT Presentation Enclosed Credentials ([#221](https://github.com/input-output-hk/atala-prism-building-blocks/issues/221)) ([202f565](https://github.com/input-output-hk/atala-prism-building-blocks/commit/202f56558eafbab58e3bfa1e087eb6e58b7388f1)) -* **pollux:** Pollux part for the Verification Flow - ATL-2117 ([#202](https://github.com/input-output-hk/atala-prism-building-blocks/issues/202)) ([2c967f1](https://github.com/input-output-hk/atala-prism-building-blocks/commit/2c967f130eee455a0d596cc23e430da369b2e297)) -* **pollux:** remove issuanceDate to fix the main branch ([#207](https://github.com/input-output-hk/atala-prism-building-blocks/issues/207)) ([713e659](https://github.com/input-output-hk/atala-prism-building-blocks/commit/713e6595e9fbf12224b57c2fadd2c5c371a2ec67)) - -# [pollux-v0.6.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.5.0...pollux-v0.6.0) (2022-12-02) - - -### Features - -* **pollux:** validate the current record state on each protocol action received ([#193](https://github.com/input-output-hk/atala-prism-building-blocks/issues/193)) ([6fffde2](https://github.com/input-output-hk/atala-prism-building-blocks/commit/6fffde28bee50b130a0f1f8b5f4dae80ec488498)) - -# [pollux-v0.5.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.4.0...pollux-v0.5.0) (2022-11-28) - - -### Features - -* **pollux:** fix shared version to 0.2.0 ([4809414](https://github.com/input-output-hk/atala-prism-building-blocks/commit/48094148f26b79ed76a044cb65e6e4aaf00aebb1)) - -# [pollux-v0.4.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.3.0...pollux-v0.4.0) (2022-11-25) - - -### Features - -* **pollux:** minor changes related to connect implementation ([#171](https://github.com/input-output-hk/atala-prism-building-blocks/issues/171)) ([4573ef8](https://github.com/input-output-hk/atala-prism-building-blocks/commit/4573ef8122a9b0d2539f9e186a156982480a5d89)) -* **pollux:** Verify PresentProof Protocol ([#149](https://github.com/input-output-hk/atala-prism-building-blocks/issues/149)) ([7f0f412](https://github.com/input-output-hk/atala-prism-building-blocks/commit/7f0f412580b1111338015ac8bb16b525e946fed4)) - -# [pollux-v0.3.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.2.0...pollux-v0.3.0) (2022-11-21) - - -### Features - -* **pollux:** implement Issue Credential v2 Protocol ([#144](https://github.com/input-output-hk/atala-prism-building-blocks/issues/144)) ([a80702f](https://github.com/input-output-hk/atala-prism-building-blocks/commit/a80702f5b255d8079085a6ec27c87baa6a23ac59)), closes [#92](https://github.com/input-output-hk/atala-prism-building-blocks/issues/92) - -# [pollux-v0.2.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.1.0...pollux-v0.2.0) (2022-11-14) - - -### Features - -* **shared:** add Flyway Migrations and expose in ZIO Layer to be used in consuming service ([#115](https://github.com/input-output-hk/atala-prism-building-blocks/issues/115)) ([cd11493](https://github.com/input-output-hk/atala-prism-building-blocks/commit/cd11493aa01494f599fce369918d35edfcd2ce17)) - -# [pollux-v0.1.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.0.1...pollux-v0.1.0) (2022-11-11) - - -### Features - -* **prism-agent; mercury; pollux:** Integrate Mercury into prism-agent ATL-2077; ATL-2076 ([#93](https://github.com/input-output-hk/atala-prism-building-blocks/issues/93)) ([db4b21a](https://github.com/input-output-hk/atala-prism-building-blocks/commit/db4b21ac1d6a2c48af502597779acb82f5e03ac0)) - -# [pollux-v0.1.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/pollux-v0.0.1...pollux-v0.1.0) (2022-11-11) - - -### Features - -* **prism-agent; mercury; pollux:** Integrate Mercury into prism-agent ATL-2077; ATL-2076 ([#93](https://github.com/input-output-hk/atala-prism-building-blocks/issues/93)) ([db4b21a](https://github.com/input-output-hk/atala-prism-building-blocks/commit/db4b21ac1d6a2c48af502597779acb82f5e03ac0)) diff --git a/pollux/README.md b/pollux/README.md index 0b19e338fa..485cd6e9f4 100644 --- a/pollux/README.md +++ b/pollux/README.md @@ -8,4 +8,5 @@ For more information on the sbt-dotty plugin, see the [scala3-example-project](https://github.com/scala/scala3-example-project/blob/main/README.md). ### To publish lib locally + sbt publishLocal diff --git a/pollux/anoncreds/README_anoncreds.md b/pollux/anoncreds/README_anoncreds.md index 89d940d491..6af6cc7da7 100644 --- a/pollux/anoncreds/README_anoncreds.md +++ b/pollux/anoncreds/README_anoncreds.md @@ -5,14 +5,13 @@ The IOHK's anoncreds-rs repository is on [https://github.com/input-output-hk/ano See [anoncreds-rs repo](https://github.com/hyperledger/anoncreds-rs) & [ce-anoncreds-scala repo](https://github.com/input-output-hk/ce-anoncreds-scala). See [ATL-4524 - [POLUX] Analyse usage in Scala](https://input-output.atlassian.net/browse/ATL-4524?focusedCommentId=173837) -https://github.com/hyperledger/anoncreds-rs/releases/tag/v0.1.0-dev.15 + ## ANONCREDS uniffi lib description The file `anoncreds.udl` describes the warp interface generated with Uniffi. The file can be found in the IOHK's anoncreds-rs repository [https://github.com/input-output-hk/anoncreds-rs/blob/main/uniffi/src/anoncreds.udl](https://github.com/input-output-hk/anoncreds-rs/blob/main/uniffi/src/anoncreds.udl) - ## Build Jar lib Build the NATIVE anoncred lib from IOHK's fork of the anoncreds-rs [https://github.com/input-output-hk/anoncreds-rs](https://github.com/input-output-hk/anoncreds-rs) @@ -25,7 +24,7 @@ Run the script `build-release-linux.sh` in there Generate the Jar with `./gradlew jar` in the `output-frameworks/anoncreds-jvm` project -## Build the NATIVE lib +## Build the NATIVE lib Build the NATIVE anoncred lib from IOHK's fork of the anoncreds-rs [https://github.com/input-output-hk/anoncreds-rs](https://github.com/input-output-hk/anoncreds-rs) @@ -38,6 +37,7 @@ Go into the folder `uniffi` and build the Native lib with: ## Copy files Then copy the files + - from `target/x86_64-unknown-linux-gnu/release/libanoncreds_uniffi.so` to `pollux/lib/anoncreds/native-lib/NATIVE/linux/amd64/libuniffi_anoncreds.so` - from `uniffi/output-frameworks/anoncreds-jvm/build/libs/anoncreds-jvm-1.0-SNAPSHOT.jar` to `pollux/lib/anoncreds//anoncreds-jvm-1.0-SNAPSHOT.jar` diff --git a/pollux/docs/verification-policy.md b/pollux/docs/verification-policy.md index 369548cf48..30e8bc9ea9 100644 --- a/pollux/docs/verification-policy.md +++ b/pollux/docs/verification-policy.md @@ -1,61 +1,83 @@ # Verification Policies [DRAFT] ## Abstract + This document describes the purpose, formats, and technical details of the Verification Policies implementation in the Atala Prism Platform. ## 1. Introduction + Verification Policies define the rules and constraints in the verification process between the Verifier and the Holder and applied to the Verifiable Credentials and Verifiable Presentation. Different rules and constraints can be defined and used based on the concrete implementation of the Verifiable Credentials. -Verification Policies are the input for the [Presentation Definition](https://identity.foundation/presentation-exchange/spec/v2.0.0/#presentation-definition). +Verification Policies are the input for the [Presentation Definition](https://identity.foundation/presentation-exchange/spec/v2.0.0/#presentation-definition). Examples of the rules the Verification Policies can articulate: + - what proofs does the Verifier require - what issuers the Verifier trust - what Verifiable Credential format the Verifier requires ## 2. Terminology + #### Verification Policy + The Verification Policy is a template that defines a set of constraints that the Verifier defines as verification rules. #### Issuer, Holder, Verifier + These are well-known roles in the SSI domain. #### Party + Party refers to any of the roles: Issuer, Holder, Verifier. ## 3. Verification Policy structure + #### id (UUID) + The unique identifier of the entity --- + #### name (String) + It is a human-readable name for the verification policy. --- + #### description (String) + It is a human-readable description of the verification policy. --- + #### createdAt (DateTime) + It's the date and time stamp of the verification policy creation. --- + #### updatedAt (DateTime) + It's the date and time stamp of the verification policy update. --- + #### constraints (VerificationPolicyConstraint[]) + It's the defined set of constraints for the verification policy. --- ## 3. Verification Policy Constraints + ### 1. Credential Schema And Trusted Issuers + It defines the credential schema and the list of trusted issuers and is applied to the JSON and JSON-LD verifiable credentials. Example: + ``` { "schemaId": "https://atala.io/credential-schemas/did:prism:shortid?id=abcde&version=1.0", @@ -64,9 +86,11 @@ Example: ] } ``` + Given constraint defines the URL of the credential schema of the verifiable credentials a Holder must provide and the list of trusted issuers that issued the verifiable credential. ## 4. Verification Policy Flows + #### The Verifier creates the Verification Policy #### The Verifier requests the Verifiable Presentation from the Holder that includes the rules from the Verification Policy diff --git a/pollux/issue-protocol-state.md b/pollux/issue-protocol-state.md index cfd603a834..f08ddcfb23 100644 --- a/pollux/issue-protocol-state.md +++ b/pollux/issue-protocol-state.md @@ -26,7 +26,9 @@ stateDiagram-v2 PublicationState --> CredentialSent: send credential (via DIDComm Agent) ``` + --- + ```mermaid --- title: Holder Issue Protocol State @@ -36,4 +38,4 @@ stateDiagram-v2 OfferReceived --> RequestPending: approve offer RequestPending --> RequestSent: send request (via DIDComm Agent) RequestSent --> CredentialReceived: receive credential -``` \ No newline at end of file +``` diff --git a/prism-node/client/scala-client/CHANGELOG.md b/prism-node/client/scala-client/CHANGELOG.md deleted file mode 100644 index 7581eeb9d3..0000000000 --- a/prism-node/client/scala-client/CHANGELOG.md +++ /dev/null @@ -1,27 +0,0 @@ -# [prism-node-client-v0.4.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-node-client-v0.3.0...prism-node-client-v0.4.0) (2023-03-29) - - -### Features - -* **prism-node:** add context to protobuf definition ([#487](https://github.com/input-output-hk/atala-prism-building-blocks/issues/487)) ([e426a82](https://github.com/input-output-hk/atala-prism-building-blocks/commit/e426a82b4f593204f1dc69c2b65c7362e8707ec6)) - -# [prism-node-client-v0.3.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-node-client-v0.2.0...prism-node-client-v0.3.0) (2023-01-05) - - -### Features - -* **prism-node:** align Prism DID protobuf key type ([#286](https://github.com/input-output-hk/atala-prism-building-blocks/issues/286)) ([a533507](https://github.com/input-output-hk/atala-prism-building-blocks/commit/a5335075be287f6d5582deba849255d2156d9542)) - -# [prism-node-client-v0.2.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-node-client-v0.1.0...prism-node-client-v0.2.0) (2022-12-08) - - -### Features - -* **prism-node:** move api directory / make client releasable ([#223](https://github.com/input-output-hk/atala-prism-building-blocks/issues/223)) ([53841d6](https://github.com/input-output-hk/atala-prism-building-blocks/commit/53841d6fd2aea24ca4e2a2d6935ef70b763f65d1)) - -# [prism-node-client-v0.1.0](https://github.com/input-output-hk/atala-prism-building-blocks/compare/prism-node-client-v0.0.1...prism-node-client-v0.1.0) (2022-11-21) - - -### Features - -* **prism-node:** add prism-node scala grpc client generation ([#128](https://github.com/input-output-hk/atala-prism-building-blocks/issues/128)) ([948e864](https://github.com/input-output-hk/atala-prism-building-blocks/commit/948e86423dfe86aaf04ed4ef6ce5eff303a9b5c6)) diff --git a/tests/integration-tests/CONTRIBUTING.md b/tests/integration-tests/CONTRIBUTING.md index fe8c741f50..436d6c312a 100644 --- a/tests/integration-tests/CONTRIBUTING.md +++ b/tests/integration-tests/CONTRIBUTING.md @@ -5,6 +5,7 @@ Please, read this guide before contributing to integration tests. ## Adding new scenario To add new scenario, follow these steps: + 1. Create a new feature file in the `src/test/resources/features/new_feature` folder. 2. Implement steps definitions in the `src/test/kotlin/features/new_feature` folder. 3. Test the scenario properly, make sure it works for different configurations. @@ -20,6 +21,7 @@ Do not use hardcoded values in the tests. Always use constants instead. Instead of adding `Name` and `Surname` to the test, add `NAME` and `SURNAME` constants to the `common.TestConstants` class. This approach has the following advantages: + * It is easier to find and change the test data. * It is easier to understand the test logic. * It is easier to reuse the test data in other tests. @@ -40,6 +42,7 @@ Do not use `Thread.sleep` to wait for the result of an asynchronous operation. Use [Awaitility](http://www.awaitility.org/) instead. The `wait` method is implemented in the `common.Utils` object. Wrong usage example: + ```kotlin for(i in 1..10) { val didEvent = @@ -54,6 +57,7 @@ for(i in 1..10) { ``` Correct usage example: + ```kotlin wait( { @@ -75,6 +79,7 @@ The `remember` method stores the value in the actor's memory, and the `recall` method retrieves the value from the actor's memory. Usage example: + ```kotlin // Remember connection in some step val connection = SerenityRest.lastResponse().get() diff --git a/tests/integration-tests/README.md b/tests/integration-tests/README.md index 79f15e9620..4ca90119c9 100644 --- a/tests/integration-tests/README.md +++ b/tests/integration-tests/README.md @@ -39,6 +39,7 @@ The Screenplay pattern is used to write the tests. The pattern is described in d ## Project structure The project structure is represented below: + ```text ├── main │ └── kotlin @@ -58,6 +59,7 @@ The project structure is represented below: ``` Here are some rules to follow when writing the tests: + 1. Do not mix steps from different features in the same step definition class. Always create a separate class for each feature. 2. Do not duplicate configurations, check if the configuration you need already exists in the `test/resources/configs` directory. 3. Combine scenarios into features based on the functionality they test. @@ -84,8 +86,8 @@ The tests interact with the ICA through the API and webhook messages. | Verifier | Verifies the credentials presented by the holder. | | Admin | Performs specific administrative tasks | -- Each ICA can play multiple roles simultaneously after multitenancy is implemented. -- ICAs can be created on-the-fly or use existing ones, regardless of their origin (local or cloud). +* Each ICA can play multiple roles simultaneously after multitenancy is implemented. +* ICAs can be created on-the-fly or use existing ones, regardless of their origin (local or cloud). ### ICA Configurations @@ -112,6 +114,7 @@ In this section, we will describe the configuration options and their purpose. ### Overview The configuration files are divided into the following sections: + * `services`: contains the configuration for the services (PRISM Node, Keycloak, Vault) that will be started and can be consumed by `agents` if specified. * `agents`: contains the configuration for the agents (ICA) that will be started. By default, all agents will be destroyed after the test run is finished. * `roles`: contains the configuration for the roles (Issuer, Holder, Verifier, Admin). A role can be assigned to one or more agents that we set in `agents` section or already running locally or in the cloud. @@ -123,6 +126,7 @@ You could explore the `configs` directory for more complex examples. ### Configuring services There are three services that can be configured: + * `prism_node`: PRISM Node as VDR * `keycloak`: Keycloak for authentication * `vault`: Vault for secret storage management @@ -133,6 +137,7 @@ There are three services that can be configured: #### Configuring PRISM Node To configure PRISM Node, you need to specify the following options: + * `http_port`: [MANDATORY] the port to expose for the HTTP API. * `version`: [MANDATORY] the version of the PRISM Node docker image to use. * `keep_running`: [OPTIONAL] whether to keep the service running after the test run is finished. @@ -140,6 +145,7 @@ To configure PRISM Node, you need to specify the following options: #### Configuring Keycloak To configure Keycloak, you need to specify the following options: + * `http_port`: [MANDATORY] the port to expose for the HTTP API. * `realm`: [OPTIONAL] the name of the realm to use. Default: `atala-demo` * `client_id`: [OPTIONAL] the client ID to use. Default: `prism-agent` @@ -149,10 +155,12 @@ To configure Keycloak, you need to specify the following options: #### Configuring Vault To configure Vault, you need to specify the following options: + * `http_port`: [MANDATORY] the port to expose for the HTTP API. * `keep_running`: [OPTIONAL] whether to keep the service running after the test run is finished. Here is a complete example of the `services` section, including minimal configuration for all services: + ```yaml # Specify shared services that are used by all agents (if any) services = { @@ -180,6 +188,7 @@ There is a special `agents` section in the configuration file to specify the age `TestContainers` are in use for this purpose. To configure the agent, you need to specify the following options: + * `version`: the version of the ICA docker image to use. * `http_port`: the port to expose for the HTTP API. * `didcomm_port`: the port to expose for the DIDComm API. @@ -194,6 +203,7 @@ To configure the agent, you need to specify the following options: **CAUTION: when defining the `agents` section, please, make sure you're using free ports for each agent and they don't overlap.** Here is an example of the `agents` section that configures two agents, one with PRISM Node service, and another with PRISM Node, Keycloak, and Vault services: + ```yaml # Specify agents that are required to be created before running tests agents = [ @@ -224,6 +234,7 @@ agents = [ ### Configuring roles To configure the roles, you need to specify the following options: + * `name`: [MANDATORY] the name of the role. Possible values: `Issuer`, `Holder`, `Verifier`, `Admin`. You MUST configure these roles to execute the tests. Although, if you run only connection or credential issuance scenarios, you can specify only `Issuer` and `Holder`. * `webhook`: [MANDATORY] the webhook object to use for this role. If not specified, the default webhook URL will be used. * `url`: [MANDATORY] the REST API URL of the agent to use for this role. @@ -233,11 +244,13 @@ To configure the roles, you need to specify the following options: * `agent_role`: [OPTIONAL] the role that is assigned to the user and appears in the JWT. Possible values: `Admin` and `Tenant`. `webhook` is a special object that contains the following options: + * `url`: [MANDATORY] the webhook URL to use for this role. * `local_port`: [OPTIONAL] the local port to use for the webhook. If not specified, the port from `url` will be taken. It is useful when you test remote agents and your local listener is different from the remote URL you specify, e.g. when using `ngrok` to open the port to the world. * `init_required`: [OPTIONAL] whether the webhook should be initialized before the test run. If not specified, the default value is `true`. Here is an example of the `roles` section for basic multi-tenancy configuration: + ```yaml roles = [ { @@ -277,6 +290,7 @@ roles = [ ``` Important notes: + 1. For `Admin` role, we have to specify `auth_header = "x-admin-api-key"` to give this actor admin permissions to work with the agents. 2. When specifying `apikey`, make sure you're using unique values for each role. You can use `random.string(16)` to generate a random string. 3. When specifying `webhook`, make sure you're using unique values for each role and ports are not overlapping. @@ -284,17 +298,20 @@ Important notes: #### Configuring roles for remote agents To work with remote agents, you need to specify the following options: + 1. Remote `url` of the agent. 2. Remote `apikey` of the agent (if configured) 3. Webhook configuration with the remote `url` (to be registered on the agent side) and `local_port` that will be opened locally. You have to use `ngrok` or similar tool to open the local port to the world and get the remote URL. When we would like to test local agent VS remote agents, we need to open the local ports to the world. We need to open 3 things: + 1. REST service URL should be available to fetch credential definitions and credential schemas 2. DIDComm service URL should be available to send and receive DIDComm messages 3. Webhook URL should be available to receive webhook messages Here is an example ngrok configuration to open 3 ports: + ```yaml version: "2" authtoken: ... @@ -312,11 +329,13 @@ tunnels: ``` Then, run `ngrok` as follows: + ```shell ngrok start --all ``` And you should see something like this: + ```text Session Status online Account antonbaliasnikov@gmail.com (Plan: Free) @@ -331,6 +350,7 @@ Forwarding https://90e7-2001-818-dce2-c000-9c53-d0a3-15f2-ca5 ``` After that, you could configure your local agent as follows to provide the required URLs: + ```yaml { version = "${AGENT_VERSION}" @@ -347,6 +367,7 @@ After that, you could configure your local agent as follows to provide the requi Next, you are able to configure your roles to use remote agents. Here is an example of the agent configuration for SIT environment: + ```yaml { name = "Holder" @@ -362,6 +383,7 @@ Here is an example of the agent configuration for SIT environment: There is also an option to use JWT token instead of API key for authentication if the remote agent is configured to use Keycloak authentication. Here is an example of the agent configuration for sandbox environment: + ```yaml { name = "Issuer" @@ -392,6 +414,7 @@ Here is an example of the agent configuration for sandbox environment: ### Running the tests locally The following variables must be set before running the tests: + * `TESTS_CONFIG`: path to the configuration file to use, relative to `resources` directory. Default to `/configs/basic.conf`. * `PRISM_NODE_VERSION`: version of the PRISM Node docker image to use. * `AGENT_VERSION`: version of the ICA docker image to use. @@ -403,6 +426,7 @@ TESTS_CONFIG=/configs/basic.conf PRISM_NODE_VERSION=2.5.0 AGENT_VERSION=1.36.1 . > Please note: there is no need to pass environment variables if you're using already running agents. Additional `-Dcucumber.filter.tags` option can be used to specify the tags to include or exclude scenarios: + ```shell TESTS_CONFIG=/configs/mt_keycloak.conf ./gradlew test -Dcucumber.filter.tags="@connection and @credentials" ``` @@ -431,6 +455,7 @@ To enable a full report of the regression execution, `context` variable was intr To run all scenarios, even if there's a failure, it's required to add `--continue` to the execution Example + ```bash AGENT_VERSION=v1.36.1 PRISM_NODE_VERSION=v2.5.0 ./gradlew regression --continue ``` @@ -463,6 +488,7 @@ The required configuration will be created, but you have to edit it to set the e You could edit `@CucumberOptions` annotation to specify the features to run, as well as specify tags to include or exclude: For example, here is how you can run only connection scenarios: + ```kotlin @CucumberOptions( features = ["src/test/resources/features/connection"], @@ -473,6 +499,7 @@ class IntegrationTestsRunner If you would like to run only particular scenarios from the feature or combine multiple scenarios from different feature file, you could use tags: + ```kotlin @CucumberOptions( features = ["src/test/resources/features"], @@ -488,6 +515,7 @@ class IntegrationTestsRunner ### Running individual scenarios through IntelliJ IDEA There is also an option to install IntelliJ Plugins: + * Cucumber for Kotlin * Cucumber+ @@ -546,6 +574,7 @@ To do so, execute the following command from the top-level directory: ``` After the command is finished, you will see the following output: + ```text > Task :reports Generating Additional Serenity Reports to directory ./integration-tests/target/site/serenity @@ -569,6 +598,7 @@ If you're running the test using the custom config goals it will have the conte to the path as `target/logs/basic`. Example + ```bash AGENT_VERSION=v1.36.1 PRISM_NODE_VERSION=v2.3.0 ./gradlew test_basic ``` diff --git a/tests/performance-tests/agent-performance-tests/README.md b/tests/performance-tests/agent-performance-tests/README.md index c7b1318a5c..0212f319d0 100644 --- a/tests/performance-tests/agent-performance-tests/README.md +++ b/tests/performance-tests/agent-performance-tests/README.md @@ -7,6 +7,7 @@ The project is written on Kotlin and uses [Gatling](https://gatling.io/) load te ## Project structure The project is divided by the following main modules: + * `common`: general module for constants and utility functions * `simulations`: Gatling simulations * `steps`: simulation steps that can be combined into simulations later @@ -14,12 +15,14 @@ The project is divided by the following main modules: ## Running simulations To run all simulations, use the following command: + ```shell ./gradlew gatlingRun ``` To run a specific simulation, specify the full path to the required simulation file. For example, running `ConnectionSimulation` from `simulations` package: + ```shell ./gradlew gatlingRun-simulations.ConnectionSimulation ``` @@ -27,6 +30,7 @@ For example, running `ConnectionSimulation` from `simulations` package: ## Environments configuration There are multiple configuration environment variables available through `common.Configuration` module: + * `ISSUER_AGENT_URL`: URL for Issuer Agent, example: `http://localhost:8080/cloud-agent` * `ISSUER_AGENT_API_KEY`: access key for Issuer agent if hosted on remote env * `HOLDER_AGENT_URL`: URL for Holder Agent, example: `http://localhost:8090/cloud-agent`