Configure Using Flags
Alternatively, you can set configuration options using flags when running the command. See all the configuration flags by running,Configuration Using YAML File
Configuration Glossary
server | Server Configurations
server | Server Configurations
logger | Logging Options
logger | Logging Options
authn | Server Authentication
authn | Server Authentication
Definition
You can choose to authenticate users to interact with Permify API.There are 2 authentication method you can choose:- Pre Shared Keys
- OpenID Connect
Pre Shared Keys
On this method, you must provide a pre shared keys in order to identify yourself.Structure
Glossary
ENV
OpenID Connect
Permify supports OpenID Connect (OIDC). OIDC provides an identity layer on top of OAuth 2.0 to address the shortcomings of using OAuth 2.0 for establishing identity.With this authentication method, you be able to integrate your existing Identity Provider (IDP) to validate JSON Web Tokens (JWTs) using JSON Web Keys (JWKs). By doing so, only trusted tokens from the IDP will be accepted for authentication.Structure
Glossary
ENV
tracer | Tracing Configurations
tracer | Tracing Configurations
meter | Meter Configurations
meter | Meter Configurations
database | Database Configurations
database | Database Configurations
Definition
Configurations for the database that points out where your want to store your authorization data (relation tuples, audits, decision logs, authorization model)Structure
Glossary
ENV
Production Best Practices: Connection Pooling with pgcat
For production deployments, especially when running multiple Permify instances, we strongly recommend using pgcat (PostgreSQL Connection Pooler) for server-side connection pooling. This helps manage database connections efficiently and prevents connection exhaustion.For detailed information about pgcat setup, configuration, and best practices, see the Database Pooling with Pgcat guide.Why use pgcat?- Connection Management: pgcat manages a pool of connections to PostgreSQL, allowing multiple Permify instances to share connections efficiently
- Performance: Reduces connection overhead and improves query performance
- Point your
uri,writer.uri, andreader.urito pgcat (typically on port6432) instead of PostgreSQL directly - Set
max_connectionsto a low value since pgcat manages the actual connection pool - For session mode with pgcat, set
min_connectionsto0to allow the pool to shrink when not needed - Configure connection lifecycle settings to help with connection cycling and prevent connection exhaustion
service | Service Configurations
service | Service Configurations
profiler | Performance Profiler Configurations
profiler | Performance Profiler Configurations
Definition
pprof is a performance profiler for Go programs. It allows developers to analyze and understand the performance characteristics of their code by generating detailed profiles of program executionWhen enabled, Permify exposes Go’s standard pprof HTTP endpoints on the configured port (default6060):You can analyse captured profiles locally using Go’s built-in tooling:
- Investigating a CPU spike or unexpectedly high latency in Permify.
- During load or capacity testing to identify bottlenecks before production.
- When suspecting a performance regression after a version upgrade.