From 1003c6baa2a76809f2d44f7e617d432984236640 Mon Sep 17 00:00:00 2001
From: Krishna Iyer
Date: Tue, 3 Dec 2024 11:04:42 +0100
Subject: [PATCH] doc: Move cloud section to top
---
CODEOWNERS | 2 +-
.../api/concepts/troubleshooting/_index.md | 2 +-
.../{the-things-stack => }/cloud/_index.md | 11 ++--
.../server-addresses/_index.md | 10 ++--
.../{the-things-stack => }/concepts/_index.md | 11 ++--
doc/content/concepts/architecture/_index.md | 49 ++++++++++++++++++
.../architecture/tts-architecture.jpeg | Bin
.../concepts/lora-basics-station/cups.md | 15 +++---
.../concepts/lora-basics-station/lns.md | 6 +--
.../models/ciscowirelessgateway/_index.md | 28 +++++-----
.../gateways/models/mikrotik-knot/_index.md | 5 +-
.../gateways/models/mikrotik-ltap/_index.md | 23 ++++----
.../models/mikrotikrouterboard/_index.md | 14 ++---
.../models/milesightug56/packet-forwarder.md | 2 +-
.../models/milesightug65/packet-forwarder.md | 2 +-
.../models/milesightug67/packet-forwarder.md | 2 +-
.../models/milesightug85/packet-forwarder.md | 2 +-
.../models/milesightug87/packet-forwarder.md | 2 +-
.../gateways/models/multitechconduit/lbs.md | 2 +-
.../models/nasysoutdoorgateway/_index.md | 4 +-
.../gateways/models/raspberry-pi/_index.md | 2 +-
.../gateways/models/tektelickonamicro/udp.md | 2 +-
.../thethingskickstartergateway/_index.md | 8 +--
.../models/thethingsoutdoor/_index.md | 47 +++++++++--------
doc/content/gateways/models/wifx-l1/lbs.md | 2 +-
doc/content/gateways/models/wifx-l1/udp.md | 3 +-
.../gateways/models/wifx-lorix-one/lbs.md | 2 +-
.../gateways/models/wifx-lorix-one/udp.md | 3 +-
.../gateways/troubleshooting/_index.md | 2 +-
doc/content/getting-started/_index.md | 17 +++---
doc/content/getting-started/faq/_index.md | 6 +--
.../aws-iot/deployment-guide.md | 2 +-
.../cloud-integrations/datacake/index.md | 25 +++++----
.../cloud-integrations/kaa/_index.md | 35 ++++++-------
.../cloud/addresses/_index.md | 7 ++-
.../concepts/architecture/_index.md | 46 ----------------
.../host/join-server/_index.md | 6 +--
.../interact/cli/configuring-cli/_index.md | 6 +--
.../interact/cli/troubleshooting/_index.md | 2 +-
.../interact/console/_index.md | 4 +-
.../management/branding/_index.md | 44 ++++++++--------
.../the-things-stack/management/sso/_index.md | 10 ++--
.../management/sso/cognito/index.md | 2 +-
.../management/sso/google/index.md | 2 +-
.../migrating/gateway-migration.md | 2 +-
.../troubleshooting/_index.md | 2 +-
.../the-things-stack/layouts/index.html | 4 +-
47 files changed, 249 insertions(+), 236 deletions(-)
rename doc/content/{the-things-stack => }/cloud/_index.md (85%)
rename doc/content/{the-things-stack/concepts => cloud}/server-addresses/_index.md (96%)
rename doc/content/{the-things-stack => }/concepts/_index.md (54%)
create mode 100644 doc/content/concepts/architecture/_index.md
rename doc/content/{the-things-stack => }/concepts/architecture/tts-architecture.jpeg (100%)
delete mode 100644 doc/content/the-things-stack/concepts/architecture/_index.md
diff --git a/CODEOWNERS b/CODEOWNERS
index 96ce57072b..7dd7f551d9 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -22,7 +22,7 @@
/doc/content/the-things-stack/host/docker @KrishnaIyer
/doc/content/the-things-stack/host/aws @KrishnaIyer @johanstokking @happyRip
/doc/content/the-things-stack/migrating @happyRip @KrishnaIyer
-/doc/content/the-things-stack/cloud @happyRip @KrishnaIyer
+/doc/content/cloud @happyRip @KrishnaIyer
/doc/content/the-things-stack/management/events @johanstokking @KrishnaIyer
/doc/content/api @KrishnaIyer @johanstokking
diff --git a/doc/content/api/concepts/troubleshooting/_index.md b/doc/content/api/concepts/troubleshooting/_index.md
index 162dab776b..13c490e471 100644
--- a/doc/content/api/concepts/troubleshooting/_index.md
+++ b/doc/content/api/concepts/troubleshooting/_index.md
@@ -18,7 +18,7 @@ The most common cause for this error is not following the regex pattern in the `
###### Listing gateways via API call works for the eu1 {{% tts %}} Cloud cluster, but won't work for the nam1 cluster.
-Unlike other server components, the Identity Server component of {{% tts %}} is hosted only in the `eu1` cluster for [{{% tts %}} Cloud]({{< ref "/the-things-stack/cloud/addresses#api-endpoints" >}}) and [{{% tts %}} Sandbox]({{< ref "/reference/ttn/addresses#api-endpoints" >}}). This is the reason why Identity Server API request to any cluster other than `eu1` will fail.
+Unlike other server components, the Identity Server component of {{% tts %}} is hosted only in the `eu1` cluster for [{{% tts %}} Cloud]({{< ref "/cloud/server-addresses#api-endpoints" >}}) and [{{% tts %}} Sandbox]({{< ref "/reference/ttn/addresses#api-endpoints" >}}). This is the reason why Identity Server API request to any cluster other than `eu1` will fail.
###### "426 Upgrade Required" error
diff --git a/doc/content/the-things-stack/cloud/_index.md b/doc/content/cloud/_index.md
similarity index 85%
rename from doc/content/the-things-stack/cloud/_index.md
rename to doc/content/cloud/_index.md
index fb95cc1d35..5c8b136253 100644
--- a/doc/content/the-things-stack/cloud/_index.md
+++ b/doc/content/cloud/_index.md
@@ -1,8 +1,11 @@
---
title: "The Things Stack Cloud"
-description: "This section contains concepts specific to The Things Stack Cloud"
-weight: 1
-aliases: [/guides/cloud-hosted/cloud-hosted, /getting-started/cloud-hosted]
+description: "Concepts specific to The Things Stack Cloud"
+menu:
+ main:
+ weight: 2
+aliases:
+ [/guides/cloud-hosted/cloud-hosted, /getting-started/cloud-hosted, /cloud]
---
The Things Industries offers {{% tts %}} as hosted software as a service (SaaS).
@@ -35,7 +38,7 @@ If you navigate to [this link](https://console.cloud.thethings.industries), you
{{< figure src="cluster-location.png" alt="Recommended clusters" >}}
-See the [Cloud Addresses]({{< ref "/the-things-stack/cloud/addresses" >}}) for details about cluster, Console, API endpoints and other {{% tts %}} Cloud addresses.
+See the [Cloud Addresses]({{< ref "/cloud/server-addresses" >}}) for details about cluster, Console, API endpoints and other {{% tts %}} Cloud addresses.
## Status Page
diff --git a/doc/content/the-things-stack/concepts/server-addresses/_index.md b/doc/content/cloud/server-addresses/_index.md
similarity index 96%
rename from doc/content/the-things-stack/concepts/server-addresses/_index.md
rename to doc/content/cloud/server-addresses/_index.md
index b7219b9b46..09ffb488b2 100644
--- a/doc/content/the-things-stack/concepts/server-addresses/_index.md
+++ b/doc/content/cloud/server-addresses/_index.md
@@ -1,12 +1,8 @@
---
title: "Server Addresses"
description: ""
-weight: 5
-aliases:
- [
- /getting-started/server-addresses,
- /the-things-stack/concepts/server-addresses,
- ]
+weight: 1
+aliases: [/getting-started/server-addresses, /cloud/server-addresses]
---
To access the [Console]({{< ref "/the-things-stack/interact/console" >}}), register a [command line client]({{< ref "the-things-stack/interact/cli" >}}), [connect gateways]({{< ref "/gateways/concepts/adding-gateways" >}}), or schedule uplinks via [webhooks]({{< ref "integrations/webhooks" >}}), it is necessary to know the server address of your {{% tts %}} instance. This section contains information about addresses for different {{% tts %}} deployments.
@@ -24,7 +20,7 @@ You can update the examples below with your tenant ID and cluster ID by filling
## Deployments
-**Cloud**: See [Cloud Addresses]({{< ref "/the-things-stack/cloud/addresses" >}}).
+**Cloud**: See [Cloud Addresses]({{< ref "/cloud/server-addresses" >}}).
**AWS Launcher**: This is the domain you specify in your [CloudFormation configuration]({{< ref "the-things-stack/host/aws/ami/deployment-guide#step-2-configure-the-deployment" >}}).
diff --git a/doc/content/the-things-stack/concepts/_index.md b/doc/content/concepts/_index.md
similarity index 54%
rename from doc/content/the-things-stack/concepts/_index.md
rename to doc/content/concepts/_index.md
index 8ad767d570..4af082632b 100644
--- a/doc/content/the-things-stack/concepts/_index.md
+++ b/doc/content/concepts/_index.md
@@ -1,12 +1,15 @@
---
-title: "Basic Concepts"
+title: "Concepts"
description: "Guides on basic concepts of working with The Things Stack"
-weight: 1
-aliases: [/reference/spec-regional-parameters]
+menu:
+ main:
+ weight: 2
+aliases:
+ [/reference/spec-regional-parameters, doc/content/the-things-stack/concepts]
---
This section introduces basic concepts of working with {{% tts %}}.
-We start with a general technical discussion of {{% tts %}} architecture and progress to other more detailed topics that can be found in the **left menu**.
+We start with a general technical discussion of {{% tts %}} architecture and progress to other more detailed topics.
diff --git a/doc/content/concepts/architecture/_index.md b/doc/content/concepts/architecture/_index.md
new file mode 100644
index 0000000000..f93187704f
--- /dev/null
+++ b/doc/content/concepts/architecture/_index.md
@@ -0,0 +1,49 @@
+---
+title: "Architecture"
+description: "This section explains the architecture and components of The Things Stack"
+weight: 1
+aliases: [the-things-stack/concepts/architecture]
+---
+
+{{% tts %}} follows a API driven microservice architecture, well suited for high availability and reliability.
+
+
+
+{{< figure src="tts-architecture.jpeg" alt="The Things Stack Architecture" >}}
+
+{{% tts %}} has the following main components.
+
+
+
+| Component (Service) | Short | Description |
+| ---------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Gateway Server | `GS` | Maintains connections with gateways supporting the Basic Station, UDP, MQTT and gRPC protocols. It forwards uplink traffic to Network Servers directly or indirectly, and schedules downlink traffic on gateways. |
+| Network Server | `NS` | Handles the LoRaWAN® network layer, including MAC commands, regional parameters and adaptive data rate (ADR). |
+| Application Server | `AS` | Handles the LoRaWAN application layer, including uplink data decryption and decoding, downlink queuing and downlink data encoding and encryption. |
+| Identity Server | `IS` | Provides the registries that store entities such as applications with their end devices, gateways, users, organizations, OAuth clients and authentication providers. It also manages access control through memberships and API keys. |
+| Join Server | `JS` | Handles the LoRaWAN join flow, including Network and Application Server authentication and session key generation. |
+| Device Claiming Server | `DCS` | Allows users to claim devices and gateways in a secure manner. |
+| Gateway Configuration Server | `GCS` | Generates configuration files for UDP gateways and manages gateway configuration and firmware updates for Basic Station and The Things Kickstarter gateways. |
+| Packet Broker Agent | `PBA` | Connects The Things Stack with Packet Broker for exchanging traffic with other networks. |
+| Network Operations Center | `NOC` | Provides aggregated insight in a network operated with The Things Stack. |
+| Console | NA | Is the web application used to interact with The Things Stack. |
+
+
+
+
+{{% tts %}} also has the following additional/supporting components.
+
+
+
+
+| Component (Service) | Short | Description |
+| ------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Tenant Billing Server | `TBS` | Manages the creation, suspension and billing of tenants using different payment backends (only for {{% tts %}} cloud). |
+| QR Generator | `QRG` | Generates QR codes for devices in various formats. These QR codes can be used for various purposes, including identification and device claiming to transfer ownership.. |
+| Device Template Converter | `DTC` | Converts data to device templates for migrating networks and importing vendor-specific data. |
+
+
+
+If you want more detailed information on each component, check the [components reference]({{< relref "components" >}}) section.
+
+Now that the architecture is introduced, let's take a look at the various methods to interact with {{% tts %}}.
diff --git a/doc/content/the-things-stack/concepts/architecture/tts-architecture.jpeg b/doc/content/concepts/architecture/tts-architecture.jpeg
similarity index 100%
rename from doc/content/the-things-stack/concepts/architecture/tts-architecture.jpeg
rename to doc/content/concepts/architecture/tts-architecture.jpeg
diff --git a/doc/content/gateways/concepts/lora-basics-station/cups.md b/doc/content/gateways/concepts/lora-basics-station/cups.md
index 180bfe9035..2c17f3edcf 100644
--- a/doc/content/gateways/concepts/lora-basics-station/cups.md
+++ b/doc/content/gateways/concepts/lora-basics-station/cups.md
@@ -18,7 +18,7 @@ aliases: [/gateways/lora-basics-station/cups]
## Create a Gateway
-To connect a gateway using the CUPS protocol, you must first add the gateway in {{% tts %}}. This can be done either in the console, or via the command line. See instructions for [Adding Gateways]({{< ref "/gateways/concepts/adding-gateways" >}}).
+To connect a gateway using the CUPS protocol, you must first add the gateway in {{% tts %}}. This can be done either in the console, or via the command line. See instructions for [Adding Gateways]({{< ref "/gateways/concepts/adding-gateways" >}}).
## Create Separate CUPS and LNS API Keys
@@ -58,7 +58,7 @@ Press **Save Changes** to update the gateway settings. When your gateway connect
{{< tabs/tab "CLI" >}}
-We need to configure CUPS in {{% tts %}} to transmit the LNS API key when a gateway connects. Use the following command to do so, replacing `"your-gateway-id"` with your gateway ID in {{% tts %}} and `"your-lns-api-key"` with the [LNS API key]({{< ref "/gateways/concepts/lora-basics-station/cups#create-separate-cups-and-lns-api-keys" >}}) you created in the last step:
+We need to configure CUPS in {{% tts %}} to transmit the LNS API key when a gateway connects. Use the following command to do so, replacing `"your-gateway-id"` with your gateway ID in {{% tts %}} and `"your-lns-api-key"` with the [LNS API key]({{< ref "/gateways/concepts/lora-basics-station/cups#create-separate-cups-and-lns-api-keys" >}}) you created in the last step:
```bash
GTW_ID="your-gateway-id"
@@ -81,15 +81,14 @@ If successful, you should receive a response as follows:
},
"created_at": "2020-10-13T10:49:02.730Z",
"updated_at": "2020-11-17T14:52:06.440Z",
- "version_ids": {
-
- },
+ "version_ids": {},
"lbs_lns_secret": {
"key_id": "is/gateway-secrets-encryption-key",
"value": ""
}
}
```
+
{{ tabs/tab >}}
@@ -98,15 +97,15 @@ If successful, you should receive a response as follows:
## Configure Gateway
-All {{% lbs %}} gateways support the following configuration options. Consult your gateway documentation for more information about configuring your specific gateway.
+All {{% lbs %}} gateways support the following configuration options. Consult your gateway documentation for more information about configuring your specific gateway.
### CUPS Server Address
The server address is the network endpoint of {{% tts %}} CUPS. It is a combination of the **protocol** (https), the **server address**, and the **port**.
-Enter the following in your gateway as CUPS Server Address: `https://:443`.
+Enter the following in your gateway as CUPS Server Address: `https://:443`.
-The `` is the address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}) for more info.
+The `` is the address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}) for more info.
### CUPS Server Certificate / CUPS Trust
diff --git a/doc/content/gateways/concepts/lora-basics-station/lns.md b/doc/content/gateways/concepts/lora-basics-station/lns.md
index 983f7a77d0..a70c4a0398 100644
--- a/doc/content/gateways/concepts/lora-basics-station/lns.md
+++ b/doc/content/gateways/concepts/lora-basics-station/lns.md
@@ -20,7 +20,7 @@ These are general instructions for all {{% lbs %}} gateways. For specific instru
## Create a Gateway
-To connect a gateway using the LNS protocol, you must first add the gateway in {{% tts %}}. This can be done either in the console, or via the command line. See instructions for [Adding Gateways]({{< ref "/gateways/concepts/adding-gateways" >}}).
+To connect a gateway using the LNS protocol, you must first add the gateway in {{% tts %}}. This can be done either in the console, or via the command line. See instructions for [Adding Gateways]({{< ref "/gateways/concepts/adding-gateways" >}}).
## Create an API Key
@@ -34,7 +34,7 @@ To create this API key for your gateway, follow instructions for [Creating a Gat
## Configure Gateway
-All {{% lbs %}} gateways support the following configuration options. Consult your gateway documentation for more information about configuring your specific gateway.
+All {{% lbs %}} gateways support the following configuration options. Consult your gateway documentation for more information about configuring your specific gateway.
### LNS Server Address
@@ -42,7 +42,7 @@ The server address is the network endpoint of {{% tts %}} LNS. It is a combinati
Enter the following in your gateway as the LNS Server Address: `wss://:8887`.
-The `` is the address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}) for more info.
+The `` is the address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}) for more info.
### LNS Server Certificate / LNS Trust
diff --git a/doc/content/gateways/models/ciscowirelessgateway/_index.md b/doc/content/gateways/models/ciscowirelessgateway/_index.md
index dc13c469e9..c93c26e2c1 100644
--- a/doc/content/gateways/models/ciscowirelessgateway/_index.md
+++ b/doc/content/gateways/models/ciscowirelessgateway/_index.md
@@ -13,7 +13,7 @@ This page guides you to connecting the Cisco Wireless Gateway for LoRaWAN® to {
-Technical specifications for this gateway can be found in [Cisco's official documentation](https://www.cisco.com/c/en/us/products/routers/wireless-gateway-lorawan/).
+Technical specifications for this gateway can be found in [Cisco's official documentation](https://www.cisco.com/c/en/us/products/routers/wireless-gateway-lorawan/).
{{< figure src="cisco.png" alt="Cisco LoRaWAN Gateway" class="float plain" width="60%" >}}
@@ -29,7 +29,7 @@ Create a gateway by following the instructions for the [Console]({{< ref "/the-t
The gateway EUI is derived from the MAC address that can be found on the back panel of the gateway. To get the EUI from the MAC address insert `FFFE` after the first 6 characters to make it a 64-bit EUI. For example, if the gateway's MAC address is `5B:A0:CB:80:04:2B` then the EUI is `5B A0 CB FF FE 80 04 2B`.
-The **Gateway Server Address** is the address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}).
+The **Gateway Server Address** is the address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}).
## Configuration
@@ -62,7 +62,7 @@ Gateway> enable
To configure your Cisco Gateway to your network, type the following commands:
```
-Gateway# configure terminal
+Gateway# configure terminal
Gateway(config)# interface FastEthernet 0/1
```
@@ -146,7 +146,7 @@ This command may return the message `packet-forwarder firmware is not installed`
As a final step before setting up the packet forwarder software, we are going to enable the radio. You can see radio information with the `show radio` command:
```
-Gateway# show radio
+Gateway# show radio
ORA_SN: FOC21028R8S
ORA_PN: 95.1602T01
ORA_SKU: 915
@@ -164,7 +164,7 @@ on
If the radio is off, enable it with:
```
-Gateway# configure terminal
+Gateway# configure terminal
Gateway(config)# no radio off
Gateway(config)# exit
```
@@ -177,22 +177,22 @@ To prevent unauthorized access to the gateway, you'll want to set up user authen
To enable this secret system, you can use the following commands:
-+ `Gateway# configure terminal` to enter global configuration mode.
-+ To set the secret, you can use different commands:
- `Gateway(config)# enable secret ` to enter in plaintext the secret you wish to set, instead of ``. *Note*: Special characters cannot be used in plain secrets.
+- `Gateway# configure terminal` to enter global configuration mode.
+- To set the secret, you can use different commands:
+ `Gateway(config)# enable secret ` to enter in plaintext the secret you wish to set, instead of ``. _Note_: Special characters cannot be used in plain secrets.
`Gateway(config)# enable secret 5 ` to enter the md5-encrypted secret.
`Gateway(config)# enable secret 8 ` to enter the SHA512-encrypted secret.
-+ `Gateway(config)# exit` to exit global configuration mode.
-+ `Gateway#copy running-config startup-config` to save the configuration.
+- `Gateway(config)# exit` to exit global configuration mode.
+- `Gateway#copy running-config startup-config` to save the configuration.
### Verification
Before we install the packet forwarder, let's run verification to ensure that the gateway is ready.
-+ Type `show radio` to verify that the radio is enabled. The result should indicate **radio status: on**.
-+ Type `show inventory` to verify that the **FPGAStatus** is **Ready**.
-+ Type `show gps status` to verify that the GPS is correctly connected. You can get additional GPS metadata by typing `show gps info`.
-+ Verify that the network connection is working. You can test this by pinging common ping servers with `ping ip `, if your local network does not block ping commands. For example, you can ping Google's servers with `ping ip 8.8.8.8`.
+- Type `show radio` to verify that the radio is enabled. The result should indicate **radio status: on**.
+- Type `show inventory` to verify that the **FPGAStatus** is **Ready**.
+- Type `show gps status` to verify that the GPS is correctly connected. You can get additional GPS metadata by typing `show gps info`.
+- Verify that the network connection is working. You can test this by pinging common ping servers with `ping ip `, if your local network does not block ping commands. For example, you can ping Google's servers with `ping ip 8.8.8.8`.
If some of those checks fail, go back to the appropriate section earlier in order to fix it.
diff --git a/doc/content/gateways/models/mikrotik-knot/_index.md b/doc/content/gateways/models/mikrotik-knot/_index.md
index cfea3d4bc6..b1cc8bb931 100644
--- a/doc/content/gateways/models/mikrotik-knot/_index.md
+++ b/doc/content/gateways/models/mikrotik-knot/_index.md
@@ -31,7 +31,7 @@ Create a gateway by following the instructions for [Adding Gateways]({{< ref "/g
## Configuration via Browser
-The MikroTik Routerboard exposes a WiFi Access Point (AP) with SSID `MikroTik-xxxxxx`, where `xxxxxx` are the last 6 digits of the device's MAC address. Use your PC, tablet or smartphone to connect to this AP. You will not need a password to connect to this AP.
+The MikroTik Routerboard exposes a WiFi Access Point (AP) with SSID `MikroTik-xxxxxx`, where `xxxxxx` are the last 6 digits of the device's MAC address. Use your PC, tablet or smartphone to connect to this AP. You will not need a password to connect to this AP.
By opening your browser to `http://192.168.88.1/webfig` you will be able to access the RouterOS web interface and configure your gateway device.
@@ -50,7 +50,7 @@ From the top menu, select the **Servers** tab and press the **Add New** button.
Edit the server parameters.
- **Name**: A distinct name which you can define yourself
-- **Address**: The address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}).
+- **Address**: The address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}).
- **Up port**: UDP upstream port of the Gateway Server, typically `1700`.
- **Down port**: UDP downstream port of the Gateway Server, typically `1700`.
@@ -83,6 +83,7 @@ To test whether a connection with your LTE-M network is established, go to the *
```
/interface ppp-client info ppp-out1
```
+
If the gateway is set up correctly, it will respond with a message like:
```
diff --git a/doc/content/gateways/models/mikrotik-ltap/_index.md b/doc/content/gateways/models/mikrotik-ltap/_index.md
index 7a5a4cc4c5..4e36c33049 100644
--- a/doc/content/gateways/models/mikrotik-ltap/_index.md
+++ b/doc/content/gateways/models/mikrotik-ltap/_index.md
@@ -21,15 +21,15 @@ For more info, see Mikrotik's [official product page](https://mikrotik.com/produ
**Features:**
-* 2.4 GHz AP in a rugged case
-* LTE installed in miniPCIe slot
-* Second miniPCIe slot for expansions
-* Three Mini SIM slots
-* Gigabit Ethernet port
-* Built-in GPS
-* Many powering options (DC jack, POE-in, automotive)
-* Serial port and full size USB for other devices
-* Perfect for cars or outdoor mobile applications
+- 2.4 GHz AP in a rugged case
+- LTE installed in miniPCIe slot
+- Second miniPCIe slot for expansions
+- Three Mini SIM slots
+- Gigabit Ethernet port
+- Built-in GPS
+- Many powering options (DC jack, POE-in, automotive)
+- Serial port and full size USB for other devices
+- Perfect for cars or outdoor mobile applications
{{< warning >}} Currently, this gateway does not support changing frequency channels. {{ warning >}}
@@ -58,6 +58,7 @@ Select **LoRa** on the left hand menu. The status of the gateway should be **Dis
{{< figure src="portal-lora.png" alt="MikroTik LoRa portal" class="plain" >}}
If you do not see any devices listed in the **Devices** tab of the **LoRa** menu, you will need to enable the LoRa interface first. To do so, click the **Terminal** button in the upper right corner and enter the command:
+
```
system routerboard usb set type=mini-PCIe
```
@@ -70,8 +71,8 @@ From the top menu, select the **Servers** Tab and press the **Add New** button.
Edit the server parameters.
-- **Name**: A distinct name
-- **Address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}).
+- **Name**: A distinct name
+- **Address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}).
- **Up port**: UDP upstream port of the Gateway Server, typically `1700`.
- **Down port**: UDP downstream port of the Gateway Server, typically `1700`.
diff --git a/doc/content/gateways/models/mikrotikrouterboard/_index.md b/doc/content/gateways/models/mikrotikrouterboard/_index.md
index 046e08da50..f81503314c 100644
--- a/doc/content/gateways/models/mikrotikrouterboard/_index.md
+++ b/doc/content/gateways/models/mikrotikrouterboard/_index.md
@@ -49,7 +49,7 @@ Open a browser to `http://192.168.88.1/webfig/#Interfaces`.
{{< figure src="portal.png" alt="Portal" class="plain" >}}
-In the left hand menu select **LoRa**. Make sure the status is set to *Disabled*, if needed press the **D** to disable the LoRa Device.
+In the left hand menu select **LoRa**. Make sure the status is set to _Disabled_, if needed press the **D** to disable the LoRa Device.
{{< figure src="portal-lora.png" alt="LoRa" class="plain" >}}
@@ -59,8 +59,8 @@ From the top menu, select the **Servers** Tab and press the **Add New** button.
Edit the server parameters.
-- **Name**: A distinct name
-- **Address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}).
+- **Name**: A distinct name
+- **Address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}).
- **Up port**: UDP upstream port of the Gateway Server, typically `1700`.
- **Down port**: UDP downstream port of the Gateway Server, typically `1700`.
@@ -110,16 +110,16 @@ Scroll down and click on **LoRa**. In the **LoRa** config window select **Device
{{< figure src="mikrotik-routerboard-lora-disable.jpeg" alt="MikroTik Routerboard wAP LoRa8 kit LoRa disable" >}}
-Back in the **LoRa** section, select the **Servers** section. Select the **+** button to add a new server.
+Back in the **LoRa** section, select the **Servers** section. Select the **+** button to add a new server.
Edit the server parameters.
-- **Name**: A distinct name
-- **Address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}).
+- **Name**: A distinct name
+- **Address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}).
- **Up port**: UDP upstream port of the Gateway Server, typically `1700`.
- **Down port**: UDP downstream port of the Gateway Server, typically `1700`.
-Now back in the **LoRa** section, select **Devices** and select the **LoRa Device**. Click on **Network Servers** and select the server based on the name in the previous step.
+Now back in the **LoRa** section, select **Devices** and select the **LoRa Device**. Click on **Network Servers** and select the server based on the name in the previous step.
Go back and click on the device and enable it.
diff --git a/doc/content/gateways/models/milesightug56/packet-forwarder.md b/doc/content/gateways/models/milesightug56/packet-forwarder.md
index 8522887103..faf50be52e 100644
--- a/doc/content/gateways/models/milesightug56/packet-forwarder.md
+++ b/doc/content/gateways/models/milesightug56/packet-forwarder.md
@@ -15,7 +15,7 @@ In the server configuration options, check the **Enable** box.
Choose **Semtech** as the **Type**.
-For the **Server Address** choose **custom**, and enter the address of {{% tts %}} deployment you are using. See [Server Addresses]({{< ref "/the-things-stack/concepts/server-addresses" >}}) section for help.
+For the **Server Address** choose **custom**, and enter the address of {{% tts %}} deployment you are using. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}) section for help.
Choose the appropriate **Port Up** and **Port Down** values. These are both **1700** by default in {{% tts %}}.
diff --git a/doc/content/gateways/models/milesightug65/packet-forwarder.md b/doc/content/gateways/models/milesightug65/packet-forwarder.md
index d49445a396..cda535b05e 100644
--- a/doc/content/gateways/models/milesightug65/packet-forwarder.md
+++ b/doc/content/gateways/models/milesightug65/packet-forwarder.md
@@ -15,7 +15,7 @@ In the server configuration options, check the **Enable** box.
Choose **Semtech** as the **Type**.
-For the **Server Address** choose **custom**, and enter the address of {{% tts %}} deployment you are using. See [Server Addresses]({{< ref "/the-things-stack/concepts/server-addresses" >}}) section for help.
+For the **Server Address** choose **custom**, and enter the address of {{% tts %}} deployment you are using. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}) section for help.
Choose the appropriate **Port Up** and **Port Down** values. These are both **1700** by default in {{% tts %}}.
diff --git a/doc/content/gateways/models/milesightug67/packet-forwarder.md b/doc/content/gateways/models/milesightug67/packet-forwarder.md
index 79020e67b5..e1afbfab28 100644
--- a/doc/content/gateways/models/milesightug67/packet-forwarder.md
+++ b/doc/content/gateways/models/milesightug67/packet-forwarder.md
@@ -15,7 +15,7 @@ In the server configuration options, check the **Enable** box.
Choose **Semtech** as the **Type**.
-For the **Server Address** choose **custom**, and enter the address of {{% tts %}} deployment you are using. See [Server Addresses]({{< ref "/the-things-stack/concepts/server-addresses" >}}) section for help.
+For the **Server Address** choose **custom**, and enter the address of {{% tts %}} deployment you are using. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}) section for help.
Choose the appropriate **Port Up** and **Port Down** values. These are both **1700** by default in {{% tts %}}.
diff --git a/doc/content/gateways/models/milesightug85/packet-forwarder.md b/doc/content/gateways/models/milesightug85/packet-forwarder.md
index 7626d7ca77..8dd4297be9 100644
--- a/doc/content/gateways/models/milesightug85/packet-forwarder.md
+++ b/doc/content/gateways/models/milesightug85/packet-forwarder.md
@@ -15,7 +15,7 @@ In the server configuration options, check the **Enable** box.
Choose **Semtech** as the **Type**.
-For the **Server Address** choose **custom**, and enter the address of {{% tts %}} deployment you are using. See [Server Addresses]({{< ref "/the-things-stack/concepts/server-addresses" >}}) section for help.
+For the **Server Address** choose **custom**, and enter the address of {{% tts %}} deployment you are using. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}) section for help.
Choose the appropriate **Port Up** and **Port Down** values. These are both **1700** by default in {{% tts %}}.
diff --git a/doc/content/gateways/models/milesightug87/packet-forwarder.md b/doc/content/gateways/models/milesightug87/packet-forwarder.md
index 163007fa23..aae622ae95 100644
--- a/doc/content/gateways/models/milesightug87/packet-forwarder.md
+++ b/doc/content/gateways/models/milesightug87/packet-forwarder.md
@@ -15,7 +15,7 @@ In the server configuration options, check the **Enable** box.
Choose **Semtech** as the **Type**.
-For the **Server Address** choose **custom**, and enter the address of {{% tts %}} deployment you are using. See [Server Addresses]({{< ref "/the-things-stack/concepts/server-addresses" >}}) section for help.
+For the **Server Address** choose **custom**, and enter the address of {{% tts %}} deployment you are using. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}) section for help.
Choose the appropriate **Port Up** and **Port Down** values. These are both **1700** by default in {{% tts %}}.
diff --git a/doc/content/gateways/models/multitechconduit/lbs.md b/doc/content/gateways/models/multitechconduit/lbs.md
index 19868f066e..6e690c2133 100644
--- a/doc/content/gateways/models/multitechconduit/lbs.md
+++ b/doc/content/gateways/models/multitechconduit/lbs.md
@@ -29,7 +29,7 @@ Be sure to select **CUPS** in the **Credentials** dropdown.
The entire configuration should look like:
- Credentials: CUPS
-- URI: See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}})
+- URI: See [Server Addresses]({{< ref "/cloud/server-addresses" >}})
- Station Config: Leave it as-is (will be overwritten by CUPS)
- Server Cert: Use the [ISRG Root X1 Certificate]({{< ref "reference/root-certificates#isrg-root-x1" >}})
- Gateway Cert: Leave blank
diff --git a/doc/content/gateways/models/nasysoutdoorgateway/_index.md b/doc/content/gateways/models/nasysoutdoorgateway/_index.md
index a736641842..e254c34375 100644
--- a/doc/content/gateways/models/nasysoutdoorgateway/_index.md
+++ b/doc/content/gateways/models/nasysoutdoorgateway/_index.md
@@ -15,7 +15,7 @@ This page guides you to connect NASys LoRaWAN® Outdoor Gateway to {{% tts %}}.
-NASys LoRaWAN Outdoor Gateway is an 8 Channel LoRaWAN gateway, whose technical specifications can be found in [the official product page](https://www.nasys.no/product/lorawan-gateway/).
+NASys LoRaWAN Outdoor Gateway is an 8 Channel LoRaWAN gateway, whose technical specifications can be found in [the official product page](https://www.nasys.no/product/lorawan-gateway/).
## Prerequisites
@@ -64,7 +64,7 @@ vi /opt/nas-lgw/global_conf.json
Edit the server parameters:
- **gateway_ID**: Make sure this is the same as the GatewayEUI (in lowercase).
-- **server_address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}).
+- **server_address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}).
- **serv_port_up**: UDP upstream port of the Gateway Server, typically 1700.
- **serv_port_down**: UDP downstream port of the Gateway Server, typically 1700.
diff --git a/doc/content/gateways/models/raspberry-pi/_index.md b/doc/content/gateways/models/raspberry-pi/_index.md
index f7b443d030..3356e75ddf 100644
--- a/doc/content/gateways/models/raspberry-pi/_index.md
+++ b/doc/content/gateways/models/raspberry-pi/_index.md
@@ -172,7 +172,7 @@ Create a configuration file `tc.uri` containing an LNS server address. For examp
echo 'wss://eu1.cloud.thethings.network:8887' | sudo tee /opt/ttn-station/config/tc.uri
```
-See [Server Addresses]({{< ref "/the-things-stack/concepts/server-addresses" >}}) if you are not sure which server address to use. See also [LNS Server Address]({{< ref "/gateways/concepts/lora-basics-station/lns#lns-server-address" >}}) for info about LNS server address format.
+See [Server Addresses]({{< ref "/cloud/server-addresses" >}}) if you are not sure which server address to use. See also [LNS Server Address]({{< ref "/gateways/concepts/lora-basics-station/lns#lns-server-address" >}}) for info about LNS server address format.
Next, create the `tc.key` configuration file containing an authorization header. This header will contain the API Key you created in the previous step, and it will be used to authenticate your gateway's connection.
diff --git a/doc/content/gateways/models/tektelickonamicro/udp.md b/doc/content/gateways/models/tektelickonamicro/udp.md
index 1ae1368eaa..c400fba268 100644
--- a/doc/content/gateways/models/tektelickonamicro/udp.md
+++ b/doc/content/gateways/models/tektelickonamicro/udp.md
@@ -20,7 +20,7 @@ Press the `i` key on your keyboard to start insert mode. Once finished editing,
Edit the server parameters:
-- **server_address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}).
+- **server_address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}).
- **serv_port_up**: UDP upstream port of the Gateway Server, typically 1700.
- **serv_port_down**: UDP downstream port of the Gateway Server, typically 1700.
diff --git a/doc/content/gateways/models/thethingskickstartergateway/_index.md b/doc/content/gateways/models/thethingskickstartergateway/_index.md
index 7082bc1683..ffdfa13658 100644
--- a/doc/content/gateways/models/thethingskickstartergateway/_index.md
+++ b/doc/content/gateways/models/thethingskickstartergateway/_index.md
@@ -46,7 +46,7 @@ Choose the WiFi network from the drop down and enter a password if necessary.
Click the **Show Advanced Options** button and enter the following fields:
-- **Account Server**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}).
+- **Account Server**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}).
- **Gateway Key**: The API Key that you created earlier.
- Click **Save** when done.
@@ -93,7 +93,7 @@ A possible cause of this issue is that the LoRa board is not fully pushed in in
### My gateway stays in AP mode. What do I do?
-This behaviour occurs when there is a glitch in the WiFi connection of the gateway. When this happens, your gateway will turn into an AP and devices you used to set up the gateway can connect to it (your laptop or phone). To avoid this, you should remove the gateway from the list of APs from your laptop/phone (*Network Settings → Things-Gateway-XXXX → Forget this network*).
+This behaviour occurs when there is a glitch in the WiFi connection of the gateway. When this happens, your gateway will turn into an AP and devices you used to set up the gateway can connect to it (your laptop or phone). To avoid this, you should remove the gateway from the list of APs from your laptop/phone (_Network Settings → Things-Gateway-XXXX → Forget this network_).
### I want to get in-depth insight/read debug messages of my gateway. Is that possible?
@@ -103,7 +103,7 @@ Connect a UART interface device to your computer. Connect the RX line to the RX
{{< figure src="uart-sample.jpg" alt="Sample connection between The Things Kickstarter gateway and an UART device" >}}
-Now, you need to start a terminal session to UART interface device with `115200@8N`. On Windows you can use *PuTTY*, on macOS or Linux use *screen*. The sample output is shown below.
+Now, you need to start a terminal session to UART interface device with `115200@8N`. On Windows you can use _PuTTY_, on macOS or Linux use _screen_. The sample output is shown below.
{{< figure src="screen-macos.png" alt="Sample screen output" >}}
@@ -111,6 +111,6 @@ Now, you need to start a terminal session to UART interface device with `115200@
There is no need to reconfigure the gateway, however, it is recommended to update the [gateway location settings]({{< ref "/gateways/concepts/adding-gateways#set-gateway-location" >}}) in {{% tts %}} Console for a better accuracy.
-### I see *Unexpected data sent to gateway* error. What should I do?
+### I see _Unexpected data sent to gateway_ error. What should I do?
This error seems to appear when the Gateway ID length exceeds the maximum of 34 characters. If your gateway's ID is longer than the maximum allowed, delete and re-register your gateway in {{% tts %}} Console with a new, shorter Gateway ID.
diff --git a/doc/content/gateways/models/thethingsoutdoor/_index.md b/doc/content/gateways/models/thethingsoutdoor/_index.md
index 0a9cb471e3..8b71e4ed6c 100644
--- a/doc/content/gateways/models/thethingsoutdoor/_index.md
+++ b/doc/content/gateways/models/thethingsoutdoor/_index.md
@@ -19,15 +19,15 @@ The Things Outdoor Gateway (TTOG) is an industrial, outdoor and fully compliant
**Salient Features:**
-* LoRaWAN 1.0.2 compliant
-* Supports eight channels for EU868 and US915 bands
-* 3G/4G backhaul via built in modem
-* Supports LBT (Listen Before Talk)
-* EU868, US915, AS923 and CN470 versions available
-* IP67 waterproof enclosure
-* Dimensions: 230 x 200 x 68mm
-* Weight: 2.05kg
-* Power voltage: 55VDC/0.6A via included PoE adapter
+- LoRaWAN 1.0.2 compliant
+- Supports eight channels for EU868 and US915 bands
+- 3G/4G backhaul via built in modem
+- Supports LBT (Listen Before Talk)
+- EU868, US915, AS923 and CN470 versions available
+- IP67 waterproof enclosure
+- Dimensions: 230 x 200 x 68mm
+- Weight: 2.05kg
+- Power voltage: 55VDC/0.6A via included PoE adapter
The outdoor gateway is currently available from [Connected Things Store](https://connectedthings.store) in both EU and US versions.
@@ -40,10 +40,10 @@ The outdoor gateway is currently available from [Connected Things Store](https:/
Connect all antennas:
- - ANT 1 - GPS
- - ANT 2 - LTE antenna
- - ANT 3 - LoRaWAN antenna
- - ANT 4 - (not used)
+- ANT 1 - GPS
+- ANT 2 - LTE antenna
+- ANT 3 - LoRaWAN antenna
+- ANT 4 - (not used)
Then, connect the PoE injector output cable to the gateway ethernet connector. Connect the PoE input cable to your network.
@@ -51,7 +51,7 @@ Then, connect the PoE injector output cable to the gateway ethernet connector. C
The ODU GUI is a web interface to configure all network settings. The ODU GUI uses the IP address assigned by the gateway to enter the network setting page.
-Connect and power the gateway as above. The gateway will use DHCP to request an IP address from the network. Find this IP address from your router and enter the IP address assigned to the gateway into the web browser to access the ODU GUI interface. The configuration page should look like this:
+Connect and power the gateway as above. The gateway will use DHCP to request an IP address from the network. Find this IP address from your router and enter the IP address assigned to the gateway into the web browser to access the ODU GUI interface. The configuration page should look like this:
{{< figure src="GUI.png" alt="TTOG GUI">}}
@@ -60,9 +60,9 @@ Connect and power the gateway as above. The gateway will use DHCP to request an
Navigate to **Packet Forward** > **Module 1 Settings** on the left hand menu and enter the following settings to connect the gateway to {{% tts %}}:
- - **Server Address:** The address of your {{% tts %}} instance. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}})
- - **Server Uplink Port:** 1700
- - **Server Downlink Port:** 1700
+- **Server Address:** The address of your {{% tts %}} instance. See [Server Addresses]({{< ref "/cloud/server-addresses" >}})
+- **Server Uplink Port:** 1700
+- **Server Downlink Port:** 1700
{{< figure src="gateway-info.png" alt="Gateway Info">}}
@@ -75,10 +75,11 @@ If you connect via 3G/LTE, it will take a few minutes before the gateway will st
Once the gateway is in LTE backhaul mode it doesn't request an IP from the Ethernet interface again. To connect to the gateway and open the ODU GUI again, you can access the web interface via the fallback IP address: [`168.168.168.253`](http://168.168.168.253).
You will need to set your PC's IP address in the same range, e.g.:
+
- IP address: `168.168.168.100`
- Subnet Mask: `255.255.255.0`
- Router: `168.168.168.253`
-
+
## Registration
Create a gateway in {{% tts %}} by following the instructions for [Adding Gateways]({{< ref "/gateways/concepts/adding-gateways" >}}).
@@ -95,8 +96,8 @@ If all steps have been followed correctly, once you register your gateway it wil
When you cannot find a way to change the LoRaWAN® settings, you might need to update the system firmware. You can do so by following steps below:
-* Navigate to **System** > **System Firmware** on the left hand menu
-* Download [this file](https://connectedthings.store/files/WAPS-232N_LW_OPDK_GUI_1.01.27_521895521.tar.gz), making sure to keep the file name exactly the same (do not unzip this file)
-* Upload the file and click **Upgrade**
-{{< figure src="upgrade_1.png" alt="Upgrade Page">}}
-* The gateway will automatically reboot with the upgraded firmware
+- Navigate to **System** > **System Firmware** on the left hand menu
+- Download [this file](https://connectedthings.store/files/WAPS-232N_LW_OPDK_GUI_1.01.27_521895521.tar.gz), making sure to keep the file name exactly the same (do not unzip this file)
+- Upload the file and click **Upgrade**
+ {{< figure src="upgrade_1.png" alt="Upgrade Page">}}
+- The gateway will automatically reboot with the upgraded firmware
diff --git a/doc/content/gateways/models/wifx-l1/lbs.md b/doc/content/gateways/models/wifx-l1/lbs.md
index 2db0982382..fa85c2343d 100644
--- a/doc/content/gateways/models/wifx-l1/lbs.md
+++ b/doc/content/gateways/models/wifx-l1/lbs.md
@@ -27,7 +27,7 @@ Scroll down to the **Configuration** section and enable the **LoRaWAN Network Se
{{< figure src="../wifx-l1-lora-settings-bs.png" alt="Wifx L1 LoRa forwarder Basic Station LNS" >}}
-Configure the **Address** with the [Server Address]({{< ref "the-things-stack/concepts/server-addresses" >}}) of your deployment, and **Port** with LNS port `8887`.
+Configure the **Address** with the [Server Address]({{< ref "/cloud/server-addresses" >}}) of your deployment, and **Port** with LNS port `8887`.
Enable the **Secured TLS connection** and select the **Use local root certificates** option. If you need to use a certificate specific to your infrastructure (for on-premise installations), use the **Use certificate file** option instead and upload the certificate.
diff --git a/doc/content/gateways/models/wifx-l1/udp.md b/doc/content/gateways/models/wifx-l1/udp.md
index 3357abe798..4af4e7052b 100644
--- a/doc/content/gateways/models/wifx-l1/udp.md
+++ b/doc/content/gateways/models/wifx-l1/udp.md
@@ -13,9 +13,8 @@ In the **Configuration** pane, click **Edit** (blue button with a pencil).
On the **Global** tab of the configuration editor, set the following configuration:
-- **Address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}).
+- **Address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}).
- **Up port**: UDP upstream port of the Gateway Server, typically `1700`.
- **Down port**: UDP downstream port of the Gateway Server, typically `1700`.
-
Save the configuration and start the packet forwarder.
diff --git a/doc/content/gateways/models/wifx-lorix-one/lbs.md b/doc/content/gateways/models/wifx-lorix-one/lbs.md
index ccd2d4082e..a2a066f8a8 100644
--- a/doc/content/gateways/models/wifx-lorix-one/lbs.md
+++ b/doc/content/gateways/models/wifx-lorix-one/lbs.md
@@ -27,7 +27,7 @@ Scroll down to the **Configuration** section and enable the **LoRaWAN Network Se
{{< figure src="../lorix-one-lora-settings-bs.png" alt="LORIX One LoRa forwarder Basic Station LNS" >}}
-Configure the **Address** with the [Server Address]({{< ref "the-things-stack/concepts/server-addresses" >}}) of your deployment, and **Port** with LNS port `8887`.
+Configure the **Address** with the [Server Address]({{< ref "/cloud/server-addresses" >}}) of your deployment, and **Port** with LNS port `8887`.
Enable the **Secured TLS connection** and select the **Use local root certificates** option. If you need to use a certificate specific to your infrastructure (for on-premise installations), use the **Use certificate file** option instead and upload the certificate.
diff --git a/doc/content/gateways/models/wifx-lorix-one/udp.md b/doc/content/gateways/models/wifx-lorix-one/udp.md
index b27c4e8baf..038f3abdc8 100644
--- a/doc/content/gateways/models/wifx-lorix-one/udp.md
+++ b/doc/content/gateways/models/wifx-lorix-one/udp.md
@@ -13,9 +13,8 @@ In the **Configuration** pane, click **Edit** (blue button with a pencil)
On the **Global** tab of the configuration editor, set the following configuration:
-- **Address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}).
+- **Address**: Address of your {{% tts %}} deployment. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}).
- **Up port**: UDP upstream port of the Gateway Server, typically `1700`.
- **Down port**: UDP downstream port of the Gateway Server, typically `1700`.
-
Save the configuration and start the packet forwarder.
diff --git a/doc/content/gateways/troubleshooting/_index.md b/doc/content/gateways/troubleshooting/_index.md
index c00a295599..dbcad7779d 100644
--- a/doc/content/gateways/troubleshooting/_index.md
+++ b/doc/content/gateways/troubleshooting/_index.md
@@ -11,7 +11,7 @@ This section provides help for common issues and frequently asked questions you
## What is my server address?
-This is the address you use to access {{% tts %}}. See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}).
+This is the address you use to access {{% tts %}}. See [Server Addresses]({{< ref "/cloud/server-addresses" >}}).
For {{% lbs %}}:
diff --git a/doc/content/getting-started/_index.md b/doc/content/getting-started/_index.md
index 351ceb9ef8..86b559f840 100644
--- a/doc/content/getting-started/_index.md
+++ b/doc/content/getting-started/_index.md
@@ -1,11 +1,16 @@
---
title: "Getting Started"
-description: ""
-weight: -2
+description: "Learn how to quickly get started with The Things Stack"
menu:
main:
- weight: 2
-aliases: [/guides/getting-started, /guides/getting-started/running-the-stack, /guides/getting-started/quick-start, /getting-started/quick-start/]
+ weight: 1
+aliases:
+ [
+ /guides/getting-started,
+ /guides/getting-started/running-the-stack,
+ /guides/getting-started/quick-start,
+ /getting-started/quick-start/,
+ ]
---
{{% tts %}} is an enterprise-grade LoRaWAN® Network Server that provides services and tools to securely install and manage millions of LoRaWAN devices in production.
@@ -19,7 +24,3 @@ We then introduce [{{% tts %}}]({{< relref "the-things-stack-basics" >}}) and it
With these basics covered, we can now [setup your first LoRaWAN network]({{< relref "setup-first-network" >}}).
Finally, since LoRaWAN and {{% tts %}} are deep topics, we provide suggestions on the [next steps]({{< relref "next-steps" >}}).
-
-
-
-
diff --git a/doc/content/getting-started/faq/_index.md b/doc/content/getting-started/faq/_index.md
index b778da67ca..1a3609429a 100644
--- a/doc/content/getting-started/faq/_index.md
+++ b/doc/content/getting-started/faq/_index.md
@@ -16,7 +16,7 @@ Check out [this article](https://www.thethingsindustries.com/news/why-you-should
## How does {{% tts %}} work?
-Check out [{{% tts %}} Architecture]({{< ref "/the-things-stack/concepts/architecture" >}}) guide for a detailed overview of the platform components and their functionality.
+Check out [{{% tts %}} Architecture]({{< ref "/concepts/architecture" >}}) guide for a detailed overview of the platform components and their functionality.
## How to choose a LoRaWAN device?
@@ -48,7 +48,7 @@ Yes, {{% tts %}} can be installed on your own hardware - check out a detailed gu
{{% tts %}} Cloud is a multi-tenant and multi-cluster deployment. Being multi-tenant makes it possible for each customer to has their own isolated network, while sharing the underlying infrastructure, and being multi-cluster makes it possible to store account information in a central location, while routing all your IoT traffic to the closest cluster, therefore reducing latency significantly.
-Check [{{% tts %}} Cloud documentation]({{< ref "/the-things-stack/cloud" >}}) for more details and a list of available clusters.
+Check [{{% tts %}} Cloud documentation]({{< ref "/cloud" >}}) for more details and a list of available clusters.
## How to improve LoRaWAN coverage and network performance?
@@ -62,4 +62,4 @@ For certain {{% tts %}} deployments it is possible to enable [Storage Integratio
## How to get the most out of the data acquired from devices?
-{{% tts %}} features a large number of third party platform [integrations]({{< ref "/integrations/" >}}). They can help you turn your sensor data from {{% tts %}} into a completely functional end-to-end IoT solution.
\ No newline at end of file
+{{% tts %}} features a large number of third party platform [integrations]({{< ref "/integrations/" >}}). They can help you turn your sensor data from {{% tts %}} into a completely functional end-to-end IoT solution.
diff --git a/doc/content/integrations/cloud-integrations/aws-iot/deployment-guide.md b/doc/content/integrations/cloud-integrations/aws-iot/deployment-guide.md
index c567590a0c..2a8afb1e4c 100644
--- a/doc/content/integrations/cloud-integrations/aws-iot/deployment-guide.md
+++ b/doc/content/integrations/cloud-integrations/aws-iot/deployment-guide.md
@@ -74,7 +74,7 @@ The parameters configure the integration:
- When using `DeviceID`, the thing name will be a combination of the CloudFormation stack name and the device ID as registered in {{% tts %}}, i.e. `_`.
- **Thing Shadow Metrics**: Enable or disable updating the thing shadow with metrics.
- **Cluster Address**: The cluster address of your {{% tts %}} deployment.
- - When using **The Things Stack Cloud**, go to [The Things Stack Cloud Addresses]({{< relref "/the-things-stack/cloud/addresses" >}}) to find your cluster address
+ - When using **The Things Stack Cloud**, go to [The Things Stack Cloud Addresses]({{< relref "/cloud/server-addresses" >}}) to find your cluster address
- When using **The Things Stack Enterprise**, enter your cluster address
- When using **The Things Network**, select the community cluster from the dropdown
- **Application ID**: The application ID for which you configure the integration.
diff --git a/doc/content/integrations/cloud-integrations/datacake/index.md b/doc/content/integrations/cloud-integrations/datacake/index.md
index 3d59f5a05b..6fd91dd7d4 100644
--- a/doc/content/integrations/cloud-integrations/datacake/index.md
+++ b/doc/content/integrations/cloud-integrations/datacake/index.md
@@ -1,11 +1,16 @@
---
title: "Datacake"
description: ""
-weight:
-aliases: ["/integrations/cloud-integrations/datacake/datacake-setup", "/integrations/cloud-integrations/datacake/tts-setup", "/integrations/cloud-integrations/datacake/scheduling-downlinks"]
+weight:
+aliases:
+ [
+ "/integrations/cloud-integrations/datacake/datacake-setup",
+ "/integrations/cloud-integrations/datacake/tts-setup",
+ "/integrations/cloud-integrations/datacake/scheduling-downlinks",
+ ]
---
-[Datacake](https://datacake.co/) is a multi-purpose IoT platform, which provides the possibility of building custom IoT applications, without requiring programming skills.
+[Datacake](https://datacake.co/) is a multi-purpose IoT platform, which provides the possibility of building custom IoT applications, without requiring programming skills.
@@ -15,11 +20,11 @@ aliases: ["/integrations/cloud-integrations/datacake/datacake-setup", "/integrat
## Setup Datacake
-First, create a **Workspace** on Datacake by navigating to the **Create Workspace** button in the upper left corner.
+First, create a **Workspace** on Datacake by navigating to the **Create Workspace** button in the upper left corner.
{{< figure src="datacake-workspace.png" alt="Add workspace on Datacake" >}}
-On the left hand menu, click **Devices**. To add a new device, click the **Add Device** button on the right.
+On the left hand menu, click **Devices**. To add a new device, click the **Add Device** button on the right.
In the **Add Device** pop-up menu, choose **LoRaWAN** → **Generic LoRa Device**. When asked **Which device are you missing?**, just click **Skip** and then select **The Things Industries** adapter.
@@ -29,17 +34,17 @@ After selecting your subscription plan, fill in **Name** and **DevEUI** for your
Once the device is created, you can click on it in the **Devices** menu to enter its settings.
-In the **Configuration** tab, you can find the **LoRaWAN** section, where you can configure **Network** settings, choose to **Authenticate Webhook** or define **Payload Decoder**.
+In the **Configuration** tab, you can find the **LoRaWAN** section, where you can configure **Network** settings, choose to **Authenticate Webhook** or define **Payload Decoder**.
Under **Network**, choose **The Things Industries** from the drop-down menu.
Paste your device's **End device ID** from {{% tts %}} in the **TTI Dev Id** field.
-The **TTI Server Url** field should contain the URL of your {{% tts %}} deployment. See the [Server Addresses section]({{< ref "/the-things-stack/concepts/server-addresses" >}}) for more info.
+The **TTI Server Url** field should contain the URL of your {{% tts %}} deployment. See the [Server Addresses section]({{< ref "/cloud/server-addresses" >}}) for more info.
-Paste your **Application ID** from {{% tts %}} in the **TTI App Id** field.
+Paste your **Application ID** from {{% tts %}} in the **TTI App Id** field.
-In {{% tts %}}, navigate to **API keys** on the left hand menu, click the **Add API key** button, give it a **Name** and confirm that you have copied it to finish. Paste the copied API key into the **TTI Api Key** field on Datacake.
+In {{% tts %}}, navigate to **API keys** on the left hand menu, click the **Add API key** button, give it a **Name** and confirm that you have copied it to finish. Paste the copied API key into the **TTI Api Key** field on Datacake.
{{< figure src="lorawan-settings.png" alt="LoRaWAN settings" >}}
@@ -65,7 +70,7 @@ Enter your device's settings page on Datacake and go to the **Downlinks** tab.
Click the **Add Downlink** button.
-Next, fill in the **Name** field, define the **Payload encoder** and click **Save Downlink**.
+Next, fill in the **Name** field, define the **Payload encoder** and click **Save Downlink**.
Learn to write payload decoders in the [official Datacake documentation](https://docs.datacake.de/lorawan/downlinks#writing-a-downlink-encoder).
diff --git a/doc/content/integrations/cloud-integrations/kaa/_index.md b/doc/content/integrations/cloud-integrations/kaa/_index.md
index 553c4f8db9..91a402da2c 100644
--- a/doc/content/integrations/cloud-integrations/kaa/_index.md
+++ b/doc/content/integrations/cloud-integrations/kaa/_index.md
@@ -27,10 +27,10 @@ After that, go to the **Payload formatters** section on the left hand menu in {{
function decodeUplink(input) {
return {
data: {
- bytes: input.bytes
+ bytes: input.bytes,
},
warnings: [],
- errors: []
+ errors: [],
};
}
```
@@ -53,9 +53,9 @@ Next, you can create the integration between Kaa and {{% tts %}} applications.
Navigate to the **Device management → Integrations** and click the **Add integration** button. Fill in the following fields:
-- TTN username - {{% tts %}} MQTT username
+- TTN username - {{% tts %}} MQTT username
- TTN API key - the API key that you created in steps above
-- Identity Server Host - {{% tts %}} Identity Server host address (see the [Server Addresses section]({{< ref "/the-things-stack/concepts/server-addresses" >}}) for more info)
+- Identity Server Host - {{% tts %}} Identity Server host address (see the [Server Addresses section]({{< ref "/cloud/server-addresses" >}}) for more info)
- MQTT Server Host - {{% tts %}} MQTT public address
{{< figure src="kaa-create-app-integration.png" alt="Create application integration" >}}
@@ -68,14 +68,14 @@ Go to the created application integration and create a device integration by cho
{{< figure src="kaa-dev-integration.png" alt="Device integrations" >}}
-By navigating to **Device management → Devices**, you will find the Kaa endpoint that was automatically created during the device integration creation.
+By navigating to **Device management → Devices**, you will find the Kaa endpoint that was automatically created during the device integration creation.
All incoming data from {{% tts %}} device will be ingested under that endpoint.
{{< figure src="kaa-created-endpoint.png" alt="Created endpoint" >}}
## Visualize Device Data
-Next, you can visualize data coming from {{% tts %}} on Kaa UI.
+Next, you can visualize data coming from {{% tts %}} on Kaa UI.
Edit the application configuration for the [Endpoint Time Series service (EPTS)][EPTS]. EPTS is a Kaa platform component responsible for transforming raw [data samples][data-sample] into well-structured time series. It also stores the time series data and provides access to API for other services, including the [Web Dashboard][WD].
@@ -93,10 +93,10 @@ Now navigate to the device details page of the endpoint created in previous step
Let's assume that {{% tts %}} device is sending temperature measurements in the next format:
```json
-{"temp":20}
+{ "temp": 20 }
```
-Convert this payload to a byte array in HEX (`7B 22 74 65 6D 70 22 3A 32 30 7D`), go to the **End devices → your device's Overview page → Messaging** in {{% tts %}} Console and paste the byte array into the **Payload** field.
+Convert this payload to a byte array in HEX (`7B 22 74 65 6D 70 22 3A 32 30 7D`), go to the **End devices → your device's Overview page → Messaging** in {{% tts %}} Console and paste the byte array into the **Payload** field.
As a result, you should be able to see the data on Kaa UI.
@@ -108,14 +108,13 @@ Congratulations, you have successfully integrated {{% tts %}} with Kaa and visua
Explore more Kaa features by completing the [Getting Started tutorials cycle][Getting Started tutorials] with short tutorials on the main Kaa features.
-[kaa site]: https://www.kaaiot.com/
-[kaa cloud login]: https://cloud.kaaiot.com/login
-[kaa cloud registration]: https://www.kaaiot.com/free-trial
-
-[data-sample]: https://docs.kaaiot.io/KAA/docs/v1.4.0/Kaa-concepts/#data-sample
-[endpoint]: https://docs.kaaiot.io/KAA/docs/v1.4.0/Kaa-concepts/#endpoints
-[EPTS]: https://docs.kaaiot.io/KAA/docs/v1.4.0/Features/Data-collection/EPTS
+[kaa site]: https://www.kaaiot.com/
+[kaa cloud login]: https://cloud.kaaiot.com/login
+[kaa cloud registration]: https://www.kaaiot.com/free-trial
+[data-sample]: https://docs.kaaiot.io/KAA/docs/v1.4.0/Kaa-concepts/#data-sample
+[endpoint]: https://docs.kaaiot.io/KAA/docs/v1.4.0/Kaa-concepts/#endpoints
+[EPTS]: https://docs.kaaiot.io/KAA/docs/v1.4.0/Features/Data-collection/EPTS
[EPTS time series auto extraction]: https://docs.kaaiot.io/KAA/docs/v1.4.0/Features/Data-collection/EPTS/Configuration/#time-series-auto-extraction
-[EPTS time series configuration]: https://docs.kaaiot.io/KAA/docs/v1.4.0/Features/Data-collection/EPTS/Configuration/#time-series-configuration
-[WD]: https://docs.kaaiot.io/KAA/docs/v1.4.0/Features/Visualization/WD
-[Getting Started tutorials]: https://docs.kaaiot.io/KAA/docs/v1.4.0/Tutorials/getting-started/
+[EPTS time series configuration]: https://docs.kaaiot.io/KAA/docs/v1.4.0/Features/Data-collection/EPTS/Configuration/#time-series-configuration
+[WD]: https://docs.kaaiot.io/KAA/docs/v1.4.0/Features/Visualization/WD
+[Getting Started tutorials]: https://docs.kaaiot.io/KAA/docs/v1.4.0/Tutorials/getting-started/
diff --git a/doc/content/the-things-stack/cloud/addresses/_index.md b/doc/content/the-things-stack/cloud/addresses/_index.md
index df2decc73c..71d6d7c2be 100644
--- a/doc/content/the-things-stack/cloud/addresses/_index.md
+++ b/doc/content/the-things-stack/cloud/addresses/_index.md
@@ -2,7 +2,12 @@
title: "Cloud Addresses"
description: ""
weight: 10
-aliases: [/getting-started/cloud-hosted/addresses, /guides/cloud-hosted/addresses, /the-things-stack/cloud/addresses]
+aliases:
+ [
+ /getting-started/cloud-hosted/addresses,
+ /guides/cloud-hosted/addresses,
+ /cloud/server-addresses,
+ ]
distributions: ["Cloud"]
---
diff --git a/doc/content/the-things-stack/concepts/architecture/_index.md b/doc/content/the-things-stack/concepts/architecture/_index.md
deleted file mode 100644
index 39bd7b0126..0000000000
--- a/doc/content/the-things-stack/concepts/architecture/_index.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: "Architecture"
-description: "This section explains the architecture and components of The Things Stack"
-weight: 1
----
-
-{{% tts %}} follows a API driven microservice architecture, well suited for high availability and reliability.
-
-{{< figure src="tts-architecture.jpeg" alt="The Things Stack Architecture" >}}
-
-{{% tts %}} has the following main components.
-
-
-
-|Component (Service)|Short|Description|
-|---|---|---|
-|Gateway Server|`GS`| Maintains connections with gateways supporting the Basic Station, UDP, MQTT and gRPC protocols. It forwards uplink traffic to Network Servers directly or indirectly, and schedules downlink traffic on gateways. |
-|Network Server|`NS`| Handles the LoRaWAN® network layer, including MAC commands, regional parameters and adaptive data rate (ADR). |
-|Application Server|`AS`| Handles the LoRaWAN application layer, including uplink data decryption and decoding, downlink queuing and downlink data encoding and encryption. |
-|Identity Server|`IS`| Provides the registries that store entities such as applications with their end devices, gateways, users, organizations, OAuth clients and authentication providers. It also manages access control through memberships and API keys. |
-|Join Server|`JS`| Handles the LoRaWAN join flow, including Network and Application Server authentication and session key generation. |
-|Device Claiming Server|`DCS`| Allows users to claim devices and gateways in a secure manner. |
-|Gateway Configuration Server|`GCS`| Generates configuration files for UDP gateways and manages gateway configuration and firmware updates for Basic Station and The Things Kickstarter gateways. |
-|Packet Broker Agent|`PBA`| Connects The Things Stack with Packet Broker for exchanging traffic with other networks.|
-|Network Operations Center|`NOC`| Provides aggregated insight in a network operated with The Things Stack. |
-|Console| NA | Is the web application used to interact with The Things Stack.|
-
-
-
-
-{{% tts %}} also has the following additional/supporting components.
-
-
-
-
-|Component (Service)|Short|Description|
-|---|---|---|
-|Tenant Billing Server|`TBS`| Manages the creation, suspension and billing of tenants using different payment backends (only for {{% tts %}} cloud).|
-|QR Generator |`QRG`| Generates QR codes for devices in various formats. These QR codes can be used for various purposes, including identification and device claiming to transfer ownership..|
-|Device Template Converter|`DTC`| Converts data to device templates for migrating networks and importing vendor-specific data.|
-
-
-
-If you want more detailed information on each component, check the [components reference]({{< relref "components" >}}) section.
-
-Now that the architecture is introduced, let's take a look at the various methods to interact with {{% tts %}}.
diff --git a/doc/content/the-things-stack/host/join-server/_index.md b/doc/content/the-things-stack/host/join-server/_index.md
index 35e07890ac..3d353994ab 100644
--- a/doc/content/the-things-stack/host/join-server/_index.md
+++ b/doc/content/the-things-stack/host/join-server/_index.md
@@ -4,9 +4,9 @@ description: ""
weight: 8
aliases:
- /guides/cloud-hosted/tti-join-server
- - /the-things-stack/cloud/tti-join-server
- - /the-things-stack/cloud/tti-join-server/activate-devices-cloud-hosted
- - /the-things-stack/cloud/tti-join-server/register-devices
+ - /cloud/tti-join-server
+ - /cloud/tti-join-server/activate-devices-cloud-hosted
+ - /cloud/tti-join-server/register-devices
- /getting-started/join-server
---
diff --git a/doc/content/the-things-stack/interact/cli/configuring-cli/_index.md b/doc/content/the-things-stack/interact/cli/configuring-cli/_index.md
index 696572aedc..6de6d7e02e 100644
--- a/doc/content/the-things-stack/interact/cli/configuring-cli/_index.md
+++ b/doc/content/the-things-stack/interact/cli/configuring-cli/_index.md
@@ -39,7 +39,7 @@ If you are using {{% tts %}} Cloud use the following command with your `tenant i
ttn-lw-cli use ..cloud.thethings.industries
```
-If you are hosting your own deployment, use the following, replacing `thethings.example.com` with your [server address]({{< ref "the-things-stack/concepts/server-addresses" >}}):
+If you are hosting your own deployment, use the following, replacing `thethings.example.com` with your [server address]({{< ref "/cloud/server-addresses" >}}):
```bash
ttn-lw-cli use thethings.example.com
@@ -49,7 +49,7 @@ ttn-lw-cli use thethings.example.com
{{< tabs/tab "Enterprise" >}}
-If you are hosting your own deployment, use the following, replacing `thethings.example.com` with your [server address]({{< ref "the-things-stack/concepts/server-addresses" >}}):
+If you are hosting your own deployment, use the following, replacing `thethings.example.com` with your [server address]({{< ref "/cloud/server-addresses" >}}):
```bash
tti-lw-cli use thethings.example.com
@@ -99,7 +99,7 @@ It is also possible to manually create a configuration file. For most configurat
To manually configure, first create a `.ttn-lw-cli.yml` file.
-Copy and paste the following contents in the `.ttn-lw-cli.yml` file, replacing `thethings.example.com` with the [server addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}) of each component:
+Copy and paste the following contents in the `.ttn-lw-cli.yml` file, replacing `thethings.example.com` with the [server addresses]({{< ref "/cloud/server-addresses" >}}) of each component:
```yaml
oauth-server-address: "https://thethings.example.com/oauth"
diff --git a/doc/content/the-things-stack/interact/cli/troubleshooting/_index.md b/doc/content/the-things-stack/interact/cli/troubleshooting/_index.md
index 747187bba7..87d1e2d900 100644
--- a/doc/content/the-things-stack/interact/cli/troubleshooting/_index.md
+++ b/doc/content/the-things-stack/interact/cli/troubleshooting/_index.md
@@ -113,4 +113,4 @@ error:cmd/ttn-lw-cli/commands:end_device_server_address_mismatch (Network/Applic
If you want to perform operations on the entities registered in `a certain` cluster, then you need to ensure the CLI `is configured with server addresses for that` cluster.
-Keep in mind that Identity Server and OAuth addresses are always in `eu1` cluster, as described [here]({{< ref "/the-things-stack/cloud/addresses#command-line-interface" >}}).
+Keep in mind that Identity Server and OAuth addresses are always in `eu1` cluster, as described [here]({{< ref "/cloud/server-addresses#command-line-interface" >}}).
diff --git a/doc/content/the-things-stack/interact/console/_index.md b/doc/content/the-things-stack/interact/console/_index.md
index fc59e4d3a7..4764c25591 100644
--- a/doc/content/the-things-stack/interact/console/_index.md
+++ b/doc/content/the-things-stack/interact/console/_index.md
@@ -25,7 +25,7 @@ https://.<
-See [Cloud Addresses]({{< ref "/the-things-stack/cloud/addresses" >}}) for more information about cluster addresses.
+See [Cloud Addresses]({{< ref "/cloud/server-addresses" >}}) for more information about cluster addresses.
## {{% ttss %}}
@@ -37,6 +37,6 @@ Visit the addresses page for [{{% ttss %}}]({{< ref "reference/ttn/addresses" >}
If you are hosting your own deployment, the Console is available at the address you host {{% tts %}} at.
-See [Server Addresses]({{< ref "the-things-stack/concepts/server-addresses" >}}) to learn more.
+See [Server Addresses]({{< ref "/cloud/server-addresses" >}}) to learn more.
Once you have access to the Console, proceed to [Login]({{< relref "login" >}}).
diff --git a/doc/content/the-things-stack/management/branding/_index.md b/doc/content/the-things-stack/management/branding/_index.md
index 57b06a37ec..3ec864f56a 100644
--- a/doc/content/the-things-stack/management/branding/_index.md
+++ b/doc/content/the-things-stack/management/branding/_index.md
@@ -1,6 +1,6 @@
---
-title: 'Web UI Branding'
-description: ''
+title: "Web UI Branding"
+description: ""
aliases: [/reference/branding]
---
@@ -10,7 +10,7 @@ This reference gives details on how to customize the branding of the login pages
## Cloud Branding
-[{{% tts %}} Cloud]({{< ref "/the-things-stack/cloud" >}}) users can use a custom branding in {{% tts %}} Console. Branding customization is available for each {{% tts %}} Cloud tenant.
+[{{% tts %}} Cloud]({{< ref "/cloud" >}}) users can use a custom branding in {{% tts %}} Console. Branding customization is available for each {{% tts %}} Cloud tenant.
See below for what's available to customize and what files are necessary. Users need to host these files on a CDN (e.g. an S3 bucket) and provide a link to it as shown in the [Tenant Settings guide]({{< ref "/the-things-stack/interact/console/tenant-settings#branding" >}}).
@@ -22,29 +22,29 @@ The title, subtitle and description of the login pages and the Console can be ch
Logos of the web UI can be rebranded by pointing the **Branding base URL** in the Console (as described in [Tenant Settings]({{< ref "/the-things-stack/interact/console/tenant-settings#branding" >}})) to a location that contains the following files:
-| **Filename** | **Size** | **Purpose** |
-| ---------------------- | -------- | ----------- |
-| console-favicon.svg | vector | The SVG logo for the console that is shown in browser tabs and bookmarks |
-| console-favicon.png | multiple | The fallback favicon logo for the console in `PNG` format; recommended size 32x32 |
-| console-favicon.ico | multiple | The fallback favicon logo for the console in `ICO` format; recommended size 32x32 |
-| console-og-image.png | 1200x600 | The logo for the console that is shown when sharing links on social media |
-| console-touch-icon.png | 400x400 | The logo for the console that is shown mobile devices |
-| claim-favicon.svg {{< distributions "Cloud" "Enterprise" >}} | vector | The SVG logo for the device claiming frontend that is shown in browser tabs and bookmarks |
-| claim-favicon.png {{< distributions "Cloud" "Enterprise" >}} | multiple | The fallback favicon logo for the device claiming frontend in `PNG` format; recommended size 32x32 |
-| claim-favicon.ico {{< distributions "Cloud" "Enterprise" >}} | multiple | The fallback favicon logo for the device claiming frontend in `ICO` format; recommended size 32x32 |
-| claim-og-image.png {{< distributions "Cloud" "Enterprise" >}} | 1200x600 | The logo for the device claiming frontend that is shown when sharing links on social media |
-| claim-touch-icon.png {{< distributions "Cloud" "Enterprise" >}} | 400x400 | The logo for the device claiming frontend that is shown mobile devices |
-| logo.svg | vector | The logo for the console that is shown in the menu bar of the console |
-| oauth-favicon.svg | vector | The SVG logo for the login pages that is shown in browser tabs and bookmarks |
-| oauth-favicon.png | multiple | The fallback favicon logo for the login pages in `PNG` format; recommended size 32x32 |
-| oauth-favicon.ico | multiple | The fallback favicon logo for the login pages in `ICO` format; recommended size 32x32 |
-| oauth-og-image.png | 1200x600 | The logo for the login pages that is shown when sharing links on social media |
-| oauth-touch-icon.png | 400x400 | The logo for the login pages that is shown mobile devices |
+| **Filename** | **Size** | **Purpose** |
+| --------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------- |
+| console-favicon.svg | vector | The SVG logo for the console that is shown in browser tabs and bookmarks |
+| console-favicon.png | multiple | The fallback favicon logo for the console in `PNG` format; recommended size 32x32 |
+| console-favicon.ico | multiple | The fallback favicon logo for the console in `ICO` format; recommended size 32x32 |
+| console-og-image.png | 1200x600 | The logo for the console that is shown when sharing links on social media |
+| console-touch-icon.png | 400x400 | The logo for the console that is shown mobile devices |
+| claim-favicon.svg {{< distributions "Cloud" "Enterprise" >}} | vector | The SVG logo for the device claiming frontend that is shown in browser tabs and bookmarks |
+| claim-favicon.png {{< distributions "Cloud" "Enterprise" >}} | multiple | The fallback favicon logo for the device claiming frontend in `PNG` format; recommended size 32x32 |
+| claim-favicon.ico {{< distributions "Cloud" "Enterprise" >}} | multiple | The fallback favicon logo for the device claiming frontend in `ICO` format; recommended size 32x32 |
+| claim-og-image.png {{< distributions "Cloud" "Enterprise" >}} | 1200x600 | The logo for the device claiming frontend that is shown when sharing links on social media |
+| claim-touch-icon.png {{< distributions "Cloud" "Enterprise" >}} | 400x400 | The logo for the device claiming frontend that is shown mobile devices |
+| logo.svg | vector | The logo for the console that is shown in the menu bar of the console |
+| oauth-favicon.svg | vector | The SVG logo for the login pages that is shown in browser tabs and bookmarks |
+| oauth-favicon.png | multiple | The fallback favicon logo for the login pages in `PNG` format; recommended size 32x32 |
+| oauth-favicon.ico | multiple | The fallback favicon logo for the login pages in `ICO` format; recommended size 32x32 |
+| oauth-og-image.png | 1200x600 | The logo for the login pages that is shown when sharing links on social media |
+| oauth-touch-icon.png | 400x400 | The logo for the login pages that is shown mobile devices |
If the **Branding base URL** option is set, the `logo.svg` is used to display a secondary logo next to the logo of {{% tts %}} for LoRaWAN. It is recommended to use a logo with a wide (e.g. 5:1) or square (1:1) aspect ratio. Tall logos (e.g. 1:5; height larger than width) will be displayed very small, due to the limited height of the header bar.
If you have your favicon as a PNG, use ImageMagick to convert it to ICO:
-
+
```bash
convert console-favicon.png \
-define icon:auto-resize=64,48,32,16 \
diff --git a/doc/content/the-things-stack/management/sso/_index.md b/doc/content/the-things-stack/management/sso/_index.md
index 55f1047252..8411e5b3fb 100644
--- a/doc/content/the-things-stack/management/sso/_index.md
+++ b/doc/content/the-things-stack/management/sso/_index.md
@@ -36,19 +36,15 @@ See instructions for configuring [Google]({{< relref "google" >}}) and [Amazon C
### Callback URL
-The callback URL (or Redirect URI in Google terminology) of your {{% tts %}} deployment is the [Server Address]({{< ref "the-things-stack/concepts/server-addresses" >}}) followed by the OAuth endpoint, which includes an **Authentication Provider ID** of your choosing:
+The callback URL (or Redirect URI in Google terminology) of your {{% tts %}} deployment is the [Server Address]({{< ref "/cloud/server-addresses" >}}) followed by the OAuth endpoint, which includes an **Authentication Provider ID** of your choosing:
-`
-/oauth/login//callback
-`
+`/oauth/login//callback`
You will actually create the Authentication Provider in {{% tts %}} using this Authentication Provider ID, so remember it.
For example, with a tenant `tenant1` in the `eu1` cluster and an Authentication Provider ID of `auth-provider`, the OAuth Callback URL is:
-`
-https://tenant1.eu1.cloud.thethings.industries/oauth/login/auth-provider/callback
-`
+`https://tenant1.eu1.cloud.thethings.industries/oauth/login/auth-provider/callback`
## Configure {{% tts %}} for SSO
diff --git a/doc/content/the-things-stack/management/sso/cognito/index.md b/doc/content/the-things-stack/management/sso/cognito/index.md
index b058231783..859ec19737 100644
--- a/doc/content/the-things-stack/management/sso/cognito/index.md
+++ b/doc/content/the-things-stack/management/sso/cognito/index.md
@@ -53,7 +53,7 @@ Ensure that **Cognito User Pool** is checked for **Enabled Identity Providers**.
{{< figure src="app-client-settings.png" >}}
-For the **Callback URL**, enter the **OAuth Callback URL** of your {{% tts %}} deployment. This is the [Server Address]({{< ref "the-things-stack/concepts/server-addresses" >}}) followed by the OAuth endpoint, which includes an **Authentication Provider ID** of your choosing:
+For the **Callback URL**, enter the **OAuth Callback URL** of your {{% tts %}} deployment. This is the [Server Address]({{< ref "/cloud/server-addresses" >}}) followed by the OAuth endpoint, which includes an **Authentication Provider ID** of your choosing:
```
/oauth/login//callback
diff --git a/doc/content/the-things-stack/management/sso/google/index.md b/doc/content/the-things-stack/management/sso/google/index.md
index 99a8534458..aa53c6665d 100644
--- a/doc/content/the-things-stack/management/sso/google/index.md
+++ b/doc/content/the-things-stack/management/sso/google/index.md
@@ -23,7 +23,7 @@ Choose **Web application** for the **Application type**.
{{< figure src="web-app.png" >}}
-Give the Application a **Name** of your choosing, and enter the **Redirect URI** of your {{% tts %}} deployment. The URI is the [Server Address]({{< ref "the-things-stack/concepts/server-addresses" >}}) followed by the OAuth endpoint, which includes an **Authentication Provider ID** of your choosing:
+Give the Application a **Name** of your choosing, and enter the **Redirect URI** of your {{% tts %}} deployment. The URI is the [Server Address]({{< ref "/cloud/server-addresses" >}}) followed by the OAuth endpoint, which includes an **Authentication Provider ID** of your choosing:
```
/oauth/login//callback
diff --git a/doc/content/the-things-stack/migrating/gateway-migration.md b/doc/content/the-things-stack/migrating/gateway-migration.md
index 37fe08b979..e39fd30c5b 100644
--- a/doc/content/the-things-stack/migrating/gateway-migration.md
+++ b/doc/content/the-things-stack/migrating/gateway-migration.md
@@ -22,7 +22,7 @@ For detailed instructions on adding gateways to {{% tts %}} using the CLI or Con
Update the server address in the gateway configuration settings.
-- When using the Semtech UDP Packet Forwarder, make sure to update the `server_address` in the gateway configuration settings to the address of the Gateway Server. For examples, see [The Things Network Addresses]({{< ref "/reference/ttn/addresses" >}}) if you are using {{% ttss %}}, or [Cloud Addresses]({{< ref "/the-things-stack/cloud/addresses" >}}) if you are using {{% tts %}} Cloud. See [Semtech UDP Packet Forwarder]({{< ref "/gateways/concepts/udp" >}}) documentation for more info.
+- When using the Semtech UDP Packet Forwarder, make sure to update the `server_address` in the gateway configuration settings to the address of the Gateway Server. For examples, see [The Things Network Addresses]({{< ref "/reference/ttn/addresses" >}}) if you are using {{% ttss %}}, or [Cloud Addresses]({{< ref "/cloud/server-addresses" >}}) if you are using {{% tts %}} Cloud. See [Semtech UDP Packet Forwarder]({{< ref "/gateways/concepts/udp" >}}) documentation for more info.
- When using the LoRa Basics Station protocol, refer to the [LoRa Basics Station]({{< ref "gateways/concepts/lora-basics-station" >}}) documentation.
Once your gateways are migrated, the traffic will be routed directly to {{% tts %}}. See [Troubleshooting Gateways]({{< ref "/gateways/troubleshooting" >}}) for common errors.
diff --git a/doc/content/the-things-stack/troubleshooting/_index.md b/doc/content/the-things-stack/troubleshooting/_index.md
index 26a322e60d..b0df467de4 100644
--- a/doc/content/the-things-stack/troubleshooting/_index.md
+++ b/doc/content/the-things-stack/troubleshooting/_index.md
@@ -37,7 +37,7 @@ See [Troubleshooting Gateways]({{< ref "/gateways/troubleshooting" >}}).
## Tenant is not active
-For [{{% tts %}} Cloud]({{< ref "/the-things-stack/cloud" >}}) customers, this error indicates that the payment is probably overdue. If you are experiencing payment issues, please contact your Account Manager directly for further assistance.
+For [{{% tts %}} Cloud]({{< ref "/cloud" >}}) customers, this error indicates that the payment is probably overdue. If you are experiencing payment issues, please contact your Account Manager directly for further assistance.
## How do I change the tenant ID of an existing tenant in {{% tts %}}?
diff --git a/doc/themes/the-things-stack/layouts/index.html b/doc/themes/the-things-stack/layouts/index.html
index 89bd4bd7c2..73c77cb0b9 100644
--- a/doc/themes/the-things-stack/layouts/index.html
+++ b/doc/themes/the-things-stack/layouts/index.html
@@ -34,13 +34,15 @@ The Things Stack Documentation
{{ $gettingstarted := dict "url" (.Site.GetPage "getting-started").RelPermalink "title" "Getting Started" "text" "Get started with The Things Stack. If you're new to The Things Stack and/or LoRaWAN, this is the place to start." "bgcolor" "background-color: #002B9E"}}
+ {{ $concepts := dict "url" (.Site.GetPage "concepts").RelPermalink "title" "Concepts" "text" "Guides on basic concepts of working with The Things Stack." "bgcolor" "background-color: #1E5DFF"}}
+ {{ $cloud := dict "url" (.Site.GetPage "cloud").RelPermalink "title" "Cloud" "text" "Concepts specific to The Things Stack Cloud." "bgcolor" "background-color: #4275FF"}}
{{ $devices := dict "url" (.Site.GetPage "devices").RelPermalink "title" "End Devices" "text" "Learn how to configure and manage LoRaWAN End Devices in The Things Stack." "bgcolor" "background-color: #1E5DFF"}}
{{ $gateways := dict "url" (.Site.GetPage "gateways").RelPermalink "title" "Gateways" "text" "Learn to connect and manage various LoRaWAN Gateways on The Things Stack." "bgcolor" "background-color: #4275FF" }}
{{ $integrations := dict "url" (.Site.GetPage "integrations").RelPermalink "title" "Integrations" "text" "Learn how to work with End Device data on The Things Stack and how to integrate with external systems." "bgcolor" "background-color: #1F52D8" }}
{{ $tts := dict "url" (.Site.GetPage "the-things-stack").RelPermalink "title" "The Things Stack" "text" "Learn about the different flavours of The Things Stack and how to install/access them." "bgcolor" "background-color: #073DCB" }}
{{ $reference := dict "url" (.Site.GetPage "reference").RelPermalink "title" "Reference" "text" "Curated list of advanced topics for The Things Stack. Leverage the full customization capabilities of The Things Stack." "bgcolor" "background-color: #001958" }}
{{ $api := dict "url" (.Site.GetPage "api").RelPermalink "title" "API" "text" "Explore The Things Stack API" "bgcolor" "background-color: #1e47ff" }}
- {{ $cards := slice $gettingstarted $devices $gateways $integrations $tts $reference $api }}
+ {{ $cards := slice $gettingstarted $concepts $devices $gateways $integrations $tts $reference $api }}