Module: Karst

Defined in:
lib/karst.rb,
lib/karst/value.rb,
lib/karst/railtie.rb,
lib/karst/version.rb,
lib/karst/identity.rb,
lib/karst/web/csrf.rb,
lib/karst/web/badge.rb,
lib/karst/web/panel.rb,
lib/karst/mcp/server.rb,
lib/karst/access/sweep.rb,
lib/karst/web/locality.rb,
lib/karst/access/search.rb,
lib/karst/configuration.rb,
lib/karst/web/middleware.rb,
lib/karst/cli/verification.rb,
lib/karst/web/route_lookup.rb,
lib/karst/execution_context.rb,
lib/karst/web/browser_identity.rb,
lib/karst/web/populations_panel.rb,
lib/karst/mcp/verify_access_tool.rb,
lib/karst/access/principal_source.rb,
lib/karst/identity/devise_support.rb,
lib/karst/identity/warden_adapter.rb,
lib/karst/access/principal_sampler.rb,
lib/karst/access/probe_application.rb,
lib/karst/access/database_isolation.rb,
lib/karst/access/population_approval.rb,
lib/karst/access/principal_selection.rb,
lib/karst/access/approved_populations.rb,
lib/karst/access/candidate_population.rb,
lib/karst/access/population_approvals.rb,
lib/karst/access/population_discovery.rb,
lib/karst/access/population_revocation.rb,
lib/karst/access/sensitive_attribute_names.rb,
lib/karst/access/principal_source_selection.rb,
lib/karst/access/selected_principal_sources.rb,
lib/generators/karst/install/install_generator.rb

Overview

Public entry point for Karst configuration.

Defined Under Namespace

Modules: Access, CLI, ExecutionContext, Generators, Identity, Mcp, Value, Web Classes: RemovedConfiguration

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.configObject



39
40
41
# File 'lib/karst.rb', line 39

def config
  @ownership_mutex.synchronize { @config ||= Configuration.new }
end

.configure {|config| ... } ⇒ Object

Yields:



35
36
37
# File 'lib/karst.rb', line 35

def configure
  yield config
end

.enabled?Boolean

The single switch that turns Karst's whole development surface off: /karst, the page badge, bin/rails karst:verify, and the MCP verify_access tool all refuse to run when this is false. Defaults to development/test only, so an application that never configures Karst at all still cannot expose it in production.

Returns:

  • (Boolean)


48
49
50
# File 'lib/karst.rb', line 48

def enabled?
  config.enabled
end