diff --git a/package.json b/package.json
index bdf75426..ee18f89a 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,7 @@
"scripts": {
"dev": "next dev",
"build": "next build",
- "gen": "swagger-codegen generate -i generator/openapi.yml -l openapi -o generator/api.json && npx ts-node generator/index.ts gen --input generator/api.json/openapi.json --output src/pages/ipa",
+ "gen": "swagger-codegen generate -i generator/openapi.yml -l openapi -o generator/api.json && npx ts-node generator/index.ts gen --input generator/api.json/openapi.json --output src/pages/ipa/resources",
"start": "next start",
"lint": "next lint"
},
diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx
index 961db251..cb6e921e 100644
--- a/src/components/NavigationDocs.jsx
+++ b/src/components/NavigationDocs.jsx
@@ -18,14 +18,13 @@ export const docsNavigation = [
title: 'How-to',
links: [
{ title: 'Getting Started', href: '/docs/how-to/getting-started' },
- { title: 'Peers', href: '/docs/how-to/peers' },
{ title: 'Setup Keys', href: '/docs/how-to/setup-keys' },
{ title: 'Access Control', href: '/docs/how-to/access-control' },
- { title: 'Network Routes', href: '/docs/how-to/network-routes' },
- { title: 'DNS', href: '/docs/how-to/dns' },
{ title: 'Users', href: '/docs/how-to/users' },
- { title: 'Activity', href: '/docs/how-to/activity' },
- { title: 'Settings', href: '/docs/how-to/settings' },
+ { title: 'Add users to your network', href: '/docs/how-to/add-users-to-you-network' },
+ { 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: 'Examples', href: '/docs/how-to/examples' },
{ title: 'CLI', href: '/docs/how-to/cli' },
],
diff --git a/src/pages/docs/how-to/add-users-to-you-network.mdx b/src/pages/docs/how-to/add-users-to-you-network.mdx
new file mode 100644
index 00000000..3b70cc22
--- /dev/null
+++ b/src/pages/docs/how-to/add-users-to-you-network.mdx
@@ -0,0 +1,53 @@
+
+# Add Users to your network
+
+Whether you have a network for personal use or manage your company's corporate network, you'd probably want to invite
+people to your account and join your NetBird network.
+
+There are two ways of adding users to a NetBird account - indirect and direct.
+
+## Indirect user invites
+This way of adding users is managed by the NetBird system and doesn't require administrator input.
+It works only for organizations with private domains.
+
+Whenever a new user signs up with a private domain (e.g., @netbird.io),
+NetBird creates a new account and associates it with the netbird.io organization (domain) automatically. Every consequent user signup with the same @netbird.io domain in their email address will end up under the same organization.
+
+How does it work? Every time a previously unknown user registers at [app.netbird.io](https://app.netbird.io/),
+the system classifies the domain part of the email.
+The domain can fall into one of the following categories - `public`, `private`, or `unclassified`.
+The domains of the private category are the ones that are automatically grouped under the same account.
+Public domains are the ones of the public email providers like Gmail.
+
+
+
+
+ +
+ +- Make sure to [star us on GitHub](https://github.com/netbirdio/netbird) +- Follow us [on Twitter](https://twitter.com/netbird) +- Join our [Slack Channel](https://join.slack.com/t/netbirdio/shared_invite/zt-vrahf41g-ik1v7fV8du6t0RwxSrJ96A) +- NetBird [latest release](https://github.com/netbirdio/netbird/releases) on GitHub diff --git a/src/pages/docs/how-to/cli.mdx b/src/pages/docs/how-to/cli.mdx index 7543661e..051a2dd1 100644 --- a/src/pages/docs/how-to/cli.mdx +++ b/src/pages/docs/how-to/cli.mdx @@ -5,7 +5,7 @@ The NetBird client installation adds a binary called `netbird` to your system. T your computer or server to the NetBirt network as a peer. But it can also be used as a client to control the daemon service. This section will explore the commands available in `netbird`. -### Syntax +## Syntax Use the following syntax to run `netbird` commands from your terminal window: ```shell netbird [command] [subcommand] [flags] @@ -18,7 +18,7 @@ netbird [command] [subcommand] [flags] To see detailed command information, use the flag `--help` after each command -### Global flags +## Global flags `netbird` has a set of global flags that are available in every command. They specify settings that are core or shared between two or more commands, e.g. `--setup-key` is used by `login` and `up` to authenticate the client against a management service. Below is the list of global flags: @@ -47,19 +47,19 @@ netbird up ``` The `up` command would process the variables, read the configuration file on `/opt/netbird/config.json` and attempt to connect to the management service running at `https://api.self-hosted.com:33073`. -### Commands -#### up +## Commands +### up Single command to log in and start the NetBird client. It can send a signal to the daemon service or run in the foreground with the flag `--foreground-mode`. The command will check if the peer is logged in and connect to the management service. If the peer is not logged in, by default, it will attempt to initiate an SSO login flow. -##### Flags +#### Flags ```shell --dns-resolver-address string Sets a custom address for NetBird's local DNS resolver. If set, the agent won't attempt to discover the best ip and port to listen on. An empty string "" clears the previous configuration. E.g. --dns-resolver-address 127.0.0.1:5053 or --dns-resolver-address "" --external-ip-map strings Sets external IPs maps between local addresses and interfaces.You can specify a comma-separated list with a single IP and IP/IP or IP/Interface Name. An empty string "" clears the previous configuration. E.g. --external-ip-map 12.34.56.78/10.0.0.1 or --external-ip-map 12.34.56.200,12.34.56.78/10.0.0.1,12.34.56.80/eth1 or --external-ip-map "" -F, --foreground-mode start service in foreground ``` -##### Usage +#### Usage The minimal form of running the command is: ```shell netbird up @@ -80,9 +80,9 @@ In case you need to use a setup key, use the `--setup-key` flag : netbird up --setup-key AAAA-BBB-CCC-DDDDDD ``` -#### login +### login Command to authenticate the NetBird client to a management service. If the peer is not logged in, by default, it will attempt to initiate an SSO login flow. -##### Usage +#### Usage The minimal form of running the command is: ```shell netbird login @@ -100,23 +100,23 @@ Passing a management url and a setup key: netbird login --setup-key AAAA-BBB-CCC-DDDDDD --management-url https://api.self-hosted.com:33073 ``` -#### down +### down Command to stop a connection with the management service and other peers in a NetBird network. After running this command, the daemon service will enter an `Idle` state. -##### Usage +#### Usage The minimal form of running the command is: ```shell netbird down ``` -#### status +### status Retrieves the peer status from the daemon service. -##### Flags +#### Flags ```shell -d, --detail display detailed status information --filter-by-ips strings filters the detailed output by a list of one or more IPs, e.g. --filter-by-ips 100.64.0.100,100.64.0.200 --filter-by-status string filters the detailed output by connection status(connected|disconnected), e.g. --filter-by-status connected ``` -##### Usage +#### Usage The minimal form of running the command is: ```shell netbird status @@ -262,19 +262,19 @@ Peers count: 2/3 Connected The peer with IP `100.119.85.4` wasn't returned because it was not connected -#### ssh +### ssh Command to connect using ssh to a remote peer in your NetBird network. You should run the ssh command with elevated permissions. -##### Flags +#### Flags ```shell -p, --port int Sets remote SSH port. Defaults to 44338 (default 44338) ``` -##### Arguments +#### Arguments The ssh command accepts one argument, `user@host`; this argument indicates the remote host to connect: * `user`: indicates the remote user to login * `host`: indicates the remote peer host IP address -##### Usage +#### Usage The minimal form of running the command is: ```shell sudo netbird ssh user@100.119.230.104 @@ -284,9 +284,9 @@ If you the remote peer agent is running the ssh service on a different port, you sudo netbird ssh -p 3434 user@100.119.230.104 ``` -#### version +### version Outputs the `netbird` command version. -##### Usage +#### Usage The minimal form of running the command is: ```shell netbird version @@ -296,14 +296,14 @@ This will output: 0.8.2 ``` -#### service +### service The service command is a top-level command with subcommands to perform operations related to the daemon service. You should run the service command with elevated permissions. -#### service install +### service install The install installs the daemon service on the system. -##### Usage +#### Usage The minimal form of running the command is: ```shell sudo netbird service install @@ -317,25 +317,25 @@ You can set a custom configuration path with the flag `--config` sudo netbird service install --config /opt/netbird/config.json ``` -#### service uninstall +### service uninstall The uninstall uninstalls the daemon service from the system. -##### Usage +#### Usage The minimal form of running the command is: ```shell sudo netbird service uninstall ``` -#### service start +### service start Starts the daemon service -##### Usage +#### Usage The minimal form of running the command is: ```shell sudo netbird service start ``` -#### service stop +### service stop Stops the daemon service -##### Usage +#### Usage The minimal form of running the command is: ```shell sudo netbird service stop diff --git a/src/pages/docs/how-to/settings.mdx b/src/pages/docs/how-to/configure-periodic-user-authentication.mdx similarity index 94% rename from src/pages/docs/how-to/settings.mdx rename to src/pages/docs/how-to/configure-periodic-user-authentication.mdx index ee62f67d..23e0ae20 100644 --- a/src/pages/docs/how-to/settings.mdx +++ b/src/pages/docs/how-to/configure-periodic-user-authentication.mdx @@ -1,7 +1,5 @@ -# Settings - -## Configure periodic user authentication +# Configure periodic user authentication To ensure a high level of security, NetBird offers a peer login expiration feature that requires users to periodically reauthenticate their devices. Every new network has this feature enabled, and the expiration period is set to 24 hours by default. You can disable this feature and configure the expiration period in the account settings in the web UI https://app.netbird.io/settings. @@ -16,7 +14,7 @@ Expired peers will appear in the peers' view with the status `needs login`.
-### Configure and disable expiration
+## Configure and disable expiration
The expiration period can be set to anything between one hour and 180 days.
Go to the Web UI Settings tab and set the desired period in the Authentication section.
You can also disable the expiration for the whole network in the same section.
@@ -31,7 +29,7 @@ You can also disable the expiration for the whole network in the same section.
and re-authentication will be required.
-### Disable expiration individually per peer
+## Disable expiration individually per peer
Sometimes, you might want to disable peer expiration for some peers.
With NetBird you can disable login expiration per peer without disabling expiration globally.
In the Peers tab of the web UI click on the peer you want to disable expiration for and use the Login Expiration switch.
@@ -41,7 +39,7 @@ Peers with `expiration disabled` will be marked with a corresponding label in th
-### Get started
+## Get started
diff --git a/src/pages/docs/how-to/dns.mdx b/src/pages/docs/how-to/dns.mdx index 2b2a73a2..c187461c 100644 --- a/src/pages/docs/how-to/dns.mdx +++ b/src/pages/docs/how-to/dns.mdx @@ -1,7 +1,5 @@ -# DNS - -## Manage DNS in your network +# Manage DNS in your network
@@ -64,7 +62,7 @@ Access the `DNS` tab and click the `Add Nameserver` button to create a new names
That will open a nameserver selection configuration screen where you can choose between using three predefined public
nameservers or using a custom setup.
-##### Selecting predefined nameservers
+#### Selecting predefined nameservers
If you choose a predefined public nameserver option, you can select the following nameservers:
- [Google DNS servers](https://developers.google.com/speed/public-dns/docs/using)
- [Cloudflare DNS servers](https://one.one.one.one/dns/)
@@ -79,7 +77,7 @@ In the example below, we chose the "All" group:
-#### Creating a nameserver for specific domains
+### Creating a nameserver for specific domains
Sometimes we want to forward DNS queries to specific nameservers but only for particular domains that match a setting.
Taking the example of custom nameservers above, you could select a match mode for only domains listed there.
Below you can see the same nameserver setup but only for the `berlinoffice.com` domain:
@@ -105,9 +103,9 @@ Below you can see the same nameserver setup but only for the `berlinoffice.com`
Currently, only MacOS, Windows 10+, and Linux running systemd-resolved support nameservers without an all domains resolver. For a better experience, we recommend setting at least one all domain resolver to be applied to all groups.
-#### Distributing the settings with groups
+### Distributing the settings with groups
You can select as many distribution groups as you want for your nameserver setup. Keep in mind to link them to peers and, if required, to add access control rules when using private nameservers.
-#### Adding remote private DNS servers
+### Adding remote private DNS servers
To add a private DNS server that is running behind routing peers, you need to create resources to ensure communication between your nameserver clients can communicate. In the Berlin office example from previous steps, we have a peer from the `Office network` that can route traffic to the `192.168.0.32` IP, so we need to ensure that a similar network route exists:
@@ -118,22 +116,22 @@ Then we need to confirm that an access rule exists to connect `Remote developers
diff --git a/src/pages/docs/how-to/activity.mdx b/src/pages/docs/how-to/monitor-system-and-network-activity.mdx similarity index 95% rename from src/pages/docs/how-to/activity.mdx rename to src/pages/docs/how-to/monitor-system-and-network-activity.mdx index 65e26193..1251f4e8 100644 --- a/src/pages/docs/how-to/activity.mdx +++ b/src/pages/docs/how-to/monitor-system-and-network-activity.mdx @@ -1,7 +1,5 @@ -# Activity - -## Monitor system and network activity +# Monitor system and network activity The activity monitoring feature lets you quickly see what's happening with your network. Whether a new machine or user joined your network or the access control policy has been modified, the activity log allows you to track the changes to your network. @@ -18,7 +16,7 @@ You can also use the search bar to filter events by activity type. The future versions will support connection events that occur in NetBird agents (e.g., peer A connected to peer B). -### Get started +## Get started
diff --git a/src/pages/docs/how-to/peers.mdx b/src/pages/docs/how-to/peers.mdx deleted file mode 100644 index c697415c..00000000 --- a/src/pages/docs/how-to/peers.mdx +++ /dev/null @@ -1,4 +0,0 @@ - -# Peers - -tba \ No newline at end of file diff --git a/src/pages/docs/how-to/network-routes.mdx b/src/pages/docs/how-to/routing-traffic-to-private-networks.mdx similarity index 70% rename from src/pages/docs/how-to/network-routes.mdx rename to src/pages/docs/how-to/routing-traffic-to-private-networks.mdx index a5830c33..66b5b200 100644 --- a/src/pages/docs/how-to/network-routes.mdx +++ b/src/pages/docs/how-to/routing-traffic-to-private-networks.mdx @@ -1,7 +1,5 @@ -# Network Routes - -## Routing traffic to private networks +# Routing traffic to private networks
@@ -84,7 +82,7 @@ Once you fill in the route information, you can click on the `Save` button to sa
Done! Now every peer connected to your routing peer will be able to send traffic to your external network. -#### Creating highly available routes +### Creating highly available routes To avoid a single point of failure when managing your network, we recommend installing NetBird on every resource. However, you still want to ensure a reliable connection to your private network when running NetBird on every machine is not feasible. NetBird Network Routes feature has a High Availability (HA) mode, @@ -108,9 +106,9 @@ This way, nodes connected to both peer `aws-nb-europe-router-az-a` and peer `aws Currently, there is no limitation in the number of routes that form a highly available route. Each connected peer will pick one routing peer to use as the router for a network; this decision is based on metric prioritization and connection attributes like direct or relayed connections.
-### Get started
-- -
- -- Make sure to [star us on GitHub](https://github.com/netbirdio/netbird) -- Follow us [on Twitter](https://twitter.com/netbird) -- Join our [Slack Channel](https://join.slack.com/t/netbirdio/shared_invite/zt-vrahf41g-ik1v7fV8du6t0RwxSrJ96A) -- NetBird [latest release](https://github.com/netbirdio/netbird/releases) on GitHub - - -## Add Users to your network - -Whether you have a network for personal use or manage your company's corporate network, you'd probably want to invite -people to your account and join your NetBird network. - -There are two ways of adding users to a NetBird account - indirect and direct. - -### Indirect user invites -This way of adding users is managed by the NetBird system and doesn't require administrator input. -It works only for organizations with private domains. - -Whenever a new user signs up with a private domain (e.g., @netbird.io), -NetBird creates a new account and associates it with the netbird.io organization (domain) automatically. Every consequent user signup with the same @netbird.io domain in their email address will end up under the same organization. - -How does it work? Every time a previously unknown user registers at [app.netbird.io](https://app.netbird.io/), -the system classifies the domain part of the email. -The domain can fall into one of the following categories - `public`, `private`, or `unclassified`. -The domains of the private category are the ones that are automatically grouped under the same account. -Public domains are the ones of the public email providers like Gmail. - -
-
-