From d70472647ad775faee1efbd1a123f03b8ebc2705 Mon Sep 17 00:00:00 2001 From: Snigdha Singh Date: Fri, 27 Dec 2024 10:55:43 +0100 Subject: [PATCH 1/3] fix all broken links --- .../0_supported-cloud-providers.md | 14 ++++---- .../13_deployment-plans.md | 2 +- .../platform-installation.md | 8 +++-- .../prerequisites/terraform.md | 21 ++++++++++-- .../using-platform/10_backend-as-a-service.md | 2 +- .../21_personal-access-tokens.md | 2 +- docs/using-platform/22_deployment-plans.md | 2 +- docs/using-platform/9_integration-studio.md | 34 +++++++++++-------- 8 files changed, 55 insertions(+), 30 deletions(-) diff --git a/docs/launch-platform/managed-cloud-deployment/0_supported-cloud-providers.md b/docs/launch-platform/managed-cloud-deployment/0_supported-cloud-providers.md index db489353..8bc42d64 100644 --- a/docs/launch-platform/managed-cloud-deployment/0_supported-cloud-providers.md +++ b/docs/launch-platform/managed-cloud-deployment/0_supported-cloud-providers.md @@ -13,9 +13,9 @@ Available regions: - Frankfurt - Mumbai - Singapore -- Ohio -- Bahrain -- Osaka +- Ohio [Contact us](mailto:support@settlemint.com) +- Bahrain [Contact us](mailto:support@settlemint.com) +- Osaka [Contact us](mailto:support@settlemint.com) ## Google Cloud @@ -24,18 +24,18 @@ Available regions: - Brussels - Mumbai - Singapore -- Oregon - Tokyo +- Oregon [Contact us](mailto:support@settlemint.com) ## Microsoft Azure Available regions: -- Amsterdam -- Singapore -- California - Dubai - Tokyo +- Amsterdam [Contact us](mailto:support@settlemint.com) +- Singapore [Contact us](mailto:support@settlemint.com) +- California [Contact us](mailto:support@settlemint.com) :::info Note diff --git a/docs/launch-platform/managed-cloud-deployment/13_deployment-plans.md b/docs/launch-platform/managed-cloud-deployment/13_deployment-plans.md index 88912c94..16a231bb 100644 --- a/docs/launch-platform/managed-cloud-deployment/13_deployment-plans.md +++ b/docs/launch-platform/managed-cloud-deployment/13_deployment-plans.md @@ -21,7 +21,7 @@ Not all applications are equal. Some are for experimentation, some are pilots, w 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. -[Discover all supported cloud providers and available regions](./0_supported-cloud-providers.md) +[Discover all supported cloud providers and available regions](0_supported-cloud-providers.md) ## Resource pack diff --git a/docs/launch-platform/self-hosted/installation-guide/platform-installation.md b/docs/launch-platform/self-hosted/installation-guide/platform-installation.md index fb7b2b06..5f6f4ae9 100644 --- a/docs/launch-platform/self-hosted/installation-guide/platform-installation.md +++ b/docs/launch-platform/self-hosted/installation-guide/platform-installation.md @@ -12,7 +12,8 @@ This guide walks you through installing the SettleMint Platform using Helm, prov ## Prerequisites Before starting the installation, ensure you have: -- Completed all [prerequisite services](/launch-platform/self-hosted/installation-guide/prerequisites/overview) setup + +- Completed all [prerequisite services](prerequisites/overview.md) setup - Collected all required information from the prerequisite guides - Met all infrastructure requirements - Helm 3.x installed @@ -234,6 +235,7 @@ Once all pods are running, access the platform at `https://`. If you encounter issues during installation: 1. Debug the installation: + ```bash helm upgrade --install --debug --dry-run settlemint oci://registry.settlemint.com/settlemint-platform/settlemint \ --namespace settlemint \ @@ -241,11 +243,13 @@ helm upgrade --install --debug --dry-run settlemint oci://registry.settlemint.co ``` 2. Check pod logs: + ```bash kubectl logs -n settlemint ``` 3. Generate a support bundle: + ```bash # Install support bundle plugin curl https://krew.sh/support-bundle | bash @@ -264,4 +268,4 @@ To remove the platform: helm delete settlemint --namespace settlemint ``` -**Note:** This will not delete persistent volumes or other resources outside of Helm's control. You may need to clean these up manually. \ No newline at end of file +**Note:** This will not delete persistent volumes or other resources outside of Helm's control. You may need to clean these up manually. diff --git a/docs/launch-platform/self-hosted/installation-guide/prerequisites/terraform.md b/docs/launch-platform/self-hosted/installation-guide/prerequisites/terraform.md index 76c564bb..0bebb145 100644 --- a/docs/launch-platform/self-hosted/installation-guide/prerequisites/terraform.md +++ b/docs/launch-platform/self-hosted/installation-guide/prerequisites/terraform.md @@ -9,11 +9,12 @@ sidebar_position: 9 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. **Key limitations of Terraform setup:** + - Components run locally in the cluster without High Availability - Basic security configurations - Limited customization options - Not suitable for production workloads -::: + ::: 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. @@ -32,19 +33,23 @@ brew install hashicorp/tap/terraform 1. Create a [Google Cloud Platform account](https://console.cloud.google.com/freetrial/) if you don't have one 2. Install the gcloud CLI: + ```sh brew cask install google-cloud-sdk gcloud auth application-default login ``` 3. Enable required APIs for your project: + - Container API: `https://console.developers.google.com/apis/api/container.googleapis.com/overview?project=` - Cloud KMS API: `https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview?project=` 4. Configure IAM permissions. Your GCP user needs either: + - `Owner` role (recommended for quick setup) OR all of these roles: + - `Editor` - `Cloud KMS Admin` - `Project IAM Admin` @@ -54,11 +59,13 @@ gcloud auth application-default login ## Installation Steps 1. Clone the installation repository: + ```sh git clone git@github.com:settlemint/tutorial-btp-on-gcp.git ``` 2. Set required environment variables: + ```sh # DNS zone (subdomain) for platform access (e.g., btp.settlemint.com) export TF_VAR_gcp_dns_zone='YOUR_DNS_ZONE' @@ -82,26 +89,31 @@ export TF_VAR_btp_version='BTP_VERSION' ### DNS Zone Setup 1. Navigate to the DNS zone setup directory: + ```sh cd tutorial-btp-on-gcp/00_dns_zone ``` 2. Create the DNS zone: + ```sh terraform init terraform apply ``` 3. Configure your domain registrar with the nameservers from the Terraform output. For example, in Cloudflare: + - Add NS records for your subdomain (e.g., btp.settlemint.com) - Point to the Google nameservers (ns-cloud-aX.googledomains.com) 4. Verify DNS delegation: + ```sh dig NS btp.settlemint.com ``` Expected output should show Google nameservers: + ``` ;; ANSWER SECTION: 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. ### Platform Infrastructure Setup 1. Navigate to the infrastructure directory: + ```sh cd ../01_infrastructure ``` 2. Deploy the infrastructure: + ```sh terraform init terraform apply ``` This will create: + - GKE cluster - All required prerequisites - The SettleMint Platform installation @@ -144,7 +159,7 @@ After the Terraform deployment completes: 1. Access the platform at `https://btp.` 2. Follow the initial setup wizard -3. Review the [platform documentation](/docs/introduction) for next steps +3. Review the [platform documentation](../introduction.md) for next steps ## Troubleshooting @@ -155,4 +170,4 @@ If you encounter issues: 3. Check the Terraform logs for specific error messages 4. Contact [support@settlemint.com](mailto:support@settlemint.com) if you need assistance -**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. \ No newline at end of file +**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. diff --git a/docs/using-platform/10_backend-as-a-service.md b/docs/using-platform/10_backend-as-a-service.md index a2e743a0..811d39b6 100644 --- a/docs/using-platform/10_backend-as-a-service.md +++ b/docs/using-platform/10_backend-as-a-service.md @@ -37,7 +37,7 @@ If you need to execute tasks based on changes to your database you can leverage **Access to your database** can be handled all the way to the row level by using the authentication and authorisation options available in Hasura. [Learn more here.](https://hasura.io/docs/latest/graphql/core/auth/index.html) -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. +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. ## Backups diff --git a/docs/using-platform/21_personal-access-tokens.md b/docs/using-platform/21_personal-access-tokens.md index 3ee8c4d1..726e51dc 100644 --- a/docs/using-platform/21_personal-access-tokens.md +++ b/docs/using-platform/21_personal-access-tokens.md @@ -1,6 +1,6 @@ # Personal access tokens -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. +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. ## Create a personal access token diff --git a/docs/using-platform/22_deployment-plans.md b/docs/using-platform/22_deployment-plans.md index 71fa2a1f..f26df423 100644 --- a/docs/using-platform/22_deployment-plans.md +++ b/docs/using-platform/22_deployment-plans.md @@ -21,7 +21,7 @@ Not all applications are equal. Some are for experimentation, some are pilots, w 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. -[Discover all supported cloud providers and available regions](./0_supported-cloud-providers.md) +[Discover all supported cloud providers and available regions](../launch-platform/managed-cloud-deployment/0_supported-cloud-providers.md) ## Resource pack diff --git a/docs/using-platform/9_integration-studio.md b/docs/using-platform/9_integration-studio.md index 18074a27..9517faaa 100644 --- a/docs/using-platform/9_integration-studio.md +++ b/docs/using-platform/9_integration-studio.md @@ -61,7 +61,7 @@ Drag and drop a **function node**. This is the node that will query the blockcha `rpcEndpoint` is the RPC url of your Polygon Mumbai Node. Under the **Connect tab** of your Polygon Mumbai node, you will find its RPC url. -`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. +`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. Enter the following snippet in the Message tab. @@ -70,15 +70,17 @@ Enter the following snippet in the Message tab. // Configuration // /////////////////////////////////////////////////////////// -const rpcEndpoint = 'https://YOUR_NODE_RPC_ENDPOINT.settlemint.com'; -const apiKey = 'bpaas-YOUR_NODE_API_KEY_HERE'; +const rpcEndpoint = "https://YOUR_NODE_RPC_ENDPOINT.settlemint.com"; +const accessToken = "bpaas-YOUR_NODE_API_KEY_HERE"; /////////////////////////////////////////////////////////// // Logic // /////////////////////////////////////////////////////////// -const ethers = global.get('ethers'); -const provider = new ethers.providers.JsonRpcProvider(`${rpcEndpoint}/${apiKey}`); +const ethers = global.get("ethers"); +const provider = new ethers.providers.JsonRpcProvider( + `${rpcEndpoint}/${accessToken}` +); msg.payload = await provider.getBlockNumber(); return msg; @@ -93,15 +95,19 @@ return msg; ethers and some ipfs libraries are already available by default and can be used like this: ```javascript -const ethers = global.get('ethers'); -const provider = new ethers.providers.JsonRpcProvider(`${rpcEndpoint}/${apiKey}`); - -const ipfsHttpClient = global.get('ipfsHttpClient'); -const client = ipfsHttpClient.create(`${ipfsEndpoint}/${apiKey}/api/v0`); - -const uint8arrays = global.get('uint8arrays'); -const itAll = global.get('itAll'); -const data = uint8arrays.toString(uint8arrays.concat(await itAll(client.cat(cid)))); +const ethers = global.get("ethers"); +const provider = new ethers.providers.JsonRpcProvider( + `${rpcEndpoint}/${accessToken}` +); + +const ipfsHttpClient = global.get("ipfsHttpClient"); +const client = ipfsHttpClient.create(`${ipfsEndpoint}/${accessToken}/api/v0`); + +const uint8arrays = global.get("uint8arrays"); +const itAll = global.get("itAll"); +const data = uint8arrays.toString( + uint8arrays.concat(await itAll(client.cat(cid))) +); ``` if the library you need isn't available by default you will need to import it in the setup tab. From dc67511ba3f208b4a24ee42683614c5b10767ad0 Mon Sep 17 00:00:00 2001 From: Snigdha Singh Date: Fri, 27 Dec 2024 10:59:28 +0100 Subject: [PATCH 2/3] cleanup --- docs/using-platform/9_integration-studio.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/using-platform/9_integration-studio.md b/docs/using-platform/9_integration-studio.md index 9517faaa..3db74de1 100644 --- a/docs/using-platform/9_integration-studio.md +++ b/docs/using-platform/9_integration-studio.md @@ -71,7 +71,7 @@ Enter the following snippet in the Message tab. /////////////////////////////////////////////////////////// const rpcEndpoint = "https://YOUR_NODE_RPC_ENDPOINT.settlemint.com"; -const accessToken = "bpaas-YOUR_NODE_API_KEY_HERE"; +const accessToken = "YOUR_APPLICATION_ACCESS_TOKEN_HERE"; /////////////////////////////////////////////////////////// // Logic // From ae278050d8e37cec5b81da276e593c8defea2786 Mon Sep 17 00:00:00 2001 From: Snigdha Singh Date: Fri, 27 Dec 2024 11:02:48 +0100 Subject: [PATCH 3/3] throw error on broken links --- docusaurus.config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docusaurus.config.ts b/docusaurus.config.ts index b39066cb..51f7ef69 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -8,8 +8,8 @@ const config: Config = { "The Blockchain Transformation Platform for developers to rapidly build blockchain applications", url: "https://console.settlemint.com", baseUrl: "/documentation/", - onBrokenLinks: "warn", - onBrokenMarkdownLinks: "warn", + onBrokenLinks: "throw", + onBrokenMarkdownLinks: "throw", trailingSlash: true, favicon: "img/favicon.ico", organizationName: "settlemint", // Usually your GitHub org/user name.