diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e2866a8..fcc55cb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,9 @@ jobs: mkdir /tmp/go export GOPATH=/tmp/go go get github.com/bobertlo/vmd/cmd/vmdfmt + - name: Install markdown-link-check tool + run: npm install markdown-link-check - name: Check formatting run: | - export PATH="/tmp/go/bin:$PATH" + export PATH="$PATH:/tmp/go/bin:$(pwd)/node_modules/.bin" ./ci/check_format.sh diff --git a/README.md b/README.md index 3b5db0f..ffbef1d 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,10 @@ This book uses the [Versioned Markdown](https://github.com/bobertlo/vmd) format us to use the `vmdfmt` formatting tool. The lines should be wrapped after 100 characters. If you have the `vmdfmt` command available on the command-line, ```bash +vmdfmt -cols 100 -w -l src/ +``` +will format in-place all the markdown files in your current directory, and +```bash $ ./ci/check_format.sh ``` will check if your files are formatted correctly. diff --git a/ci/check_format.sh b/ci/check_format.sh index bcfaf77..c218c87 100755 --- a/ci/check_format.sh +++ b/ci/check_format.sh @@ -31,6 +31,7 @@ do echo "Checking file \"$f\"" vmdfmt -cols 100 $f > $OUT_DIR/$(basename $f) git diff --exit-code $f $OUT_DIR/$(basename $f) + markdown-link-check -q $f done rm -rf $OUT_DIR diff --git a/src/parsec_client/api_overview.md b/src/parsec_client/api_overview.md index 5457e37..427e5fd 100644 --- a/src/parsec_client/api_overview.md +++ b/src/parsec_client/api_overview.md @@ -157,7 +157,7 @@ the **authentication** field of the request. The token is reusable for a specifi after which a new one must be issued. The application identity is contained in the token and can be extracted by the service after verifying the authenticity of the token. A more detailed description of authentication tokens and their lifecycle is present in the [**sytem architecture -specification**](system_architecture.md). +specification**](../parsec_service/system_architecture.md). When it makes an API request, the client needs to tell the server which kind of authentication is being used. This is so that the server knows how to interepret the bytes in the **authentication** diff --git a/src/parsec_service/diagrams/wire_request.drawio b/src/parsec_client/diagrams/wire_request.drawio similarity index 100% rename from src/parsec_service/diagrams/wire_request.drawio rename to src/parsec_client/diagrams/wire_request.drawio diff --git a/src/parsec_service/diagrams/wire_request.png b/src/parsec_client/diagrams/wire_request.png similarity index 100% rename from src/parsec_service/diagrams/wire_request.png rename to src/parsec_client/diagrams/wire_request.png diff --git a/src/parsec_service/diagrams/wire_response.drawio b/src/parsec_client/diagrams/wire_response.drawio similarity index 100% rename from src/parsec_service/diagrams/wire_response.drawio rename to src/parsec_client/diagrams/wire_response.drawio diff --git a/src/parsec_service/diagrams/wire_response.png b/src/parsec_client/diagrams/wire_response.png similarity index 100% rename from src/parsec_service/diagrams/wire_response.png rename to src/parsec_client/diagrams/wire_response.png diff --git a/src/parsec_client/operations/psa_create_key.md b/src/parsec_client/operations/psa_create_key.md index 8c6f888..97833a6 100644 --- a/src/parsec_client/operations/psa_create_key.md +++ b/src/parsec_client/operations/psa_create_key.md @@ -17,7 +17,7 @@ The following type-specific considerations apply: - **key_name** - Name of the key used for signing the hash. - **key_attributes** - Attributes of the key to be created (see the [**key - attributes**](/key_attributes.md) file for more details). + attributes**](key_attributes.md) file for more details). ## Contract diff --git a/src/parsec_client/writing_library.md b/src/parsec_client/writing_library.md index c264fac..c624a2d 100644 --- a/src/parsec_client/writing_library.md +++ b/src/parsec_client/writing_library.md @@ -4,8 +4,8 @@ If a client library does not already exist in your preferred programming languag one. Writing a new client library is a great way to enhance the Parsec client ecosystem. When creating a new client library, please make sure you understand the [Parsec philosophy for -client libraries](../parsec#beautiful-client-libraries). It is very important that you design your -client library to provide a highly ergonomic and idiomatic developer experience. +client libraries](../overview.md#beautiful-client-libraries). It is very important that you design +your client library to provide a highly ergonomic and idiomatic developer experience. Take a look at the [**client library for Go**](https://github.com/parallaxsecond/parsec-client-go) as an example. The [Rust Test Client](https://github.com/parallaxsecond/parsec-client-test) is a diff --git a/src/parsec_service/source_code_structure.md b/src/parsec_service/source_code_structure.md index e31f216..525c5ba 100644 --- a/src/parsec_service/source_code_structure.md +++ b/src/parsec_service/source_code_structure.md @@ -190,8 +190,8 @@ overall. The `client` folder is a key extension point for partner contributors. This project eagerly welcomes contributions of new client libraries in different programming languages in order to enhance the -ecosystem and increase adoption. The [`How to use Parsec`](../parsec_client/use_parsec.md) page -contains a list of currently available client libraries. +ecosystem and increase adoption. The [`Parsec for users`](../parsec_users.md) page contains a list +of currently available client libraries. ## Repository Map diff --git a/src/parsec_service/system_architecture.md b/src/parsec_service/system_architecture.md index 71eb3cf..9f1e6b7 100644 --- a/src/parsec_service/system_architecture.md +++ b/src/parsec_service/system_architecture.md @@ -130,8 +130,9 @@ co-reside on the same physical host: Specification**](https://github.com/ARMmbed/mbed-crypto/blob/psa-crypto-api/docs/PSA_Cryptography_API_Specification.pdf). A single instance of this service runs on the host system (deployed, for example, as a daemon). It listens on a suitable host-local transport medium such as a Unix domain socket and exposes a - [**wire protocol**](../parsec_client/wire_protocol.md) with a [**defined API**](api_overview.md). - The inner architecture of the service is described in the other documents in this repository. + [**wire protocol**](../parsec_client/wire_protocol.md) with a [**defined + API**](../parsec_client/api_overview.md). The inner architecture of the service is described in + the other documents in this repository. - The **identity provider** is the component that assigns unique and stable application identities to each client application. Any string that can be used persistently and unambiguously to refer to one and only one client application is suitable. This system architecture proposes the use of @@ -221,9 +222,9 @@ to establish and maintain trust relationships. The identity provider additionally offers the [**AddClient**](../parsec_client/operations/add_client.md) and -[**ProveClient**](../parsec_client/operations/prove_client) operations, which allow the orchestrator -to inform the identity provider about the lifecycle of client applications. This small operation set -represents the entirety of the identity provider's API. +[**ProveClient**](../parsec_client/operations/prove_client.md) operations, which allow the +orchestrator to inform the identity provider about the lifecycle of client applications. This small +operation set represents the entirety of the identity provider's API. By contrast, the security service exposes the full capabilities of the PSA Crypto API. diff --git a/src/parsec_users.md b/src/parsec_users.md index ccd3fc7..5e4bc81 100644 --- a/src/parsec_users.md +++ b/src/parsec_users.md @@ -15,7 +15,7 @@ Parsec Client Libraries are available in the following languages: - [Go](https://github.com/parallaxsecond/parsec-client-go) -Please [contribute](writing_library.md) to add more Parsec Client Libraries in the languages that -you want! +Please [contribute](parsec_client/writing_library.md) to add more Parsec Client Libraries in the +languages that you want! *Copyright (c) 2019, Arm Limited. All rights reserved.*