website-htmx-rustelo-code/site/config/features.ncl

68 lines
1.9 KiB
Text
Raw Normal View History

2026-07-10 03:44:13 +01:00
# Runtime feature flags
#
# These flags control behaviour at runtime and are distinct from Cargo
# features (compile-time). Toggling them here takes effect on the next
# server restart without recompiling.
let C = import "features/contracts.ncl" in
{
features = {
auth = {
enabled = true,
jwt = true,
oauth = false,
two_factor = false,
sessions = true,
password_reset = true,
email_verification = false,
} | C.AuthFeatures,
rbac = {
enabled = false,
database_access = false,
file_access = false,
content_access = false,
api_access = false,
categories = false,
tags = false,
caching = false,
audit_logging = false,
toml_config = false,
hierarchical_permissions = false,
dynamic_rules = false,
} | C.RbacFeatures,
content = {
enabled = true,
markdown = true,
syntax_highlighting = false,
file_uploads = true,
versioning = false,
scheduling = false,
seo = true,
} | C.ContentFeatures,
security = {
csrf = true,
security_headers = true,
rate_limiting = true,
input_sanitization = true,
sql_injection_protection = true,
xss_protection = true,
content_security_policy = true,
} | C.SecurityFeatures,
performance = {
response_caching = true,
query_caching = true,
compression = true,
connection_pooling = true,
lazy_loading = false,
background_tasks = true,
} | C.PerformanceFeatures,
custom = {},
} | C.FeatureConfig,
}