SelectoComponents.Debug.ProductionConfig (selecto_components v0.4.5)
Secure configuration for enabling debug panel in production.
To enable debug panel in production, you must set BOTH:
- SELECTO_DEBUG_ENABLED=true
- SELECTO_DEBUG_TOKEN=<secure-random-token>
And include the token in your session or as a query parameter: ?debug_token=<token>
This ensures debug panel cannot be accidentally exposed in production.
Link to this section Summary
Functions
Check if debug mode should be enabled based on environment and security requirements.
Generate a secure random token for production debug access. Run this in IEx to generate a token for your SELECTO_DEBUG_TOKEN env var.
Get the configured debug features based on environment.
Check if the debug panel CSS should be included. This is less strict - we include CSS in dev/test or if debug is configured (but not necessarily authenticated).
Link to this section Functions
debug_enabled?(params \\ %{}, session \\ %{})
Check if debug mode should be enabled based on environment and security requirements.
Debug is opt-in in all environments and requires a request flag:
selecto_debug=true(or1/on/yes) in params or sessiondebug=true(or1/on/yes) in params or session- providing
debug_tokenalso counts as an explicit request
In development/test: request flag is sufficient. In production: request flag + explicit configuration + valid token.
generate_secure_token()
Generate a secure random token for production debug access. Run this in IEx to generate a token for your SELECTO_DEBUG_TOKEN env var.
example
Example
iex> SelectoComponents.Debug.ProductionConfig.generate_secure_token()
"7K9mP3nX5vB2qL8wF4hJ6sD1gR0tY..."
get_debug_config(domain_module, view_type, params \\ %{}, session \\ %{})
Get the configured debug features based on environment.
include_debug_assets?()
Check if the debug panel CSS should be included. This is less strict - we include CSS in dev/test or if debug is configured (but not necessarily authenticated).