67 lines
1.9 KiB
Text
67 lines
1.9 KiB
Text
# 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,
|
|
}
|