Skip to content
NFH Fabric Support home
NFH Fabric Support home

Deployment prerequisites

This document lists what you need to provide so the Fabric team can deploy and run the Fabric Discovery Service in your Google Cloud project. The service runs on a Google Kubernetes Engine (GKE) cluster.

Please choose one of the two options below and arrange the items listed for it, plus the items in the Common requirements section that apply to both.

Choose a deployment option

Option 1 — You create and own the cluster (we deploy onto it)

You create the GKE cluster (to the sizing in the table further down) and give our team access. We deploy and run all the Discovery services on it.

You provide:

  • A GKE cluster sized as in Cluster sizing below.

  • Cluster access for our deployment team — cluster-admin, or equivalent RBAC sufficient to install and manage the services on the cluster.

  • Standard GKE storage classes for SSD and balanced disks (available by default on GKE).

  • A Cloud Storage (GCS) bucket for backups, plus a service account the backup jobs use to write to it (or grant us access to set this up).

Option 2 — We create the cluster for you (using our automation)

We create the GKE cluster in your Google Cloud project using our automation, then deploy the services. The backup storage is created automatically as part of this.

You provide the following access on your Google Cloud project, granted to the identity we use for deployment:

Role

Role ID

What it is used for

Kubernetes Engine Admin

roles/container.admin

Create the cluster and its node pool

Compute Network Admin

roles/compute.networkAdmin

Create the network, subnets, and firewall rules

Service Account Admin

roles/iam.serviceAccountAdmin

Create the service accounts the cluster uses

Service Account User

roles/iam.serviceAccountUser

Attach those service accounts to the cluster

Project IAM Admin

roles/resourcemanager.projectIamAdmin

Grant the cluster's service accounts their permissions

Storage Admin

roles/storage.admin

Create the backup storage bucket

Service Usage Admin

roles/serviceusage.serviceUsageAdmin

Enable the required Google Cloud APIs

These are needed only to set up the environment. They can be granted for the duration of the setup and removed afterwards if you prefer.

Common requirements (both options)

Endpoint and DNS

The discovery service is exposed through an ingress (Kong) load balancer that runs inside the cluster and is assigned a public IP (your cluster must allow creating an external LoadBalancer service — the default on GKE). After we deploy, you create a DNS A record mapping your hostname to that load-balancer IP; an HTTPS certificate is then issued automatically for the hostname.

Please have a hostname ready (for example, discovery.yourdomain.com) and be able to create the DNS record once we share the ingress load-balancer IP.

Container images

Our services run from container images held in Fabric's NFH image registry on Google Artifact Registry (project beckn-one-infra-services, region asia-south1).

When a GKE node pulls an image, it authenticates using the node pool's service account. So the only access required is read access for your cluster's node service account on our registry — and that grant is made on our side. No image pull secrets and no extra setup are needed on your cluster.

What we need from you:

  • Option 1: share your cluster's node service account email. You can find it with:

    AskCopy

    gcloud container node-pools describe POOL_NAME \ --cluster=CLUSTER_NAME --region=REGION --project=YOUR_PROJECT \ --format="value(config.serviceAccount)"

    We then grant it the Artifact Registry Reader role (scoped to the specific repository) on our registry project.

  • Option 2: nothing — our automation creates the node service account, and we grant it read access on our registry.

Alerts (Slack)

We send infrastructure and service health alerts to Slack. Please provide:

  • A Slack channel for alerts (for example, #beckn-discovery-alerts).

  • An Incoming Webhook for that channel, and share the webhook URL with us.

(You may provide one channel, or two if you want infrastructure and service alerts separated.)

Cluster sizing

The full Discovery stack (services, database, search, event bus, monitoring, and backups) needs approximately the resources below to start.

Minimum resources [Non-Production]

Resource

Starting size

CPU

~12 vCPU

Memory

~20 GiB

Region: your choice (e.g. asia-south1 / Mumbai).

Recommended node pool

Environment

Node pool

Total capacity

Non-production

3 × c2-standard-4

12 vCPU / 48 GiB

Production

2 × c2-standard-8 (recommended)

16 vCPU / 64 GiB

Start with the non-production sizing and scale up — add nodes or enable autoscaling — as catalogue size and query load grow. Disk storage also grows with the catalogue over time.