Skip to content

Commit 2f41809

Browse files
author
Frederic Spiers
committed
docs(warn): include warning for production ready setup
1 parent 2275a1c commit 2f41809

File tree

3 files changed

+26
-12
lines changed

3 files changed

+26
-12
lines changed

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,12 @@ Additionaly, a **shell** variant of the Docker image is available, this version
3535
The project can be deployed on Kubernetes-like infrastructure (k0s, k3s, Talos, EKS, GKE, AKS...). GGBridge leverages **Helm Chart Deployment** which is an industry standard method for production environements, offering enhanced configurability and scalability for Kubernetes setups.
3636

3737
- If you already have a Kubernetes cluster, please follow the [below documentation](#helm-deployment).
38-
- If you do not have a dedicated Kubernetes cluster, you can deploy GGBridge with a `k3d` cluster on a single VM. Please follow the [k3d installation documentation](./docs/k3d-install.md)
38+
- If you do not have access to a Kubernetes cluster, you can deploy GGBridge along with a `k3d` cluster on a single VM. Please follow the [k3d installation documentation](./docs/k3d-install.md).
39+
40+
> [!WARNING]
41+
> The [k3d installation method](./docs/k3d-install.md) is not recommended for production due to single point of failure and lack of high availability.
42+
>
43+
> **For production setup**, we recommend deploying on a multi-node Kubernetes cluster across multiple AZs with proper redundancy and monitoring.
3944
4045
### Helm deployment
4146

docs/k3d-install.md

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,26 @@
22

33
This guide will help you deploy and manage local Kubernetes clusters using k3d for GGBridge deployment.
44

5-
## 📋 Prerequisites
5+
> [!WARNING]
6+
> This setup is not recommended for production due to single point of failure and lack of high availability.
7+
>
8+
> **For production setup**, we recommend deploying on a multi-node Kubernetes cluster across multiple AZs with proper redundancy and monitoring.
9+
10+
## 🔧 Prerequisites
611
For this installation method, you will need a single server (VM, bare metal...) and install following components:
712

813
- [Docker](https://docs.docker.com/get-docker/) installed and running
914
- [K3d](https://k3d.io/v5.8.3/#installation) version 5.8.3 or superior
1015
- [helm](https://helm.sh/docs/intro/install/) to install GGBridge in the k3d cluster
1116
- [kubectl](https://kubernetes.io/docs/tasks/tools/) to interact with the cluster
1217

13-
## Quick Start
14-
### Basic CLI installation
18+
## ⚡ Quick Start
19+
20+
> [!IMPORTANT]
21+
> There are two methods for installing GGBridge on k3d, the [Basic CLI installation](#-basic-cli-installation), and [using config files](#-config-file-installationn). While the basic CLI works, we recommend the second one for a long-term and maintainable lifecycle.
22+
23+
24+
### 💻 Basic CLI installation
1525

1626
> [!NOTE]
1727
> Single node cluster here is minimal installation and low footprint
@@ -27,7 +37,7 @@ k3d cluster create ggbridge --agents 0 \
2737
--k3s-arg "--disable=servicelb@server:*" \
2838
--k3s-node-label "project=ggbridge@server:*" \
2939
--api-port 0.0.0.0:6445 \
30-
--image rancher/k3s:v1.34.1-k3s1 \
40+
--image rancher/k3s:v1.33.5-k3s1 \
3141
--timeout 3m0s
3242
```
3343
2. Create the GGBridge namespace
@@ -46,13 +56,12 @@ kubectl create secret generic ggbridge-client-crt -n ggbridge --from-file=tls.cr
4656

4757
4. Install GGBridge client
4858

49-
> [!IMPORTANT]
50-
> Replace `$uid` here with the Bridge UID
59+
Replace `$uid` here with the Bridge UID
5160

5261
```bash
5362
helm -n ggbridge upgrade -i ggbridge oci://ghcr.io/gitguardian/ggbridge/helm/ggbridge \
54-
--set hostname="$uid.ggbridge.gitguardian.com" \
55-
--set tls.enable=true \
63+
--set hostname="$uid.ggbridge.gitguardian.tech" \
64+
--set tls.enabled=true \
5665
--set tls.existingSecret="ggbridge-client-crt" \
5766
--set tls.existingSecretKeys.caCrt="ca.crt" \
5867
--set tls.existingSecretKeys.crt="tls.crt" \
@@ -75,10 +84,10 @@ ggbridge-client-1-75f69cdb75-5gpsv 2/2 Running 0 22s
7584
ggbridge-client-2-76b98c699b-bk2q5 2/2 Running 0 22s
7685
```
7786

78-
### Config file installation
87+
### 📝 Config file installation
7988

8089
> [!NOTE]
81-
> This installation is using declarative approach with explicit yaml files to describe cluster and Helm installation. It brings several advantages upon [basic CLI installation](#basic-cli-installation). We recommend using this method if you are familiar with Kubernetes.
90+
> This installation is using declarative approach with explicit yaml files to describe cluster and Helm installation. It brings several advantages upon [basic CLI installation](#-basic-cli-installation). We recommend using this method if you are familiar with Kubernetes.
8291
>
8392
> | Advantage | Config File installation | Basic CLI installation |
8493
> |-----------------------|------------------------------------|------------------------------------|

k3d/cluster.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ agents: 0
1010
kubeAPI:
1111
hostIP: "0.0.0.0"
1212
hostPort: "6445"
13-
image: rancher/k3s:v1.34.1-k3s1
13+
image: rancher/k3s:v1.33.5-k3s1
1414
files:
1515
- description: 'GGbridge namespace'
1616
source: |

0 commit comments

Comments
 (0)