Skip to main content
Enterprise Only

This section is only relevant to Enterprise customers who acquired an on-prem license.

On-Premises Deployment

What is On-Premises Deployment?

On-premises deployment allows you to run the complete Permit authorization platform within your own infrastructure, ideal for organizations requiring:

  • Air-gapped environments - No internet connectivity required
  • Data sovereignty - Complete control over where data resides
  • Custom compliance requirements - Meet regulatory standards
  • Enhanced security - Full control over the authorization infrastructure

Understanding the Architecture

What is a PDP (Policy Decision Point)?

The Policy Decision Point (PDP) is the core component that makes authorization decisions in real-time. It:

  • Syncs authorization policies from the control plane to maintain an up-to-date local cache
  • Evaluates permissions using Open Policy Agent (OPA) for high-performance decisions
  • Handles authorization requests from your applications without external dependencies
  • Operates independently once policies are synced, ensuring low latency

Learn more: PDP Concepts | GitHub Repository

Architecture Overview

┌──────────────────────────────────────────────────────────────────┐
│ Your Infrastructure │
│ │
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ Permit Platform (Control Plane) │ │
│ │ │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌───────────────┐ │ │
│ │ │ Frontend │ │ Backend │ │ OPAL Server │ │ │
│ │ │ (UI/API) │ │ Services │ │(Policy Engine)│ │ │
│ │ └──────────────┘ └──────────────┘ └───────────────┘ │ │
│ │ │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌───────────────┐ │ │
│ │ │ PostgreSQL │ │ Redis │ │ RabbitMQ │ │ │
│ │ │ (Database) │ │ (Cache) │ │ (Messaging) │ │ │
│ │ └──────────────┘ └──────────────┘ └───────────────┘ │ │
│ │ │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌───────────────┐ │ │
│ │ │ OpenSearch │ │ Keycloak │ │ Policy Sync │ │ │
│ │ │ (Logs) │ │ (IAM) │ │ (Git→OPAL) │ │ │
│ │ └──────────────┘ └──────────────┘ └───────┬───────┘ │ │
│ └────────────────────────────────────────────────┼──────────┘ │
│ │ Policy │
│ │ Updates │
│ ┌─────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ Policy Decision Points (PDPs) │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ PDP Pod │ │ PDP Pod │ │ PDP Pod │ │ ... │ │ │
│ │ │ + OPA │ │ + OPA │ │ + OPA │ │ │ │ │
│ │ └────▲─────┘ └────▲─────┘ └────▲─────┘ └──────────┘ │ │
│ └───────┼─────────────┼─────────────┼────────────────────────┘ │
│ │ │ │ │
│ │ Authorization Requests (low latency) │
│ │ │ │ │
│ ┌───────┴─────────────┴─────────────┴────────────────────────┐ │
│ │ Your Applications / Services │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ External Policy Repository (Git) │ │
│ │ - Authorization policies in Rego format (OPA) │ │
│ │ - Synced to OPAL via Policy Sync service │ │
│ └─────────────────────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────────────────────┘

Deployment Components

The on-premises deployment includes:

Permit Platform (Control Plane)
FrontendWeb UI dashboard and management interface
Backend ServicesREST API, policy management, and core services (~20+ microservices)
OPAL ServerOpen Policy Administration Layer for policy distribution
Policy SyncGit repository synchronization for policy-as-code
Infrastructure Services
PostgreSQLPrimary database for policies, users, and configuration (with read replicas)
RedisHigh-performance caching layer
RabbitMQMessage queue for asynchronous operations
OpenSearchDecision logs storage and analytics
KeycloakIdentity and access management
Policy Decision Points (PDP)
PDP PodsDistributed authorization decision engines (deployed via separate Helm chart)
OPA (Open Policy Agent)Policy evaluation engine embedded in each PDP

Platform Requirements

The platform supports multiple deployment environments:

  • Kubernetes/OpenShift - Container orchestration (Red Hat OpenShift, EKS, GKE, AKS, or Kind)
  • Air-gapped installation - No internet connection required post-setup
  • High availability - Multiple replicas for critical services

Security

The Permit Platform includes enterprise-grade security features for on-premises deployments:

  • TLS/SSL Encryption - HTTPS for all external communications
  • Encryption at Rest - PostgreSQL data encryption for policies and configurations
  • Secrets Management - Kubernetes secrets for SSH keys, API tokens, and credentials
  • RBAC & IAM - Role-based access control via integrated Keycloak
  • Network Isolation - Components run in isolated Kubernetes namespace
  • SSH Key Authentication - Secure Git repository access for policy-as-code
  • API Key Authentication - Secure PDP-to-Control-Plane communication
  • Audit Logging - Complete decision logs stored in OpenSearch

For detailed security configuration and operational best practices, see the Installation Guide and Management Guide.

Quick Navigation

Support


Ready to get started? Begin with the Quick Start Guide