OpenG2P In a Box
Getting started with OpenG2P
Last updated
Was this helpful?
Getting started with OpenG2P
Last updated
Was this helpful?
This document describes a deployment model wherein the infrastructure and components required by OpenG2P modules can be set up on a single node/VM/machine. This will help you to get started with OpenG2P and experience the functionality without having to meet all r for a production-grade setup. This is based on , but a compact version of the same. The essence of the V4 is preserved so that upgrading the infra is easier when more hardware resources are available.
Do NOT use this deployment model for production/pilots.
Machine with the following configuration
16 vCPU/64GB RAM/256 GB storage
OS: Ubuntu 22.04
To set up the base infrastructure, login to the machine and install the following:
Run this command for each wireguard server/channel:
For example:
Check logs of the servers and wait for all servers to finish startup. Example:
Set up TLS using the following:
Create Rancher TLS Secret (Edit certificate paths below):
Create Keycloak TLS Secret, using (Edit certificate paths below):
Set up DNS for Rancher and Keycloak hostnames to point to the IP of the node.
Login to Rancher using the above hostname and bootstrap the admin
user according to the instructions. After successfully logging in to Rancher as admin, save the new admin user password in local
cluster, in cattle-system
namespace, under rancher-secret
, with key adminPassword
.
Continue to use the same cluster (local
cluster) for OpenG2P Modules also.
In Rancher, create a Project and Namespace, on which the OpenG2P modules will be installed. The rest of this guide will assume the Namespace to be dev
.
In Rancher -> Namespaces menu, enable "Istio Auto Injection" for dev
namespace.
Edit and run this to define the variables:
Run this apply gateways
Add the certificate to K8s.
Install Logging and Fluentd. (TODO)
Set up . Make sure to include , , , and , all in the same machine.
Install .
Install servers:
Install .
Install .
Istio: Setup; from directory, run the following:
Create for Rancher (Edit hostname below):
Create for Keycloak (Edit hostname below):
Rancher Install; from directory, run the following (Edit hostname below):
Keycloak Install; from directory, run the following (Edit hostname below):
.
Follow :
Create for the wildcard hostname used above. Example usage:
Install from Rancher
.
How is "In a Box" different from ? Why should this not be used for production?
In-a-box does not use the Nginx Load Balancer. The HTTPS traffic directly terminates on the Istio gateway via Wireguard. However, Nginx is required in production as described .
A single private is enabled (via Wireguard). In production, you will typically need several channels for access control.