diff --git a/src/components/How-NetBird-Works.jsx b/src/components/AboutNetbird.jsx similarity index 51% rename from src/components/How-NetBird-Works.jsx rename to src/components/AboutNetbird.jsx index 0407e44b..91eb6432 100644 --- a/src/components/How-NetBird-Works.jsx +++ b/src/components/AboutNetbird.jsx @@ -1,40 +1,34 @@ import { Button } from '@/components/Button' import { Heading } from '@/components/Heading' -const howNetbirdWorks = [ +const aboutNetbird = [ { - href: 'docs/about-netbird/how-netbird-works#architecture', - name: 'Architecture', - description: 'Learn everything there is to know about the general architecture of NetBird.', + href: '/docs/about-netbird/how-netbird-works', + name: 'How NetBird Works', + description: 'Learn everything there is to know about how NetBird works.', }, { - href: '/docs/about-netbird/how-netbird-works#general-flow-overview', - name: 'General Flow Overview', + href: '/docs/about-netbird/netbird-vs-traditional-vpn', + name: 'NetBird vs. traditional VPN', description: - 'Learn how the general communication between components within the NetBird Cloud works.', + 'Read how NetBird compares to traditional VPNs and why it is better.', }, { - href: '/docs/how-to/setup-keys', - name: 'Setup Keys', + href: '/docs/about-netbird/why-wireguard-with-netbird', + name: 'Why WireGuard with NetBird', description: - 'Learn about different kinds of setup keys and how to us them to add peers to your network.', - }, - { - href: '/docs/how-to/access-control', - name: 'Access Control', - description: - 'Learn how to limit communication between different peer groups inside your network.', + 'Learn why NetBird is using WireGuard and how NetBird simplifies the usage.', }, ] -export function HowNetbirdWorks() { +export function AboutNetbird() { return (
- How NetBird Works + About NetBird
- {howNetbirdWorks.map((guide) => ( + {aboutNetbird.map((guide) => (

{guide.name} diff --git a/src/components/Guides.jsx b/src/components/Guides.jsx index 8abd90ff..764ee7fe 100644 --- a/src/components/Guides.jsx +++ b/src/components/Guides.jsx @@ -3,12 +3,12 @@ import { Heading } from '@/components/Heading' const guides = [ { - href: '/ipa/authentication', + href: '/ipa/guides/authentication', name: 'Authentication', description: 'Learn how to authenticate your API requests.', }, { - href: '/ipa/errors', + href: '/ipa/guides/errors', name: 'Errors', description: 'Read about the different types of errors returned by the API.', diff --git a/src/components/How-To-Guides.jsx b/src/components/How-To-Guides.jsx index b8b2a265..6b28c2e8 100644 --- a/src/components/How-To-Guides.jsx +++ b/src/components/How-To-Guides.jsx @@ -3,24 +3,24 @@ import { Heading } from '@/components/Heading' const howToGuides = [ { - href: '/docs/managing-your-network#add-users-to-your-network', + href: '/docs/how-to/add-users-to-your-network', name: 'Add Users to your network', description: 'Learn how to add users to your network.', }, { - href: '/docs/managing-your-network#configure-periodic-user-authentication', + href: '/docs/how-to/configure-periodic-user-authentication', name: 'Configure periodic user authentication', description: 'Learn how to configure periodic user authentication.', }, { - href: '/docs/managing-your-network#manage-dns-in-your-network', + href: '/docs/how-to/manage-dns-in-your-network', name: 'Manage DNS in your network', description: 'Learn how to configure DNS servers for your network.', }, { - href: '/docs/managing-your-network#monitor-system-and-network-activity', + href: '/docs/how-to/monitor-system-and-network-activity', name: 'Monitoring system and network activities', description: 'Learn how to keep track of system and network activities in your account.', diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx index 10d8921b..5d78d830 100644 --- a/src/components/NavigationDocs.jsx +++ b/src/components/NavigationDocs.jsx @@ -26,6 +26,7 @@ export const docsNavigation = [ { title: 'Configure periodic user authentication', href: '/docs/how-to/configure-periodic-user-authentication' }, { title: 'Monitor system and network activity', href: '/docs/how-to/monitor-system-and-network-activity' }, { title: 'Routing traffic to private networks', href: '/docs/how-to/routing-traffic-to-private-networks' }, + { title: 'Manage DNS in your network', href: '/docs/how-to/manage-dns-in-your-network' }, { title: 'Examples', href: '/docs/how-to/examples' }, { title: 'CLI', href: '/docs/how-to/cli' }, ], diff --git a/src/components/Resources.jsx b/src/components/Resources.jsx index c1a674aa..a2ca8f60 100644 --- a/src/components/Resources.jsx +++ b/src/components/Resources.jsx @@ -10,7 +10,7 @@ import { UsersIcon } from '@/components/icons/UsersIcon' const resources = [ { - href: '/ipa/accounts', + href: '/ipa/resources/accounts', name: 'Accounts', description: 'Learn how to list and update accounts.', @@ -24,7 +24,7 @@ const resources = [ }, }, { - href: '/ipa/users', + href: '/ipa/resources/users', name: 'Users', description: 'Learn how to create, update, delete, and list users.', @@ -38,7 +38,7 @@ const resources = [ }, }, { - href: '/ipa/tokens', + href: '/ipa/resources/tokens', name: 'Tokens', description: 'Learn how to create, retrieve, delete, and list tokens.', @@ -52,7 +52,7 @@ const resources = [ }, }, { - href: '/ipa/peers', + href: '/ipa/resources/peers', name: 'Peers', description: 'Learn how to retrieve, update, delete, and list peers.', @@ -66,7 +66,7 @@ const resources = [ }, }, { - href: '/ipa/setup-keys', + href: '/ipa/resources/setup-keys', name: 'Setup Keys', description: 'Learn how to create, retrieve, update, and list setup keys.', @@ -77,7 +77,7 @@ const resources = [ }, }, { - href: '/ipa/groups', + href: '/ipa/resources/groups', name: 'Groups', description: 'Learn how to create, retrieve, update, delete, and list groups.', @@ -88,7 +88,7 @@ const resources = [ }, }, { - href: '/ipa/rules', + href: '/ipa/resources/rules', name: 'Rules', description: 'Learn how to create, retrieve, update, delete, and list rules.', @@ -99,7 +99,7 @@ const resources = [ }, }, { - href: '/ipa/policies', + href: '/ipa/resources/policies', name: 'Policies', description: 'Learn how to create, retrieve, update, delete, and list policies.', @@ -110,7 +110,7 @@ const resources = [ }, }, { - href: '/ipa/routes', + href: '/ipa/resources/routes', name: 'Routes', description: 'Learn about how to create, retrieve, update, delete, and list routes.', @@ -121,7 +121,7 @@ const resources = [ }, }, { - href: '/ipa/dns', + href: '/ipa/resources/dns', name: 'DNS', description: 'Learn about how to create, retrieve, update, delete, and list nameserver groups and update and retrieve DNS settings.', @@ -132,7 +132,7 @@ const resources = [ }, }, { - href: '/ipa/events', + href: '/ipa/resources/events', name: 'Events', description: 'Learn about how to list events.', diff --git a/src/pages/_app.jsx b/src/pages/_app.jsx index ec38ad52..3284dcdf 100644 --- a/src/pages/_app.jsx +++ b/src/pages/_app.jsx @@ -32,7 +32,7 @@ export default function App({ Component, pageProps }) { - + @@ -43,6 +43,9 @@ export default function App({ Component, pageProps }) { function collectHeadings(sections, slugify = slugifyWithCounter()) { let output = [] + if (sections === undefined) { + return [] + } for (let section of sections) { if (section.tagName === 'h2' || section.tagName === 'h3') { let title = section.title diff --git a/src/pages/docs/about-netbird/faq.mdx b/src/pages/docs/about-netbird/faq.mdx index 71ac7004..7b7bdda6 100644 --- a/src/pages/docs/about-netbird/faq.mdx +++ b/src/pages/docs/about-netbird/faq.mdx @@ -8,7 +8,7 @@ export const title = 'FAQ' NetBird's agent doesn't require any incoming port to be open; It negotiates the connection with the support of the signal and relay services. ### Outgoing ports NetBird usually won't need open ports, but sometimes you or your IT team needs to secure and verify -all outgoing traffic, and that may affect how NetBird clients connect to the [control layer](/overview/architecture) +all outgoing traffic, and that may affect how NetBird clients connect to the [control layer](/docs/about-netbird/how-netbird-works) and negotiate the peer-to-peer connections. Below is the list of NetBird hosted endpoints and ports they listen to: diff --git a/src/pages/docs/about-netbird/how-netbird-works.mdx b/src/pages/docs/about-netbird/how-netbird-works.mdx index fc59f647..9c90d9ae 100644 --- a/src/pages/docs/about-netbird/how-netbird-works.mdx +++ b/src/pages/docs/about-netbird/how-netbird-works.mdx @@ -27,7 +27,7 @@ With NetBird clients installed and authorized on the Management service, machine high-level-dia

-While it is possible to create a full mesh network, it might be not a desirable outcome. In this case, [ACLs](/docs/how-to/access-control) can be utilized to limit the access to certain machines. +While it is possible to create a full mesh network, it might be not a desirable outcome. In this case, [ACLs](/docs/how-to/restrict-access-to-peers) can be utilized to limit the access to certain machines. Let's now take a closer look at each of NetBird's components. @@ -39,7 +39,7 @@ It keeps the network state, public Wireguard keys of the peers, authenticates an The Management Service's responsibilities include: * **Registering and authenticating new peers.** Every new machine has to register itself in the network in order to connect to other machines. -After installation, NetBird client requires login that can be done through Identity Provider (IDP) or with a [setup key](/docs/how-to/setup-keys). +After installation, NetBird client requires login that can be done through Identity Provider (IDP) or with a [setup key](/docs/how-to/register-peers-using-setup-keys). * **Keeping the network map.** The Management service stores information about all the registered peers including Wireguard public key that was sent during the registration process. * **Managing private IP addresses.** Each peer receives a unique private IP with which it can be identified in the network. We use [Carrier Grade NAT](https://en.wikipedia.org/wiki/Carrier-grade_NAT) address space with an allocated address block 100.64.0.0/10. @@ -47,7 +47,7 @@ We use [Carrier Grade NAT](https://en.wikipedia.org/wiki/Carrier-grade_NAT) addr Whenever a new peer joins the network, all other peers that are authorized to connect to it receive an update. After that, they are able to establish a connection to the new peer. * **Creating and managing ACLs.** ACL is a list of peers that a given peer has access to. Coming Soon. -* **Managing private DNS.** [DNS](/docs/how-to/dns) allows referring to each of the peers with a fully qualified domain name (FQDN). Coming Soon. +* **Managing private DNS.** [DNS](docs/how-to/manage-dns-in-your-network) allows referring to each of the peers with a fully qualified domain name (FQDN). Coming Soon. * **Monitoring network activity.** Coming Soon. * **Wireguard key rotation.** Coming Soon. @@ -123,7 +123,7 @@ Below is a high level, step-by-step overview of the flow of communications withi 1. Administrator creates an account at [app.netbird.io](https://app.netbird.io/). 2. The system automatically generates a new network with an allocated address block 100.64.0.0/10. -3. The system automatically generates 2 [setup keys](/docs/how-to/setup-keys) that can be used for authenticating new machines. +3. The system automatically generates 2 [setup keys](/docs/how-to/register-peers-using-setup-keys) that can be used for authenticating new machines. 4. Administrator (or a user) installs NetBird client and runs ```netbird up``` command providing one of the setup keys. 5. NetBird client generates Wireguard private and public keys along with the initial configuration. 6. NetBird client sends a registration request to the NetBird Management service calling Login gRPC endpoint, providing setup key, Wireguard public key and additional information about the machine. diff --git a/src/pages/docs/how-to/add-users-to-you-network.mdx b/src/pages/docs/how-to/add-users-to-your-network.mdx similarity index 100% rename from src/pages/docs/how-to/add-users-to-you-network.mdx rename to src/pages/docs/how-to/add-users-to-your-network.mdx diff --git a/src/pages/docs/how-to/examples.mdx b/src/pages/docs/how-to/examples.mdx index 6d186dc9..a14ef4ea 100644 --- a/src/pages/docs/how-to/examples.mdx +++ b/src/pages/docs/how-to/examples.mdx @@ -100,7 +100,7 @@ One of the simplest ways of running NetBird client application is to use a pre-b * **NetBird account.** Register one at [app.netbird.io](https://app.netbird.io/). -You would need to obtain a [setup key](/docs/how-to/setup-keys) to associate NetBird client with your account. +You would need to obtain a [setup key](/docs/how-to/register-peers-using-setup-keys) to associate NetBird client with your account. The setup key could be found in the NetBird Management dashboard under the Setup Keys tab - [https://app.netbird.io/setup-keys](https://app.netbird.io/setup-keys). diff --git a/src/pages/docs/how-to/getting-started.mdx b/src/pages/docs/how-to/getting-started.mdx index 387defd1..f5365f54 100644 --- a/src/pages/docs/how-to/getting-started.mdx +++ b/src/pages/docs/how-to/getting-started.mdx @@ -278,10 +278,10 @@ Check connection status: ``` ### Running NetBird with a Setup Key -In case you are activating a server peer, you can use a [setup key](/docs/how-to/setup-keys) as described in the steps below. +In case you are activating a server peer, you can use a [setup key](/docs/how-to/register-peers-using-setup-keys) as described in the steps below. > This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform. -1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/docs/how-to/setup-keys)). +1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/docs/how-to/register-peers-using-setup-keys)). For all systems: ```bash diff --git a/src/pages/docs/how-to/dns.mdx b/src/pages/docs/how-to/manage-dns-in-your-network.mdx similarity index 100% rename from src/pages/docs/how-to/dns.mdx rename to src/pages/docs/how-to/manage-dns-in-your-network.mdx diff --git a/src/pages/docs/how-to/register-peers-using-setup-keys.mdx b/src/pages/docs/how-to/register-peers-using-setup-keys.mdx index c37c80b7..acc4a693 100644 --- a/src/pages/docs/how-to/register-peers-using-setup-keys.mdx +++ b/src/pages/docs/how-to/register-peers-using-setup-keys.mdx @@ -40,7 +40,7 @@ Setup keys are set to expire after 30 days. When expired, the setup key can't be high-level-dia

-NetBird offers a powerful [Access Control feature](/docs/how-to/access-control) that allows easy access management of your resources. +NetBird offers a powerful [Access Control feature](/docs/how-to/restrict-access-to-peers) that allows easy access management of your resources. In a basic scenario, you would create multiple groups of peers and create access rules to define what groups can access each other. Adding peers to groups might become time-consuming in large networks with dozens of machines. diff --git a/src/pages/docs/introductions.mdx b/src/pages/docs/introductions.mdx index 3c5368d1..b0a185e9 100644 --- a/src/pages/docs/introductions.mdx +++ b/src/pages/docs/introductions.mdx @@ -1,6 +1,6 @@ import {Note} from "@/components/mdx" import {HowToGuides} from "@/components/How-To-Guides" -import {HowNetbirdWorks} from "@/components/How-NetBird-Works" +import {AboutNetbird} from "@/components/AboutNetbird" export const description = 'Learn everything there is to know about NetBird.' @@ -19,10 +19,10 @@ NetBird can connect machines running anywhere in just a few clicks. It literally takes less than 5 minutes to deploy a secure peer-to-peer VPN with NetBird. {{ className: 'lead' }}
-
- + diff --git a/src/pages/docs/selfhosted/identity-providers.mdx b/src/pages/docs/selfhosted/identity-providers.mdx index fe967317..de020027 100644 --- a/src/pages/docs/selfhosted/identity-providers.mdx +++ b/src/pages/docs/selfhosted/identity-providers.mdx @@ -62,7 +62,7 @@ This Auth0 API will be used to access NetBird Management Service API. ### Step 4: Enable Interactive SSO Login (Optional) The [Interactive SSO Login feature](/getting-started/installation#running-netbird-with-sso-login) allows for machine -authorization with your Identity Provider. This feature can be used as an alternative to [setup keys](/docs/how-to/setup-keys) +authorization with your Identity Provider. This feature can be used as an alternative to [setup keys](docs/how-to/register-peers-using-setup-keys) and is optional. You can enable it by following these steps: @@ -89,7 +89,7 @@ You can enable it by following these steps: ### Step 4: Continue with the self-hosting guide -You can now continue with the [NetBird Self-hosting Guide](/docs/selfhosted/selfhosted-guide). +You can now continue with the [NetBird Self-hosting Guide](/docs/selfhosted/selfhosted-guide#step-3-configure-identity-provider). ## Keycloak @@ -109,7 +109,7 @@ The following guide is an adapted version of the original ### Expected Result After completing this guide, you can log in to your self-hosted NetBird Dashboard and add your machines -to your network using the [Interactive SSO Login feature](/getting-started/installation#running-netbird-with-sso-login) +to your network using the [Interactive SSO Login feature](/docs/how-to/getting-started#running-net-bird-with-sso-login) over Keycloak. ![](/img/integrations/identity-providers/self-hosted/keycloak-auth-grant.gif) @@ -294,9 +294,9 @@ https:///realms/netbird/.well-known/openid-configur - NETBIRD_AUTH_CLIENT_ID=`netbird-client` - NETBIRD_AUTH_AUDIENCE=`netbird-client` - NETBIRD_AUTH_DEVICE_AUTH_CLIENT_ID=`netbird-client`. Optional, -it enables the [Interactive SSO Login feature](/getting-started/installation#running-netbird-with-sso-login) (Oauth 2.0 Device Authorization Flow) +it enables the [Interactive SSO Login feature](/docs/how-to/getting-started#running-net-bird-with-sso-login) (Oauth 2.0 Device Authorization Flow) -- You can now continue with the [NetBird Self-hosting Guide](/docs/selfhosted/selfhosted-guide). +- You can now continue with the [NetBird Self-hosting Guide](/docs/selfhosted/selfhosted-guide#step-3-configure-identity-provider). - Set property `IdpManagerConfig` in the `management.json` file with: @@ -438,7 +438,7 @@ NETBIRD_AUTH_SILENT_REDIRECT_URI="/silent-auth" NETBIRD_AUTH_USER_ID_CLAIM="oid" ``` -- You can now continue with the [NetBird Self-hosting Guide](/getting-started/self-hosting#step-3-configure-identity-provider). +- You can now continue with the [NetBird Self-hosting Guide](/docs/selfhosted/selfhosted-guide#step-3-configure-identity-provider/docs/selfhosted/selfhosted-guide#step-3-configure-identity-provider). - Set property `IdpManagerConfig` in the `management.json` file with: diff --git a/src/pages/docs/selfhosted/selfhosted-guide.mdx b/src/pages/docs/selfhosted/selfhosted-guide.mdx index ad9ad9f6..1c565806 100644 --- a/src/pages/docs/selfhosted/selfhosted-guide.mdx +++ b/src/pages/docs/selfhosted/selfhosted-guide.mdx @@ -13,7 +13,7 @@ If you would like to learn more about the architecture please refer to the [Arch We run NetBird in the cloud, and it will take less than 5 minutes to get started with our managed version. [Check it out!](https://netbird.io/pricing) -### Requirements +## Requirements - Virtual machine offered by any cloud provider (e.g., AWS, DigitalOcean, Hetzner, Google Cloud, Azure ...). - Any Linux OS. @@ -25,7 +25,7 @@ If you would like to learn more about the architecture please refer to the [Arch For this tutorial we will be using domain ```demo.netbird.io``` which points to our Ubuntu 22.04 machine hosted at Hetzner. -### Step 1: Get the latest stable NetBird code +## Step 1: Get the latest stable NetBird code ```bash #!/bin/bash @@ -43,7 +43,7 @@ Then switch to the infra folder that contains docker-compose file: ```bash cd netbird/infrastructure_files/ ``` -### Step 2: Prepare configuration files +## Step 2: Prepare configuration files To simplify the setup we have prepared a script to substitute required properties in the [docker-compose.yml.tmpl](https://github.com/netbirdio/netbird/tree/main/infrastructure_files/docker-compose.yml.tmpl) and [management.json.tmpl](https://github.com/netbirdio/netbird/tree/main/infrastructure_files/management.json.tmpl) files. @@ -80,7 +80,7 @@ This can be any email address. [Let's Encrypt](https://letsencrypt.org/) will cr If you want to setup netbird with your own reverse-Proxy and without using the integrated letsencrypt, follow [this step here instead](#advanced-running-netbird-behind-an-existing-reverse-proxy). -### Step 3: Configure Identity Provider +## Step 3: Configure Identity Provider NetBird supports generic OpenID (OIDC) protocol allowing for the integration with any IDP that follows the specification. Pick the one that suits your needs, follow the steps, and continue with this guide: @@ -88,7 +88,7 @@ Pick the one that suits your needs, follow the steps, and continue with this gui - Continue with [Auth0](/integrations/identity-providers/self-hosted/using-netbird-with-auth0) (managed service). - Continue with [Keycloak](/integrations/identity-providers/self-hosted/using-netbird-with-keycloak). -### Step 4: Disable single account mode (optional) +## Step 4: Disable single account mode (optional) NetBird Management service runs in a single account mode by default since version v0.10.1. Management service was creating a separate account for each registered user before v0.10.1. @@ -99,7 +99,7 @@ If you want to disable the single-account mode, set `--disable-single-account-mo [docker-compose.yml.tmpl](https://github.com/netbirdio/netbird/tree/main/infrastructure_files/docker-compose.yml.tmpl) `command` section of the `management` service. -### Step 5: Run configuration script +## Step 5: Run configuration script Make sure all the required properties set in the ```setup.env``` file and run: ```bash @@ -108,12 +108,12 @@ Make sure all the required properties set in the ```setup.env``` file and run: This will export all the properties as environment variables and generate ```docker-compose.yml``` and ```management.json``` files substituting required variables. -### Step 6: Run docker compose: +## Step 6: Run docker compose: ```bash docker-compose up -d ``` -### Step 7: Check docker logs (Optional) +## Step 7: Check docker logs (Optional) ```bash docker-compose logs signal @@ -122,7 +122,7 @@ docker-compose logs coturn docker-compose logs dashboard ``` -### Advanced: Running netbird behind an existing reverse-proxy +## Advanced: Running netbird behind an existing reverse-proxy If you want to run netbird behind your own reverse-proxy, some additional configuration-steps have to be taken to [Step 2](#step-2--prepare-configuration-files). @@ -130,7 +130,7 @@ If you want to run netbird behind your own reverse-proxy, some additional config Not all reverse-proxies are supported as netbird uses *gRPC* for various components. -#### Configuration for netbird +### Configuration for netbird In `setup.env`: - Set ```NETBIRD_DOMAIN``` to your domain, e.g. `demo.netbird.io` @@ -147,7 +147,7 @@ Optional: Now you can continue with [Step 3](#step-3-configure-identity-provider). -#### Configuration for your reverse-proxy +### Configuration for your reverse-proxy Depending on your port-mappings and choice of reverse-proxy, how you configure the forwards differs greatly. @@ -167,7 +167,7 @@ Make sure your reverse-Proxy is setup to use the HTTP2-Protocol when forwarding. Simply replace the file `docker-compose.yml.tmpl` with the chosen version. -### Get in touch +## Get in touch Feel free to ping us on [Slack](https://join.slack.com/t/netbirdio/shared_invite/zt-vrahf41g-ik1v7fV8du6t0RwxSrJ96A) if you have any questions diff --git a/src/pages/ipa/guides/authentication.mdx b/src/pages/ipa/guides/authentication.mdx index 69ffd113..03fd3b7c 100644 --- a/src/pages/ipa/guides/authentication.mdx +++ b/src/pages/ipa/guides/authentication.mdx @@ -18,7 +18,7 @@ Always keep your token safe and reset it if you suspect it has been compromised. ## Using personal access tokens -When establishing a connection using [PATs](/docs/how-netbird-works#personal-access-tokens), you will need your access token — you can create one in the [Netbird dashboard](#) under User settings. It is recommended to use [service users](/docs/how-netbird-works#service-users) for all organization wide flows calling the API. Here's how to add the token to the request header using cURL: +When establishing a connection using [PATs](/docs/how-to/use-service-users-with-access-token#personal-access-tokens), you will need your access token — you can create one in the [Netbird dashboard](https://app.netbird.io/users) under User settings. It is recommended to use [service users](/docs/how-to/use-service-users-with-access-token#service-users) for all organization wide flows calling the API. Here's how to add the token to the request header using cURL: ```bash {{ title: 'Example request with personal access token' }} curl https://api.netbird.io/api/users \ diff --git a/src/pages/ipa/introductions.mdx b/src/pages/ipa/introductions.mdx index 175b8cf3..d1588de7 100644 --- a/src/pages/ipa/introductions.mdx +++ b/src/pages/ipa/introductions.mdx @@ -9,13 +9,13 @@ export const description = Use the NetBird Public API to manage users, peers, network rules and more from inside your application or scripts to automate the setup of your mesh network. {{ className: 'lead' }}
-
## Getting started {{ anchor: false }} -To get started, it is recommended to create a [service user](/docs/how-netbird-works#service-users), that can later be used to communicate with the NetBird API. -To be able to send requests to our API you need to [authenticate](/authentication) on each request. This can be done either by Bearer token from your identity provider or by creating a [personal access token](/docs/how-netbird-works#personal-access-tokens) in the NetBird dashboard.{{ className: 'lead' }} +To get started, it is recommended to create a [service user](/docs/how-to/use-service-users-with-access-token#service-users), that can later be used to communicate with the NetBird API. +To be able to send requests to our API you need to [authenticate](/ipa/guides/authentication) on each request. This can be done either by Bearer token from your identity provider or by creating a [personal access token](/docs/how-to/use-service-users-with-access-token#personal-access-tokens) in the NetBird dashboard.{{ className: 'lead' }}