Skip to content

Commit cc8ae70

Browse files
authored
fix: all broken links, fail build if broken links (#112)
Builds without any broken links now: ![CleanShot 2024-12-27 at 10 57 18@2x](https://github.com/user-attachments/assets/8395c10b-b1d6-448a-9cf8-b778fcba1fd8) ## Summary by Sourcery Update documentation to reflect the use of access tokens instead of API keys and fix broken links. Enhancements: - Updated code snippets to use access tokens instead of API keys. Documentation: - Updated documentation to reflect the use of access tokens instead of API keys. - Fixed broken links in the documentation. - Clarified the supported cloud providers and regions and added contact information for unsupported regions. - Updated the prerequisites section to include links to relevant documentation. - Improved the troubleshooting section with more detailed instructions and commands. - Added a note about the limitations of the Terraform installation method. Tests: - Fail the build if there are any broken links in the documentation.
1 parent 045132e commit cc8ae70

File tree

9 files changed

+57
-32
lines changed

9 files changed

+57
-32
lines changed

docs/launch-platform/managed-cloud-deployment/0_supported-cloud-providers.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ Available regions:
1313
- Frankfurt
1414
- Mumbai
1515
- Singapore
16-
- Ohio
17-
- Bahrain
18-
- Osaka
16+
- Ohio [Contact us](mailto:support@settlemint.com)
17+
- Bahrain [Contact us](mailto:support@settlemint.com)
18+
- Osaka [Contact us](mailto:support@settlemint.com)
1919

2020
## Google Cloud
2121

@@ -24,18 +24,18 @@ Available regions:
2424
- Brussels
2525
- Mumbai
2626
- Singapore
27-
- Oregon
2827
- Tokyo
28+
- Oregon [Contact us](mailto:support@settlemint.com)
2929

3030
## Microsoft Azure
3131

3232
Available regions:
3333

34-
- Amsterdam
35-
- Singapore
36-
- California
3734
- Dubai
3835
- Tokyo
36+
- Amsterdam [Contact us](mailto:support@settlemint.com)
37+
- Singapore [Contact us](mailto:support@settlemint.com)
38+
- California [Contact us](mailto:support@settlemint.com)
3939

4040
:::info Note
4141

docs/launch-platform/managed-cloud-deployment/13_deployment-plans.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Not all applications are equal. Some are for experimentation, some are pilots, w
2121

2222
We offer you the flexibility to deploy your services in the cloud of your choice, and easily build cross-cloud provider and cross-geographical region networks. All leading cloud providers are supported and we are continously working on adding support for more regions.
2323

24-
[Discover all supported cloud providers and available regions](./0_supported-cloud-providers.md)
24+
[Discover all supported cloud providers and available regions](0_supported-cloud-providers.md)
2525

2626
## Resource pack
2727

docs/launch-platform/self-hosted/installation-guide/platform-installation.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ This guide walks you through installing the SettleMint Platform using Helm, prov
1212
## Prerequisites
1313

1414
Before starting the installation, ensure you have:
15-
- Completed all [prerequisite services](/launch-platform/self-hosted/installation-guide/prerequisites/overview) setup
15+
16+
- Completed all [prerequisite services](prerequisites/overview.md) setup
1617
- Collected all required information from the prerequisite guides
1718
- Met all infrastructure requirements
1819
- Helm 3.x installed
@@ -234,18 +235,21 @@ Once all pods are running, access the platform at `https://<your-domain>`.
234235
If you encounter issues during installation:
235236

236237
1. Debug the installation:
238+
237239
```bash
238240
helm upgrade --install --debug --dry-run settlemint oci://registry.settlemint.com/settlemint-platform/settlemint \
239241
--namespace settlemint \
240242
--values values.yaml
241243
```
242244

243245
2. Check pod logs:
246+
244247
```bash
245248
kubectl logs -n settlemint <pod-name>
246249
```
247250

248251
3. Generate a support bundle:
252+
249253
```bash
250254
# Install support bundle plugin
251255
curl https://krew.sh/support-bundle | bash
@@ -264,4 +268,4 @@ To remove the platform:
264268
helm delete settlemint --namespace settlemint
265269
```
266270

267-
**Note:** This will not delete persistent volumes or other resources outside of Helm's control. You may need to clean these up manually.
271+
**Note:** This will not delete persistent volumes or other resources outside of Helm's control. You may need to clean these up manually.

docs/launch-platform/self-hosted/installation-guide/prerequisites/terraform.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@ sidebar_position: 9
99
This Terraform-based installation is designed for quick setup and testing environments only. For production deployments, we strongly recommend following the manual installation process to properly configure and secure each component according to your organization's requirements.
1010

1111
**Key limitations of Terraform setup:**
12+
1213
- Components run locally in the cluster without High Availability
1314
- Basic security configurations
1415
- Limited customization options
1516
- Not suitable for production workloads
16-
:::
17+
:::
1718

1819
For a quick deployment of the SettleMint Platform and all its prerequisites on Google Cloud Platform (GCP), we provide a Terraform-based installation method. This is optional - you can skip this if you prefer to set up the prerequisites manually.
1920

@@ -32,19 +33,23 @@ brew install hashicorp/tap/terraform
3233

3334
1. Create a [Google Cloud Platform account](https://console.cloud.google.com/freetrial/) if you don't have one
3435
2. Install the gcloud CLI:
36+
3537
```sh
3638
brew cask install google-cloud-sdk
3739
gcloud auth application-default login
3840
```
3941

4042
3. Enable required APIs for your project:
43+
4144
- Container API: `https://console.developers.google.com/apis/api/container.googleapis.com/overview?project=<project_id>`
4245
- Cloud KMS API: `https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview?project=<project_id>`
4346

4447
4. Configure IAM permissions. Your GCP user needs either:
48+
4549
- `Owner` role (recommended for quick setup)
4650

4751
OR all of these roles:
52+
4853
- `Editor`
4954
- `Cloud KMS Admin`
5055
- `Project IAM Admin`
@@ -54,11 +59,13 @@ gcloud auth application-default login
5459
## Installation Steps
5560

5661
1. Clone the installation repository:
62+
5763
```sh
5864
git clone git@github.com:settlemint/tutorial-btp-on-gcp.git
5965
```
6066

6167
2. Set required environment variables:
68+
6269
```sh
6370
# DNS zone (subdomain) for platform access (e.g., btp.settlemint.com)
6471
export TF_VAR_gcp_dns_zone='YOUR_DNS_ZONE'
@@ -82,26 +89,31 @@ export TF_VAR_btp_version='BTP_VERSION'
8289
### DNS Zone Setup
8390

8491
1. Navigate to the DNS zone setup directory:
92+
8593
```sh
8694
cd tutorial-btp-on-gcp/00_dns_zone
8795
```
8896

8997
2. Create the DNS zone:
98+
9099
```sh
91100
terraform init
92101
terraform apply
93102
```
94103

95104
3. Configure your domain registrar with the nameservers from the Terraform output. For example, in Cloudflare:
105+
96106
- Add NS records for your subdomain (e.g., btp.settlemint.com)
97107
- Point to the Google nameservers (ns-cloud-aX.googledomains.com)
98108

99109
4. Verify DNS delegation:
110+
100111
```sh
101112
dig NS btp.settlemint.com
102113
```
103114

104115
Expected output should show Google nameservers:
116+
105117
```
106118
;; ANSWER SECTION:
107119
btp.settlemint.com. 300 IN NS ns-cloud-a4.googledomains.com.
@@ -113,17 +125,20 @@ btp.settlemint.com. 300 IN NS ns-cloud-a3.googledomains.com.
113125
### Platform Infrastructure Setup
114126

115127
1. Navigate to the infrastructure directory:
128+
116129
```sh
117130
cd ../01_infrastructure
118131
```
119132

120133
2. Deploy the infrastructure:
134+
121135
```sh
122136
terraform init
123137
terraform apply
124138
```
125139

126140
This will create:
141+
127142
- GKE cluster
128143
- All required prerequisites
129144
- The SettleMint Platform installation
@@ -144,7 +159,7 @@ After the Terraform deployment completes:
144159

145160
1. Access the platform at `https://btp.<your-domain>`
146161
2. Follow the initial setup wizard
147-
3. Review the [platform documentation](/docs/introduction) for next steps
162+
3. Review the [platform documentation](../introduction.md) for next steps
148163

149164
## Troubleshooting
150165

@@ -155,4 +170,4 @@ If you encounter issues:
155170
3. Check the Terraform logs for specific error messages
156171
4. Contact [support@settlemint.com](mailto:support@settlemint.com) if you need assistance
157172

158-
**Note:** The Terraform installation is designed for demonstration and testing. For production deployments, we recommend following the manual installation process to configure each component according to your specific requirements.
173+
**Note:** The Terraform installation is designed for demonstration and testing. For production deployments, we recommend following the manual installation process to configure each component according to your specific requirements.

docs/using-platform/10_backend-as-a-service.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ If you need to execute tasks based on changes to your database you can leverage
3737
**Access to your database** can be handled all the way to the row level by using the authentication and authorisation options available in Hasura.
3838
[Learn more here.](https://hasura.io/docs/latest/graphql/core/auth/index.html)
3939

40-
This is of course on top of the [API keys](19_api-keys.md) in the platform you can use to close of access to the entire API.
40+
This is of course on top of the [application access tokens](20_application-access-tokens.md) and [personal access tokens](21_personal-access-tokens.md) in the platform you can use to close off access to the entire API.
4141

4242
## Backups
4343

docs/using-platform/21_personal-access-tokens.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Personal access tokens
22

3-
Personal access tokens (or [Application access tokens](19_application-access-tokens.md)) let you connect your SettleMint services with other apps securely. They represent an individual user, and have the same rights as the user's role in the organization (admin or user). They can be used to connect to all services that the user has access to.
3+
Personal access tokens (or [Application access tokens](20_application-access-tokens.md)) let you connect your SettleMint services with other apps securely. They represent an individual user, and have the same rights as the user's role in the organization (admin or user). They can be used to connect to all services that the user has access to.
44

55
## Create a personal access token
66

docs/using-platform/22_deployment-plans.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Not all applications are equal. Some are for experimentation, some are pilots, w
2121

2222
We offer you the flexibility to deploy your services in the cloud of your choice, and easily build cross-cloud provider and cross-geographical region networks. All leading cloud providers are supported and we are continously working on adding support for more regions.
2323

24-
[Discover all supported cloud providers and available regions](./0_supported-cloud-providers.md)
24+
[Discover all supported cloud providers and available regions](../launch-platform/managed-cloud-deployment/0_supported-cloud-providers.md)
2525

2626
## Resource pack
2727

docs/using-platform/9_integration-studio.md

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Drag and drop a **function node**. This is the node that will query the blockcha
6161
`rpcEndpoint` is the RPC url of your Polygon Mumbai Node.
6262
Under the **Connect tab** of your Polygon Mumbai node, you will find its RPC url.
6363

64-
`apiKey` - You will need an API key for your node. If you do not have one, you can easily [create an API key](19_api-keys.md) first.
64+
`accessToken` - You will need an access token for your application. If you do not have one, you can easily [create an access token](20_application-access-tokens.md) first.
6565

6666
Enter the following snippet in the Message tab.
6767

@@ -70,15 +70,17 @@ Enter the following snippet in the Message tab.
7070
// Configuration //
7171
///////////////////////////////////////////////////////////
7272

73-
const rpcEndpoint = 'https://YOUR_NODE_RPC_ENDPOINT.settlemint.com';
74-
const apiKey = 'bpaas-YOUR_NODE_API_KEY_HERE';
73+
const rpcEndpoint = "https://YOUR_NODE_RPC_ENDPOINT.settlemint.com";
74+
const accessToken = "YOUR_APPLICATION_ACCESS_TOKEN_HERE";
7575

7676
///////////////////////////////////////////////////////////
7777
// Logic //
7878
///////////////////////////////////////////////////////////
7979

80-
const ethers = global.get('ethers');
81-
const provider = new ethers.providers.JsonRpcProvider(`${rpcEndpoint}/${apiKey}`);
80+
const ethers = global.get("ethers");
81+
const provider = new ethers.providers.JsonRpcProvider(
82+
`${rpcEndpoint}/${accessToken}`
83+
);
8284
msg.payload = await provider.getBlockNumber();
8385

8486
return msg;
@@ -93,15 +95,19 @@ return msg;
9395
ethers and some ipfs libraries are already available by default and can be used like this:
9496

9597
```javascript
96-
const ethers = global.get('ethers');
97-
const provider = new ethers.providers.JsonRpcProvider(`${rpcEndpoint}/${apiKey}`);
98-
99-
const ipfsHttpClient = global.get('ipfsHttpClient');
100-
const client = ipfsHttpClient.create(`${ipfsEndpoint}/${apiKey}/api/v0`);
101-
102-
const uint8arrays = global.get('uint8arrays');
103-
const itAll = global.get('itAll');
104-
const data = uint8arrays.toString(uint8arrays.concat(await itAll(client.cat(cid))));
98+
const ethers = global.get("ethers");
99+
const provider = new ethers.providers.JsonRpcProvider(
100+
`${rpcEndpoint}/${accessToken}`
101+
);
102+
103+
const ipfsHttpClient = global.get("ipfsHttpClient");
104+
const client = ipfsHttpClient.create(`${ipfsEndpoint}/${accessToken}/api/v0`);
105+
106+
const uint8arrays = global.get("uint8arrays");
107+
const itAll = global.get("itAll");
108+
const data = uint8arrays.toString(
109+
uint8arrays.concat(await itAll(client.cat(cid)))
110+
);
105111
```
106112

107113
if the library you need isn't available by default you will need to import it in the setup tab.

docusaurus.config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ const config: Config = {
88
"The Blockchain Transformation Platform for developers to rapidly build blockchain applications",
99
url: "https://console.settlemint.com",
1010
baseUrl: "/documentation/",
11-
onBrokenLinks: "warn",
12-
onBrokenMarkdownLinks: "warn",
11+
onBrokenLinks: "throw",
12+
onBrokenMarkdownLinks: "throw",
1313
trailingSlash: true,
1414
favicon: "img/favicon.ico",
1515
organizationName: "settlemint", // Usually your GitHub org/user name.

0 commit comments

Comments
 (0)