Add a "database readonly" state that allows all writes to the database
[rails.git] / config / environment.rb
1 # Be sure to restart your server when you modify this file
2
3 # Uncomment below to force Rails into production mode when
4 # you don't control web/app server and can't set it the proper way
5 ENV['RAILS_ENV'] ||= 'production'
6
7 # Specifies gem version of Rails to use when vendor/rails is not present
8 RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION
9
10 # Set the server URL
11 SERVER_URL = ENV['OSM_SERVER_URL'] || 'www.openstreetmap.org'
12
13 # Application constants needed for routes.rb - must go before Initializer call
14 API_VERSION = ENV['OSM_API_VERSION'] || '0.5'
15
16 # Set application status - possible settings are:
17 #
18 #   :online - online and operating normally
19 #   :api_readonly - site online but API in read-only mode
20 #   :api_offline - site online but API offline
21 #   :database_readonly - database and site in read-only mode
22 #   :database_offline - database offline with site in emergency mode
23 #
24 OSM_STATUS = :online
25
26 # Bootstrap the Rails environment, frameworks, and default configuration
27 require File.join(File.dirname(__FILE__), 'boot')
28
29 Rails::Initializer.run do |config|
30   # Settings in config/environments/* take precedence over those specified here.
31   # Application configuration should go into files in config/initializers
32   # -- all .rb files in that directory are automatically loaded.
33   # See Rails::Configuration for more options.
34
35   # Skip frameworks you're not going to use (only works if using vendor/rails).
36   # To use Rails without a database, you must remove the Active Record framework
37   if OSM_STATUS == :database_offline
38     config.frameworks -= [ :active_record ]
39   end
40
41   # Only load the plugins named here, in the order given. By default, all plugins 
42   # in vendor/plugins are loaded in alphabetical order.
43   # :all can be used as a placeholder for all plugins not explicitly named
44   # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
45
46   # Add additional load paths for your own custom dirs
47   # config.load_paths += %W( #{RAILS_ROOT}/extras )
48
49   # Force all environments to use the same logger level
50   # (by default production uses :info, the others :debug)
51   # config.log_level = :debug
52
53   # Your secret key for verifying cookie session data integrity.
54   # If you change this key, all old sessions will become invalid!
55   # Make sure the secret is at least 30 characters and all random, 
56   # no regular words or you'll be exposed to dictionary attacks.
57   config.action_controller.session = {
58     :session_key => '_osm_session',
59     :secret      => 'd886369b1e709c61d1f9fcb07384a2b96373c83c01bfc98c6611a9fe2b6d0b14215bb360a0154265cccadde5489513f2f9b8d9e7b384a11924f772d2872c2a1f'
60   }
61
62   # Use the database for sessions instead of the cookie-based default,
63   # which shouldn't be used to store highly confidential information
64   # (create the session table with 'rake db:sessions:create')
65   config.action_controller.session_store = :sql_session_store
66
67   # Use SQL instead of Active Record's schema dumper when creating the test database.
68   # This is necessary if your schema can't be completely dumped by the schema dumper,
69   # like if you have constraints or database-specific column types
70   config.active_record.schema_format = :sql
71
72   # Activate observers that should always be running
73   # config.active_record.observers = :cacher, :garbage_collector
74
75   # Make Active Record use UTC-base instead of local time
76   # config.active_record.default_timezone = :utc
77 end