Skip to main content
v0.0.x

Options

Permguard can be configured using either environment variables or CLI options. Each CLI option has a corresponding environment variable named PERMGUARD_<OPTION_NAME>. For example, --debug maps to PERMGUARD_DEBUG.

General

These options apply to all components.

OptionDefaultDescription
--debugfalseEnables debug mode
--log-levelINFOLog level: DEBUG, INFO, WARN, ERROR, DPANIC, PANIC, FATAL
Log Levels
LevelDescription
DEBUGVerbose, typically disabled in production
INFODefault logging priority
WARNMore important than Info, no individual review needed
ERRORHigh-priority, should not appear in smooth operation
DPANICImportant errors, panics in development
PANICLogs then panics
FATALLogs then calls os.Exit(1)

Transport Security (TLS)

These options configure TLS for gRPC communication. See the Transport Security guide for usage examples.

OptionDefaultDescription
--server-tls-modenoneTLS mode: none, tls, mtls, external, spiffe
--server-tls-cert-filePath to server TLS certificate (PEM)
--server-tls-key-filePath to server TLS private key (PEM)
--server-tls-ca-filePath to CA certificate for client verification in mTLS (PEM)
--server-tls-auto-cert-dir{appdata}/certs/Directory for auto-generated certificates (mode=tls only)
--server-tls-spiffe-socket-pathSPIFFE Workload API socket path (mode=spiffe only, defaults to SPIFFE_ENDPOINT_SOCKET env)
TLS Modes
ModeDescription
noneNo encryption. Default for local development.
tlsServer-side TLS. The server presents a certificate. If no cert is provided, one is auto-generated.
mtlsMutual TLS. Both server and client present and verify certificates.
externalMutual TLS using certificates provisioned by infrastructure (e.g., SPIRE, Vault, cert-manager). Requires cert-file, key-file, and ca-file.
spiffeNative SPIFFE mTLS via the Workload API. No certificate files needed — the server connects directly to the SPIRE agent.