Skip to content

Commit

Permalink
chore(docs): validate all internal documentation links, fix existing …
Browse files Browse the repository at this point in the history
…broken links (#2727)

* chore(docs): update astro-graphql-plugin, add validator package

* chore(docs): fix all broken links

* chore(docs): fix get involved link
  • Loading branch information
mkurapov authored May 29, 2024
1 parent eceb148 commit 769c8fa
Show file tree
Hide file tree
Showing 9 changed files with 50 additions and 38 deletions.
4 changes: 3 additions & 1 deletion packages/documentation/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import starlight from '@astrojs/starlight'
import remarkMath from 'remark-math'
import rehypeMathjax from 'rehype-mathjax'
import GraphQL from 'astro-graphql-plugin'
import starlightLinksValidator from 'starlight-links-validator'

// https://astro.build/config
export default defineConfig({
Expand Down Expand Up @@ -201,7 +202,8 @@ export default defineConfig({
}
]
}
]
],
plugins: [starlightLinksValidator()]
}),
GraphQL({
schema: '../backend/src/graphql/schema.graphql',
Expand Down
5 changes: 3 additions & 2 deletions packages/documentation/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@
"@astrojs/starlight": "^0.22.0",
"@interledger/docs-design-system": "^0.4.0",
"astro": "4.7.0",
"astro-graphql-plugin": "^0.2.1",
"astro-graphql-plugin": "^0.3.0",
"graphql": "^16.8.1",
"mermaid": "^10.9.0",
"rehype-mathjax": "^6.0.0",
"remark-math": "^6.0.0"
"remark-math": "^6.0.0",
"starlight-links-validator": "^0.8.0"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Now, the Admin UI can be found on localhost:3010.
| `CONNECTOR_PORT` | backend.port.connector | `3002` | port of the ILP connector for for sending packets over ILP over HTTP |
| `DATABASE_URL` | backend.postgresql.host, backend.postgresql.port, backend.postgresql.username, backend.postgresql.database, backend.postgresql.password | `postgresql://postgres:password@localhost:5432/development` | Postgres database URL of database storing the resource data; For Helm, these components are provided individually. |
| `ENABLE_AUTO_PEERING` | | `false` | Flag to enable auto peering. View [documentation](/concepts/interledger-protocol/peering#auto-peering). |
| `ENABLE_SPSP` | | `true` | enables [SPSP](../reference/glossary.md#simple-payments-setup-protocol-spsp) route |
| `ENABLE_SPSP` | | `true` | enables [SPSP](/reference/glossary#simple-payments-setup-protocol-spsp) route |
| `EXCHANGE_RATES_LIFETIME` | backend.lifetime.exchangeRate | `15_000` | time in milliseconds the exchange rates provided by the ASE via the EXCHANGE_RATES_URL are valid for |
| `EXCHANGE_RATES_URL` | backend.serviceUrls.EXCHANGE_RATES_URL | `undefined` | endpoint on the Account Servicing Entity to request exchange rates |
| `GRAPHQL_IDEMPOTENCY_KEY_TTL_MS` | backend.idempotencyTTL | `86400000` | TTL in milliseconds for idempotencyKey on GraphQL mutations (Admin API). Default: 24hrs |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Event Handlers

import { Mermaid } from '@interledger/docs-design-system'

Rafiki communicates with the Account Servicing Entity over webhook events, as mentioned in the [_Getting Started_](./getting-started) section. Most events require the Account Servicing Entity interact with Rafiki, either to deposit or withdraw liquidity into or from Rafiki, or to provide wallet address information. This document will describe how an Account Servicing Entity should handle each of the defined webhook events.
Rafiki communicates with the Account Servicing Entity over webhook events, as mentioned in the [_Getting Started_](/integration/getting-started) section. Most events require the Account Servicing Entity interact with Rafiki, either to deposit or withdraw liquidity into or from Rafiki, or to provide wallet address information. This document will describe how an Account Servicing Entity should handle each of the defined webhook events.

## `incoming_payment.created`

Expand Down Expand Up @@ -174,7 +174,7 @@ Example: A wallet address received **$0.33**

## `wallet_address.not_found`

The `wallet_address.not_found` event indicates that a [wallet address](/reference/glossary#wallet-address) was requested (via the [Open Payments API](/reference/glossary#open-payments)), but it doesn't exist in Rafiki. When receiving this event, the Account Servicing Entity can perform a lookup for the relevant account in their system, and [create](./getting-started#issuing-wallet-addresses) a wallet address. The initial request for the wallet address will succeed if the Account Servicing Entity creates it within the configurable [`WALLET_ADDRESS_LOOKUP_TIMEOUT_MS`](/integration/deployment#environment-variables) timeframe.
The `wallet_address.not_found` event indicates that a [wallet address](/reference/glossary#wallet-address) was requested (via the [Open Payments API](/reference/glossary#open-payments)), but it doesn't exist in Rafiki. When receiving this event, the Account Servicing Entity can perform a lookup for the relevant account in their system, and [create](/integration/getting-started#issuing-wallet-addresses) a wallet address. The initial request for the wallet address will succeed if the Account Servicing Entity creates it within the configurable [`WALLET_ADDRESS_LOOKUP_TIMEOUT_MS`](/integration/deployment#environment-variables) timeframe.

Example: The wallet address `https://example-wallet.com/carla_garcia` was requested but does not yet exist

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ The `backend` package requires an environment variable called `WEBHOOK_URL` whic

## Identity Provider

An Identity Provider is a service that verifies the identity of a user. In order to allow the authorization of payments by third parties, Rafiki must be integrated with an Identity Provider to handle authentication and consent. This information is collected in order to authorize grants made through the [Open Payments Standard](/reference/glossary#open-payments). The Rafiki `backend` exposes the APIs for Open Payments, and requests to them are authorized by an opinionated version of the [Grant Negotiation Authorization Protocol (GNAP)](/reference/glossary/#gnap). A reference implementation of a Open Payments Authorization Server is include with Rafiki in the `auth` package.
An Identity Provider is a service that verifies the identity of a user. In order to allow the authorization of payments by third parties, Rafiki must be integrated with an Identity Provider to handle authentication and consent. This information is collected in order to authorize grants made through the [Open Payments Standard](/reference/glossary#open-payments). The Rafiki `backend` exposes the APIs for Open Payments, and requests to them are authorized by an opinionated version of the [Grant Negotiation Authorization Protocol (GNAP)](/reference/glossary/#grant-negotiation-authorization-protocol). A reference implementation of a Open Payments Authorization Server is include with Rafiki in the `auth` package.

The Authorization Server in the `auth` package extends an [API](/concepts/open-payments/grant-interaction/) for integrating Identity Providers to use to begin & finish an interaction to collect authorization, acquire information on a particular grant, and communicate that a user has authorized a grant. An OpenAPI specification of those endpoints can be found [here](https://github.com/interledger/rafiki/blob/main/packages/auth/src/openapi/specs/id-provider.yaml).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Management
---

After Rafiki has been deployed, [Account Servicing Entities](/reference/glossary#account-servicing-entity) can manage their Rafiki instance via two GraphQL Admin APIs, the [`backend` Admin API](/apis/backend/schema) and the [`auth` Admin API](/apis/auth/schema).
After Rafiki has been deployed, [Account Servicing Entities](/reference/glossary#account-servicing-entity) can manage their Rafiki instance via two GraphQL Admin APIs, the [`backend` Admin API](/apis/backend/mutations) and the [`auth` Admin API](/apis/auth/mutations).

The `backend` Admin API allows Account Servicing Entities to manage:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ title: Get involved
## Participation

- Begin a [new discussion or contribute to existing discussions](https://github.com/interledger/rafiki/discussions) in the Rafiki GitHub repo.
- Join the [interledger.slack.com](interledger.slack.com) workspace and ask any questions you have in the #rafiki channel.
- Join the [interledger.slack.com](https://interledger.slack.com) workspace and ask any questions you have in the #rafiki channel.
- Try [running the system locally](https://rafiki.dev/playground/overview/) and ask any questions you have in the #rafiki Slack channel.
- For more details about spec contributions and development, visit [contributing.md](https://github.com/interledger/rafiki/blob/main/.github/contributing.md).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ We aim to track the growth of the network in terms of transaction sizes and the

## Privacy and Optionality

Privacy is a paramount concern for us. Rafiki's telemetry feature is designed to provide valuable network insights without violating privacy or aiding malicious ASEs. For more information, please [read the privacy docs](../privacy).
Privacy is a paramount concern for us. Rafiki's telemetry feature is designed to provide valuable network insights without violating privacy or aiding malicious ASEs. For more information, please [read the privacy docs](/telemetry/privacy).

The telemetry functionality is currently enabled by default on test (non-livenet) environments, i.e. any environment that is not dealing with real money. When active, it transmits metrics to the "testnet" collector. In the future, those ASEs operating in a production "livenet" environment (real money) will be able to opt-in to sharing their metrics with a "livenet" collector. Regardless of environment, Account Servicing Entities (ASEs) can also opt-out of telemetry completely.

Expand Down
65 changes: 37 additions & 28 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 769c8fa

Please sign in to comment.