EQTY LabDocs

Prerequisites

Required infrastructure and access before installing the Guardian Platform.

View as Markdown

Overview

This document outlines the prerequisites and foundational requirements for deploying the Guardian Platform. This entails both installing the application workloads to a Kubernetes cluster and configuring the required cloud resources. This guide provides administrators with an overview of the deployment lifecycle, hardware and software prerequisites, and the required infrastructure components.

Deployment architecture

To successfully install the platform, specific infrastructure components must be prepared. The installation is driven from a deployment host that applies configurations to the target Kubernetes cluster.

It is recommended to prepare a dedicated machine to act as the deployment host. This host must have network access to the Kubernetes cluster and the ability to download the deployment Helm package. For troubleshooting purposes, it is recommended that the host also has access to the provisioned cloud resources and the deployed platform components (for example, the ability to query REST APIs using curl or wget).

The Guardian Platform is deployed using Helm charts. The deployment mechanism connects to the target cluster and applies the Helm configurations. While the guide provides sufficient information, executing this process requires foundational knowledge of kubectl and helm.

The target environment is a Kubernetes cluster (such as Amazon EKS, Microsoft Azure AKS, or Google Cloud GKE) where the Guardian Platform microservices operate.

To ensure data persistence, security, and compliance, the platform integrates with external object storage, key management, and a relational database.

Application data is stored in a PostgreSQL database, which can be deployed internally within the Kubernetes cluster or provisioned as an external managed service.

User authentication and access management are delegated to an OIDC/OAuth 2.0 Identity Provider (IdP), which can be an internal service (Keycloak) or an external enterprise provider.

System requirements

A successful deployment requires administrators to provision specific resources and ensure appropriate access permissions are configured. This section details the resources that must be provided before initiating the deployment process.

The deployment host serves as the control point for the installation. It is recommended to manage the configuration files required for installation (such as Helm values) through a version control system like git. Cloning a Git repository containing these configurations directly to the deployment host ensures versioning and traceability.

The recommended specifications for the deployment host are detailed below.

Operating system

Red Hat Enterprise Linux (RHEL) 10 is the preferred operating system. RHEL 9 is also supported and suitable if permitted by organizational policies.

Command line tools

Specific administrative tools must be installed on the deployment host:

  • helm 3.20 or later and kubectl to manage the Kubernetes deployments.
  • git to clone the deployment repository.
  • telnet, curl, or wget for installation validation.
  • A command-line text editor, such as vi or nano, for editing configuration files.

Deployment repository

The deployment repository holds the bootstrap charts, helper scripts, example values, and guardctl that the deployment guides use. Clone it on the deployment host at the tag for the platform version you are deploying, such as platform/v1.2.1:

bash
git clone --branch platform/v<version> https://github.com/eqtylab/deployment.git

Network access

While the platform can be installed in air-gapped environments, standard deployments require network connectivity to several endpoints:

  • The designated image registry to pull or download the deployment charts and platform Docker images.
  • The target Kubernetes cluster API to execute helm and kubectl commands.
  • A secrets management service, such as AWS Secrets Manager, for retrieving credentials. This is optional but highly recommended.

Ensure that appropriate registry credentials are provided to allow the Kubernetes cluster to download the platform container images.

For verified Cloudsmith deliveries, obtain a prod entitlement token from EQTY Lab, prepare separate Helm and Kubernetes registry credentials, and confirm that cloudsmith-delivery.json exists for the selected stable version. Until that marker exists, use the existing GHCR credentials and installation instructions. See Connected Install.

SSL certificates

If the organization utilizes a Private Certificate Authority (CA) to secure internal resources, the necessary trusted root SSL certificates must be pre-installed on the host system. This ensures that tools like curl, helm, and kubectl can establish secure HTTPS connections to registries, APIs, and cloud services without certificate validation errors.

Cloud infrastructure requirements

Guardian delegates state (data) management, cryptography, and authentication to cloud infrastructure. Administrators must ensure these resources are provisioned prior to initiating the platform deployment. At a high level, the following infrastructure must be provisioned and accessible from the Kubernetes cluster:

  • Kubernetes Cluster: A supported managed Kubernetes environment, version 1.29 or later with linux/amd64 nodes, is required to host the platform workloads. The release manifest records the minimum version and architecture for each release.
    • Ingress and DNS: A valid DNS record must point to a configured NGINX Ingress Controller connected to the cluster. This endpoint must be secured with valid TLS certificate(s); see Domain and TLS.
  • Relational Database: A PostgreSQL instance is required for application data persistence. This can be deployed as an internal in-cluster service or as an external managed service.
  • Key Management Service: A cryptographic service with permissions to create keys and sign payloads must be available to the platform.
  • Object Storage: A storage bucket is required for storing Guardian Platform artifacts.
  • Identity Provider (IdP): An OIDC/OAuth 2.0 provider must be configured with authorized callback and logout URLs. Authentication services can be provided by an external customer-provisioned service, such as Microsoft Entra ID, or by an internal provider (Keycloak).
  • Backup Instruments: Enterprise backup and disaster recovery mechanisms must be available to ensure data durability. This typically involves native cloud backup tools, such as AWS Backup, Google Cloud Backup and DR, or Azure Backup, to safeguard the external database and object storage components.

The following table outlines the required infrastructure components across different cloud providers:

ComponentService: AWSService: Google CloudService: Azure
Kubernetes ClusterAmazon EKSGoogle Kubernetes Engine (GKE)Azure Kubernetes Service (AKS)
Object StorageAmazon S3Cloud StorageAzure Blob Storage
Key Management ServiceAWS KMSCloud KMSAzure Key Vault
DatabaseAmazon RDS for PostgreSQL (or internal)Cloud SQL for PostgreSQL (or internal)Azure Database for PostgreSQL (or internal)

Cluster capacity

The chart’s default replica counts and resource settings give a starting point for sizing the cluster. Only Auth Service and the bundled PostgreSQL set resources by default; the other values are the suggestions commented in the chart’s values.yaml.

ComponentReplicasRequests (CPU / memory)Limits (CPU / memory)
Auth Service2100m / 128Mi500m / 512Mi
Governance Service2250m / 256Mi500m / 512Mi
Integrity Service2100m / 256Mi500m / 512Mi
PDFGen2100m / 256Mi500m / 512Mi
Guardian150m / 128Mi200m / 256Mi
PostgreSQL (bundled)1500m / 1Gi2 / 2Gi

Together these request about 1.7 CPU and 3 GiB of memory, with limits of about 6.2 CPU and 6.3 GiB. The bundled PostgreSQL also claims a 10 GiB persistent volume. The optional Gateway Stack sets no resources by default; add capacity for it when enabled.

Conclusion

Deploying the Guardian Platform is not a one-shot action. Rather, it is a multi-stage process that consists of the following lifecycle phases:

  1. Provisioning the Kubernetes cluster.
  2. Provisioning the required cloud resources.
  3. Granting access permissions from the cluster to the cloud resources.
  4. Configuring the Guardian Platform.
  5. Executing the deployment.
  6. Installation qualification.

In enterprise environments, deploying the Guardian Platform typically requires collaboration across multiple functional teams. Generally, the deployment process involves a cloud infrastructure team to provision external resources (such as object storage, key management systems, and databases), an identity and access management (IAM) or security team to configure identity providers and grant access permissions, and a platform administration team to configure and execute the Helm deployment and manage the Kubernetes workloads.