You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Expand Network Broker introduction and requirements (#2403)
* Update introduction and requirement sections
* Re-add minor text emphasis
* Eliminate parenthetical
* Use more basic language
Co-authored-by: Katie Horne <katie.horne@semgrep.com>
Co-authored-by: Katie Horne <katie.horne@semgrep.com>
* If you are on a dedicated tenant
* Collapse single bullet point
---------
Co-authored-by: Katie Horne <katie.horne@semgrep.com>
Copy file name to clipboardExpand all lines: docs/semgrep-ci/network-broker.md
+33-9Lines changed: 33 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,25 +12,49 @@ import TabItem from '@theme/TabItem';
12
12
13
13
# Set up the Semgrep Network Broker
14
14
15
-
The Semgrep Network Broker facilitates secure access between Semgrep and your private network. It accomplishes this by establishing a WireGuard VPN tunnel with the Semgrep infrastructure, then proxying**inbound** HTTP requests from Semgrep to your network through this tunnel. This approach allows Semgrep to interact with on-premise resources without exposing them to the public internet.
15
+
The Semgrep Network Broker facilitates secure access between Semgrep and your private network. The Network Broker creates a WireGuard VPN tunnel to the Semgrep backend and proxies**inbound** HTTP requests from Semgrep to the customer through the tunnel. This allows Semgrep to communicate with private network resources like a Source Code Manager (SCM) without exposing them to the public internet.
16
16
17
17
Examples of inbound traffic include:
18
18
19
-
-[Pull request (PR) or merge request (MR) comments](/docs/category/pr-or-mr-comments)
The Semgrep Network Broker is available to Enterprise tier users.
25
26
:::
27
+
The Semgrep Network Broker is a feature that must be enabled in your Semgrep organization before setup. It is only available to paying customers. Contact the [Semgrep support team](/docs/support) to discuss having it enabled for your organization.
28
+
29
+
If you will be using the Network Broker with a dedicated Semgrep tenant, please note that in your request.
30
+
31
+
## Deployment
32
+
The Network Broker can be run as a bare Docker container, in a Kubernetes cluster, or simply as a standalone binary on a machine.
33
+
34
+
Only one instance of the WireGuard-based Network Broker can be run at any time. Multiple brokers with the same configuration can cause disconnects, instability, and package loss.
35
+
36
+
### System Requirements
37
+
- CPU: 1
38
+
- RAM: 512 MB
39
+
40
+
### Network Requirements
41
+
- Between Semgrep and Broker:
42
+
- Allow traffic from `wireguard.semgrep.dev` on UDP port 51820. If you are on a dedicated Semgrep tenant, allow traffic from `wireguard.<tenant-name>.semgrep.dev` instead.
43
+
- If using the `--deployment-id` CLI flag, allow outbound to `semgrep.dev` on TCP port 443 for HTTPS.
44
+
- Between Broker and each private network resource, enable outbound on TCP ports 80 and 443 for HTTP/HTTPS communication.
45
+
46
+
:::info Determining IP Addresses
47
+
To determine the IP addresses for a domain, use dig. The addresses are listed under the ANSWER section. Example: `dig wireguard.semgrep.dev`
48
+
:::
26
49
27
-
## Prerequisites and feature availability
50
+
### Artifacts
51
+
You can choose between deploying pre-made artifacts or building your own.
52
+
#### Pre-built by Semgrep
53
+
- Docker images are available from [ghcr.io/semgrep/semgrep-network-broker](https://github.com/semgrep/semgrep-network-broker/pkgs/container/semgrep-network-broker).
54
+
- A sample [Kubernetes Manifest](https://github.com/semgrep/semgrep-network-broker/blob/develop/kubernetes.yaml) is present within the repository. This should be extended for production.
28
55
29
-
- The Semgrep Network Broker is a feature that must be enabled in your Semgrep organization (org) before setup. It is only available to paying customers. Contact the [Semgrep support team](/docs/support) to discuss having it enabled for your organization.
30
-
- If you will be using the Network Broker with a dedicated Semgrep tenant, please note that in your request.
31
-
-**Docker** must be installed on the server where you install the Network Broker.
32
-
- Ensure that you allocate at least 1 CPU and 512 MB RAM for each instance of Semgrep Network Broker that you run.
33
-
- Ensure that you allow outbound access to `wireguard.semgrep.dev` on UDP port `51820`.
56
+
#### Build Yourself
57
+
See the [Network Broker repository](https://github.com/semgrep/semgrep-network-broker)'s README for instructions on how to build it yourself.
0 commit comments