# Deployment

- [Concepts](https://docs.openg2p.org/operations/deployment/concepts.md)
- [OpenG2P Deployment Architecture](https://docs.openg2p.org/operations/deployment/concepts/openg2p-deployment-model.md): Complete information and guide on deployment of OpenG2P components
- [Commons Helm Charts 2.x](https://docs.openg2p.org/operations/deployment/concepts/openg2p-commons-helm-chart.md)
- [DNS & TLS Certificates](https://docs.openg2p.org/operations/deployment/concepts/dns-and-certificates.md): How DNS and TLS certificates work in an OpenG2P deployment, the trade-offs, and the patterns we recommend for different customer realities.
- [Resource Requirements](https://docs.openg2p.org/operations/deployment/resource-requirements.md)
- [Infrastructure Setup](https://docs.openg2p.org/operations/deployment/infrastructure-setup.md)
- [Sandbox - Single-Node](https://docs.openg2p.org/operations/deployment/infrastructure-setup/single-node-automation.md): Single-node deployment automation
- [Production - Three-Node](https://docs.openg2p.org/operations/deployment/infrastructure-setup/three-node-automation.md): Three-node production deployment automation — one orchestrator script that drives a Reverse Proxy, Compute (Kubernetes), and Storage node from the admin's laptop, with optional AWS provisioning.
- [Fallback: Two Nginx VMs (single-NIC each)](https://docs.openg2p.org/operations/deployment/infrastructure-setup/three-node-automation/three-node-automation-fallback-second-rp.md): Fallback layout when the Reverse Proxy VM cannot have two network interfaces — split into two RP VMs (public + private).
- [Environment Setup for Multi-Node](https://docs.openg2p.org/operations/deployment/environment-setup-multi-node.md): Setting up OpenG2P environments on an existing multi-node infrastructure
- [Backups](https://docs.openg2p.org/operations/deployment/backups.md): Backup and restore automation for OpenG2P 3-node production installs — PostgreSQL via pgBackRest, etcd snapshots, rancher-backup for Kubernetes resources, restic for NFS data and configs. Pull-based f
- [Architecture](https://docs.openg2p.org/operations/deployment/backups/architecture.md): Tool choices for the backup automation, and what is deliberately not used.
- [What gets backed up](https://docs.openg2p.org/operations/deployment/backups/what-gets-backed-up.md): Per-component table of what is backed up, plus the rationale for what is lost vs. recreated when you re-run the 3-node automation.
- [Prerequisites](https://docs.openg2p.org/operations/deployment/backups/prerequisites.md): Backup-node sizing, network, and secret custody requirements before running openg2p-backup.sh install.
- [Configuration](https://docs.openg2p.org/operations/deployment/backups/configuration.md): Reference for backup-config.yaml — every key, default, and what changing it does.
- [Operations](https://docs.openg2p.org/operations/deployment/backups/operations.md): Day-to-day backup operations — install, run, verify, list, status, group toggling.
- [Drills](https://docs.openg2p.org/operations/deployment/backups/drills.md): Weekly automated drill — verify + dry-run-restore + canary checks across every enabled backup group.
- [Restoration](https://docs.openg2p.org/operations/deployment/backups/restoration.md): Index of restoration scenarios — pick one based on what failed and what you're trying to bring back.
- [Postgres PITR](https://docs.openg2p.org/operations/deployment/backups/restoration/postgres-pitr.md): Restore PostgreSQL to a specific point in time using pgBackRest.
- [Single PVC](https://docs.openg2p.org/operations/deployment/backups/restoration/single-pvc.md): Restore one PersistentVolumeClaim's data from the NFS restic repo and rebind it to the target app.
- [Etcd in-place](https://docs.openg2p.org/operations/deployment/backups/restoration/etcd-in-place.md): Restore etcd in-place on the existing compute node from an RKE2 snapshot. Use when the control plane is broken but the compute node is reusable.
- [Full rebuild](https://docs.openg2p.org/operations/deployment/backups/restoration/full-rebuild.md): Build fresh nodes, run the production install, then layer backups on top — the disaster recovery runbook.
- [Alerting (Phase 2)](https://docs.openg2p.org/operations/deployment/backups/alerting.md): Phase 2 work — alerting on backup health. Candidate mechanisms for on-prem, air-gapped deployments.
- [Production Deployment Best Practices](https://docs.openg2p.org/operations/deployment/production.md): Production Deployment Guide
- [Scaling](https://docs.openg2p.org/operations/deployment/scaling.md): The documentation in this section is a reference material for system integrators and countries to scale up the infrastructure.
- [V4 Deployment Architecture](https://docs.openg2p.org/operations/deployment/scaling/v4-deployment-architecture.md)
- [Resource Requirements for Scaled Up Cluster Setup](https://docs.openg2p.org/operations/deployment/scaling/hardware-requirements.md): Various resources required for deployment
- [Base Infrastructure](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure.md): Deployment Base Infrastructure
- [Wireguard Bastion](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/wireguard-bastion.md): Deployment of Wireguard Bastion
- [Install WireGuard Client on Android Device](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/wireguard-bastion/install-wireguard-app-and-activate-tunnel.md)
- [Wireguard Access to Users](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/wireguard-bastion/wireguard-access-to-users.md): Guide
- [Install WireGuard Client on Desktop](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/wireguard-bastion/install-wireguard-client-on-machine.md)
- [NFS Server](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/nfs-server.md)
- [Rancher Cluster](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/rancher.md): Installation of Rancher and Keycloak on Kubernetes cluster
- [OpenG2P Cluster](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/openg2p-cluster.md): Guide to create Kubernetes cluster for OpenG2P modules
- [Kubernetes](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/openg2p-cluster/cluster-setup.md): Kubernetes installation guide
- [Firewall](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/openg2p-cluster/cluster-setup/firewall.md): Firewall setup for various components
- [Istio](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/openg2p-cluster/cluster-setup/istio.md): Istio Setup
- [Adding Nodes to Cluster](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/openg2p-cluster/cluster-setup/adding-nodes-to-cluster.md): Guide to add nodes to an existing Kubernetes cluster
- [Deleting Nodes from Cluster](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/openg2p-cluster/cluster-setup/deleting-nodes-from-cluster.md): Guide to delete nodes from existing Kubernetes cluster
- [Prometheus & Grafana](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/openg2p-cluster/prometheus-and-grafana.md): Deployment of monitoring tools Prometheus & Grafana
- [Fluentd & OpenSearch](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/openg2p-cluster/fluentd-and-opensearch.md): Deployment of Logging infrastructure
- [DEPRECATED - OpenSearch](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/openg2p-cluster/fluentd-and-opensearch/opensearch.md): OpenSearch Deployment
- [Landing Page For OpenG2P](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/openg2p-cluster/landing-page-for-openg2p.md): This document describes how to deploy landing page for OpenG2P
- [Load Balancer](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/load-balancer.md)
- [Nginx](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/load-balancer/nginx.md): Installation of Nginx load balancer
- [AWS](https://docs.openg2p.org/operations/deployment/scaling/base-infrastructure/load-balancer/aws.md): Installation of load balancer on AWS
- [Additional Guides](https://docs.openg2p.org/operations/deployment/deployment-guide.md): Additional Deployment Guides
- [Automatic Build and Upload of Private Dockers](https://docs.openg2p.org/operations/deployment/deployment-guide/automatic-build-and-upload-of-private-dockers.md): Guide to build and upload on Docker hub from private Github repositories
- [Generate SSL Certificates using Letsencrypt](https://docs.openg2p.org/operations/deployment/deployment-guide/ssl-certificates-using-letsencrypt.md)
- [Packaging Odoo based Docker](https://docs.openg2p.org/operations/deployment/deployment-guide/packaging-openg2p-docker.md)
- [AWS](https://docs.openg2p.org/operations/deployment/deployment-guide/aws.md): Additional guides related to deployment on AWS
- [Create ACM Certificate on AWS](https://docs.openg2p.org/operations/deployment/deployment-guide/aws/create-acm-certificate-on-aws.md): (WIP)
- [Create Security Group on AWS](https://docs.openg2p.org/operations/deployment/deployment-guide/aws/create-security-group-on-aws.md): Guide to create Security Group on AWS
- [Domain mapping on AWS Route53](https://docs.openg2p.org/operations/deployment/deployment-guide/aws/domain-mapping-on-aws-route53.md): Guide on mapping domain names on AWS Route53 (WORK IN PROGRESS)
- [Make Environment Publicly Accessible using AWS LB Configuration](https://docs.openg2p.org/operations/deployment/deployment-guide/aws/make-environment-publicly-accessible-using-aws-lb-configuration.md): Guide to create public load balancer
- [Private Access Channel](https://docs.openg2p.org/operations/deployment/deployment-guide/private-access-channel.md)
- [Odoo Post Install Configuration](https://docs.openg2p.org/operations/deployment/deployment-guide/odoo-post-install-configuration.md)
- [Pulling Docker from Private Repository on Docker Hub](https://docs.openg2p.org/operations/deployment/deployment-guide/pulling-docker-from-private-repository-on-docker-hub.md)
- [Troubleshooting: "fsnotify watcher" warning](https://docs.openg2p.org/operations/deployment/deployment-guide/troubleshooting-fsnotify-watcher-warning.md): Guide to fix "fsnotify watcher: too many open files" warning while installing Helm.
- [Uninstalling Applications from Rancher UI](https://docs.openg2p.org/operations/deployment/deployment-guide/uninstalling-applications-from-rancher-ui.md): This document provides instructions on uninstalling applications from Rancher UI.
- [Access a Database from Outside the Cluster](https://docs.openg2p.org/operations/deployment/deployment-guide/access-a-database-from-outside-the-cluster.md): Post-deployment guide
- [Configure External Database to Connect OpenG2P Environment](https://docs.openg2p.org/operations/deployment/deployment-guide/configure-external-database-to-connect-openg2p-environment.md)
- [Configure IPSec VPN Gateway to Connect to External Systems using Strongswan](https://docs.openg2p.org/operations/deployment/deployment-guide/configure-ipsec-vpn-strongswan.md)
- [Troubleshooting](https://docs.openg2p.org/operations/deployment/deployment-guide/troubleshooting-section.md): This guide gives you solutions for the issues faced in the environment.
- [PostgreSQL Database not Starting due to Replication Checkpoint Error](https://docs.openg2p.org/operations/deployment/deployment-guide/troubleshooting-section/postgresql-database-not-starting-due-to-replication-checkpoint-error..md)
- [No Space Left on the Device Warning](https://docs.openg2p.org/operations/deployment/deployment-guide/troubleshooting-section/no-space-left-on-the-device-warning.md)
- [RKE2 Kubernetes Cluster not Starting due to ETCD Quorum Loss](https://docs.openg2p.org/operations/deployment/deployment-guide/troubleshooting-section/rke2-kubernetes-cluster-not-starting-due-to-etcd-quorum-loss.md)
- [Performance Issues in Environments](https://docs.openg2p.org/operations/deployment/deployment-guide/troubleshooting-section/performance-issues-in-environments.md): This document explains how to troubleshoot performance issues in the environments.
- [Restart Deployment or StatefulSets to Redistribute Pods across Nodes](https://docs.openg2p.org/operations/deployment/deployment-guide/redistribute-pods-across-nodes-by-restarting-deployment-statefulsets.md)
- [Rerun Jobs in Kubernetes Cluster](https://docs.openg2p.org/operations/deployment/deployment-guide/rerun-jobs-in-kubernetes-cluster.md)
- [Finding URLs in the System](https://docs.openg2p.org/operations/deployment/deployment-guide/finding-urls-in-the-system.md): How to find out all the URLs that have been configured in the installation
- [Transitioning PostgreSQL From Docker on K8s to Standalone PostgreSQL](https://docs.openg2p.org/operations/deployment/deployment-guide/transitioning-postgresql-from-docker-on-k8s-to-standalone-postgresql.md): This document describes how to migrate from Docker PostgreSQL to standalone PostgreSQL with existing data.
- [Restore a PVC from an NFS Folder and Attach it to a Pod](https://docs.openg2p.org/operations/deployment/deployment-guide/restore-a-pvc-from-an-nfs-folder-and-attach-it-to-a-pod.md): This Guide explains how to Restore PVC from NFS Folder and Attach to Pod.
- [View System Logs on the OpenSearch Dashboard](https://docs.openg2p.org/operations/deployment/deployment-guide/view-system-logs-on-the-opensearch-dashboard.md)
- [Set up Slack alerts for a Kubernetes cluster](https://docs.openg2p.org/operations/deployment/deployment-guide/set-up-slack-alerts-for-a-kubernetes-cluster.md): This guide explains how to configure Slack alerts for a Kubernetes cluster using Prometheus Alertmanager.
- [Importing Dashboards on the Superset UI for OpenG2P Applications](https://docs.openg2p.org/operations/deployment/deployment-guide/importing-dashboards-on-the-superset-ui-for-openg2p-applications.md): This document explains how to import dashboards in superset
- [Scaling Down an Environment to Optimize Resource Usage](https://docs.openg2p.org/operations/deployment/deployment-guide/scaling-down-an-environment-to-optimize-resource-usage.md): This document outlines the process for scaling down an environment in a Kubernetes cluster.
- [Kubernetes Master Nodes](https://docs.openg2p.org/operations/deployment/deployment-guide/kubernetes-master-nodes.md)
- [Automating Cache Cleanup on K8s Cluster Nodes with Cron Job](https://docs.openg2p.org/operations/deployment/deployment-guide/automating-cache-cleanup-on-k8s-cluster-nodes-with-cron-job.md): This document explains how to set up a cron job to clear the cache on ubuntu systems.
- [Set Up Slack Alerts for a Standalone Node using Netdata](https://docs.openg2p.org/operations/deployment/deployment-guide/set-up-slack-alerts-for-a-standalone-node-using-netdata.md): This document provides a step-by-step guide to configure Slack alerts for a standalone node using the Netdata monitoring tool.
- [Install WebSub](https://docs.openg2p.org/operations/deployment/deployment-guide/install-websub.md)
- [Set up ClamAV virus scanning for incoming traffic](https://docs.openg2p.org/operations/deployment/deployment-guide/set-up-clamav-virus-scanning-for-incoming-traffic.md)
- [Air-gapped deployment setup using Gitlab](https://docs.openg2p.org/operations/deployment/deployment-guide/air-gapped-deployment-setup-using-gitlab.md)
- [MinIO Standalone Installation Guide on Ubuntu VM](https://docs.openg2p.org/operations/deployment/deployment-guide/minio-standalone-installation-guide-on-ubuntu-vm.md): Document describes How to Set Up MinIO Object Storage Server in Standalone Mode on Ubuntu
- [Resizing Persistent Volume Claim in Kubernetes Cluster](https://docs.openg2p.org/operations/deployment/deployment-guide/resizing-persistent-volume-claim-in-kubernetes-cluster.md): Guide on Resizing PVC (Persistent Volume Claim) in Kubernetes Cluster
- [Persistent Storage](https://docs.openg2p.org/operations/deployment/deployment-guide/persistent-storage.md)
- [ETCD Backup and Restore](https://docs.openg2p.org/operations/deployment/deployment-guide/etcd-backup-and-restore.md): Guide to backup Kubernetes Master ETCD
- [How to Update an Environment from One Domain to Another](https://docs.openg2p.org/operations/deployment/deployment-guide/how-to-update-an-environment-from-one-domain-to-another.md): This document describes how to Update an Environment from One Domain to Another
- [Deployment of Novu](https://docs.openg2p.org/operations/deployment/deployment-guide/deployment-of-novu.md)
- [Implement backup with Barman](https://docs.openg2p.org/operations/deployment/deployment-guide/implement-backup-with-barman.md)
- [Postgres Init Helm Chart](https://docs.openg2p.org/operations/deployment/deployment-guide/postgres-init-helm-chart.md): About Postgres Init Helm Chart
- [Keycloak](https://docs.openg2p.org/operations/deployment/deployment-guide/keycloak.md)
- [Keycloak Client Creation](https://docs.openg2p.org/operations/deployment/deployment-guide/keycloak/keycloak-client-creation.md): Guide to create a Keycloak OIDC client for authentication in modules
- [Keycloak Init Automation](https://docs.openg2p.org/operations/deployment/deployment-guide/keycloak/keycloak-init-automation.md): Automate Keycloak realm and client creation using the keycloak-init tool
- [Enabling Keycloak User Self-Registration](https://docs.openg2p.org/operations/deployment/deployment-guide/keycloak/enabling-keycloak-user-self-registration.md): This document provides a guide to enabling Keycloak user self-registration for public environments.
- [Keycloak Advanced Security](https://docs.openg2p.org/operations/deployment/deployment-guide/keycloak/keycloak-advanced-security.md)
- [Keycloak Custom Docker Image](https://docs.openg2p.org/operations/deployment/deployment-guide/keycloak/keycloak-custom-docker-image.md): Custom Keycloak Docker image with OpenG2P themes pre-installed
- [NFS Migration – Migrating PVC's to a New NFS Server](https://docs.openg2p.org/operations/deployment/deployment-guide/nfs-migration-migrating-pvcs-to-a-new-nfs-server.md): This document explains how to migrate all existing Persistent Volume Claim (PVC) data from an old NFS server to a new NFS server, and reconnect your Kubernetes cluster to the new NFS node.
- [Packages](https://docs.openg2p.org/operations/deployment/packages.md)
- [Versioning Conventions](https://docs.openg2p.org/operations/deployment/versioning.md): Version and branch conventions followed in OpenG2P
- [Helm Charts](https://docs.openg2p.org/operations/deployment/helm-charts.md)
- [Previous Releases](https://docs.openg2p.org/operations/deployment/previous-releases.md)
- [1.1.0](https://docs.openg2p.org/operations/deployment/previous-releases/1.1.0.md)
- [Release Notes](https://docs.openg2p.org/operations/deployment/previous-releases/1.1.0/release-notes.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.openg2p.org/operations/deployment.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
