diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 000000000..0427c0ab2
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,12 @@
+16.01.2015
+
+* Staging env added, please change apache conf in staging servers to "RailsEnv staging"
+ Then you need to add or update staging section in
+ --> config/database.yml
+ --> config/secrets.yml
+ --> config/application.yml
+
+15.01.2015
+
+* Registry api log and whois database added, please update your database.yml,
+ you can view updated config at config/database-example.yml
diff --git a/Gemfile b/Gemfile
index 6d51e4618..843e7fb6e 100644
--- a/Gemfile
+++ b/Gemfile
@@ -48,6 +48,9 @@ gem 'isikukood' # for EE-id validation
gem 'whenever', '~> 0.9.4', require: false
gem 'daemons', '~> 1.1.9' # process delayed jobs
+# monitors
+gem 'newrelic_rpm', '~> 3.9.9.275'
+
group :development do
# dev tools
gem 'spring', '~> 1.2.0'
diff --git a/Gemfile.lock b/Gemfile.lock
index 634f958a4..d6864d21f 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -224,6 +224,7 @@ GEM
minitest (5.5.0)
multi_json (1.10.1)
multi_xml (0.5.5)
+ newrelic_rpm (3.9.9.275)
nokogiri (1.6.2.1)
mini_portile (= 0.6.0)
nprogress-rails (0.1.6.5)
@@ -460,6 +461,7 @@ DEPENDENCIES
kaminari (~> 0.16.1)
launchy (~> 2.4.3)
mina (~> 0.3.1)
+ newrelic_rpm (~> 3.9.9.275)
nokogiri (~> 1.6.2.1)
nprogress-rails (~> 0.1.6.5)
paper_trail (~> 3.0.6)
diff --git a/README.md b/README.md
index 8b7eca0d7..7b408adca 100644
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@ Manual demo install and database setup:
cd /home/registry
git clone git@github.com:internetee/registry.git demo-registry
cd demo-registry
- rbenv local 2.1.2
+ rbenv local 2.2.0
bundle
cp config/database-example.yml config/database.yml # and edit it
cp config/secrets-example.yml config/secrets.yml # and edit it, generate key with 'rake secret'
@@ -48,7 +48,7 @@ Production install (database schema should be loaded and seeds should be present
# at your local machine
git clone git@github.com:internetee/registry.git
cd registry
- rbenv local 2.1.2 # more info about rbenv at debian doc
+ rbenv local 2.2.0 # more info about rbenv at debian doc
gem install mina
mina pr setup # one time, only creates missing directories
ssh registry
@@ -104,19 +104,14 @@ For Apache, registry admin goes to port 443 in production, /etc/apache2/sites-en
PassengerPoolIdleTime 0
PassengerMaxRequests 1000
- RailsEnv production
+ RailsEnv production # or staging
DocumentRoot /home/registry/registry/current/public
# Possible values include: debug, info, notice, warn, error, crit,
- LogLevel info ssl:warn
+ LogLevel info
ErrorLog /var/log/apache2/registry.error.log
CustomLog /var/log/apache2/registry.access.log combined
-
- Require all granted
- Options -MultiViews
-
-
SSLEngine On
SSLCertificateFile /etc/ssl/certs/your.crt
SSLCertificateKeyFile /etc/ssl/private/your.key
@@ -128,7 +123,12 @@ For Apache, registry admin goes to port 443 in production, /etc/apache2/sites-en
SSLCipherSuite RC4-SHA:HIGH:!ADH
- Require all granted
+ # comment out if Apache 2.4 or newer
+ Allow from all
+
+ # uncomment if Apache 2.4 or newer
+ # Require all granted
+
Options -MultiViews
diff --git a/app/assets/images/alpha.png b/app/assets/images/alpha.png
new file mode 100644
index 000000000..c3f1bf12d
Binary files /dev/null and b/app/assets/images/alpha.png differ
diff --git a/app/assets/images/development.png b/app/assets/images/development.png
new file mode 100644
index 000000000..1dd9fb7b5
Binary files /dev/null and b/app/assets/images/development.png differ
diff --git a/app/assets/images/staging.png b/app/assets/images/staging.png
new file mode 100644
index 000000000..fcb408e19
Binary files /dev/null and b/app/assets/images/staging.png differ
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index de6be7945..cc61f56db 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -1,2 +1,11 @@
module ApplicationHelper
+ def unstable_env
+ return nil if Rails.env.production?
+ Rails.env
+ end
+
+ def env_style
+ return '' if unstable_env.nil?
+ "background-image: url(#{image_path(unstable_env.to_s + '.png')});"
+ end
end
diff --git a/app/models/api_log/db.rb b/app/models/api_log/db.rb
index 4c929147a..0e908818d 100644
--- a/app/models/api_log/db.rb
+++ b/app/models/api_log/db.rb
@@ -1,6 +1,6 @@
module ApiLog
class Db < ActiveRecord::Base
self.abstract_class = true
- establish_connection "api_log_#{Rails.env}".to_sym
+ establish_connection "api_log_#{Rails.env}"
end
end
diff --git a/app/views/layouts/application.haml b/app/views/layouts/application.haml
index a7e4a80e9..62220349c 100644
--- a/app/views/layouts/application.haml
+++ b/app/views/layouts/application.haml
@@ -1,4 +1,4 @@
-%html{lang: "en"}
+%html{lang: I18n.locale.to_s}
%head
%meta{charset: "utf-8"}/
%meta{content: "IE=edge", "http-equiv" => "X-UA-Compatible"}/
@@ -10,7 +10,7 @@
= javascript_include_tag 'application', 'data-turbolinks-track' => true
%link{href: "../../favicon.ico", rel: "icon"}/
%title Eesti Interneti SA
- %body
+ %body{:style => env_style}
/ Static navbar
.navbar.navbar-inverse.navbar-static-top{role: "navigation"}
.container
@@ -22,15 +22,9 @@
%span.icon-bar
= link_to root_path, class: 'navbar-brand' do
= APP_CONFIG['app_name']
- - if request.host == 'registry.gitlab.eu'
+ - if unstable_env.present?
.text-center
- %small{style: 'color: #0074B3;'} GITLAB STAGING
- - elsif Rails.env.development?
- .text-center
- %small{style: 'color: #D10000;'}= Rails.env.upcase
- - elsif Rails.env.staging?
- .text-center
- %small{style: 'color: #0074B3;'}= Rails.env.upcase
+ %small{style: 'color: #0074B3;'}= unstable_env
.navbar-collapse.collapse
%ul.nav.navbar-nav
diff --git a/app/views/layouts/client.haml b/app/views/layouts/client.haml
deleted file mode 100644
index 64d90a351..000000000
--- a/app/views/layouts/client.haml
+++ /dev/null
@@ -1,83 +0,0 @@
-%html{lang: "en"}
- %head
- %meta{charset: "utf-8"}/
- %meta{content: "IE=edge", "http-equiv" => "X-UA-Compatible"}/
- %meta{content: "width=device-width, initial-scale=1", name: "viewport"}/
- %meta{content: "EPP-Client", name: "description"}/
- %meta{content: "Gitlab LTD", name: "author"}/
- = csrf_meta_tags
- = stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true
- = javascript_include_tag 'application', 'data-turbolinks-track' => true
- %link{href: "../../favicon.ico", rel: "icon"}/
- %title
- - if can? :view, :registrar
- = t(:registrar)
- - else
- = t('eedirekt')
- %body
- / Static navbar
- .navbar.navbar-default.navbar-static-top{role: "navigation"}
- .container
- .navbar-header
- %button.navbar-toggle{"data-target" => ".navbar-collapse", "data-toggle" => "collapse", type: "button"}
- %span.sr-only Toggle navigation
- %span.icon-bar
- %span.icon-bar
- %span.icon-bar
- - if can? :view, :registrar
- = link_to t(:registrar), client_domains_path, class: 'navbar-brand'
- - else
- = link_to t('eedirekt'), client_domains_path, class: 'navbar-brand'
-
- .navbar-collapse.collapse
- %ul.nav.navbar-nav
- - active_class = ['client/domains', 'client/domain_transfers'].include?(params[:controller]) ? 'active' :nil
- %li.dropdown{class: active_class}
- %a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}
- = t('domains')
- %span.caret
- %ul.dropdown-menu{role: "menu"}
- %li
- = link_to t('domain_list'), client_domains_path
- %li
- = link_to t('domain_transfers_list'), client_domain_transfers_path
-
- - active_class = ['client/contacts'].include?(params[:controller]) ? 'active' :nil
- %li.dropdown{class: active_class}
- %a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}
- = t('contacts')
- %span.caret
- %ul.dropdown-menu{role: "menu"}
- %li
- = link_to t('contact_list'), client_contacts_path
-
- -# %li.dropdown
- %a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}
- = t('history')
- %span.caret
- %ul.dropdown-menu{role: "menu"}
- %li
- = link_to t(:domains_history'), client_domain_versions_path
- %li
- = link_to t('contacts_history'), client_contact_versions_path
-
-
- %ul.nav.navbar-nav.navbar-right
- - if current_user.admin?
- %li.dropdown
- %a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}
- = current_registrar
- %span.caret
- %ul.dropdown-menu{role: "menu"}
- - Registrar.all.each do |x|
- - next if x == current_registrar
- %li
- = link_to x, switch_registrar_sessions_path(registrar_id: x)
- %li= link_to t('log_out', user: current_user), '/logout'
- / /.nav-collapse
- .container
- - display = (flash.empty?) ? 'none' : 'block'
- #flash{style: "display: #{display};"}
- - type = (flash[:notice]) ? 'bg-success' : 'bg-danger'
- .alert{class: type}= flash[:notice] || flash[:alert]
- = yield
diff --git a/app/views/layouts/login.haml b/app/views/layouts/login.haml
index b3b2ab6e2..e1cc4226e 100644
--- a/app/views/layouts/login.haml
+++ b/app/views/layouts/login.haml
@@ -11,7 +11,7 @@
= stylesheet_link_tag 'login', media: 'all', 'data-turbolinks-track' => true
%link{:href => "../../favicon.ico", :rel => "icon"}/
%title Eesti Interneti SA - Log In
- %body
+ %body{:style => env_style}
.container
.form-signin
- display = (flash.empty?) ? 'none' : 'block'
diff --git a/config/application.yml b/config/application.yml
index 520531002..8f47813c5 100644
--- a/config/application.yml
+++ b/config/application.yml
@@ -8,6 +8,9 @@ development:
test:
<<: *defaults
+alpha:
+ <<: *defaults
+
staging:
<<: *defaults
diff --git a/config/database-example.yml b/config/database-example.yml
index 7c28d927e..a38f6001f 100644
--- a/config/database-example.yml
+++ b/config/database-example.yml
@@ -6,30 +6,67 @@ default: &default
username: registry
password: registry_pwd
+
development:
<<: *default
database: registry_development
+whois_development:
+ <<: *default
+ database: registry_whois_development
+
+api_log_development:
+ <<: *default
+ database: registry_api_log_development
+
+
test:
<<: *default
database: registry_test
+whois_test:
+ <<: *default
+ database: registry_whois_test
+
+api_log_test:
+ <<: *default
+ database: registry_api_log_test
+
+
+alpha:
+ <<: *default
+ database: registry_alpha
+
+whois_alpha:
+ <<: *default
+ database: registry_whois_alpha
+
+api_log_alpha:
+ <<: *default
+ database: registry_api_log_alpha
+
+
+staging:
+ <<: *default
+ database: registry_staging
+
+whois_staging:
+ <<: *default
+ database: registry_whois_staging
+
+api_log_staging:
+ <<: *default
+ database: registry_api_log_staging
+
+
production:
<<: *default
database: registry_production
-development_private_whois:
+whois_production:
<<: *default
- database: whois_private
+ database: registry_whois_production
-development_private_whois:
+api_log_production:
<<: *default
- database: whois_public
-
-production_public_whois:
- <<: *default
- database: production_whois_public
-
-production_private_whois:
- <<: *default
- database: production_whois_private
+ database: api_log_production
diff --git a/config/deploy.rb b/config/deploy.rb
index fb581df2e..ba4147c02 100644
--- a/config/deploy.rb
+++ b/config/deploy.rb
@@ -11,7 +11,7 @@ require 'mina/rbenv' # for rbenv support. (http://rbenv.org)
# repository - Git repo to clone from. (needed by mina/git)
# branch - Branch name to deploy. (needed by mina/git)
-# developers branch
+# alpha branch
set :domain, 'registry-st'
set :deploy_to, '$HOME/registry'
set :repository, 'https://github.com/domify/registry' # dev repo
diff --git a/config/environments/alpha.rb b/config/environments/alpha.rb
new file mode 100644
index 000000000..386dcdd55
--- /dev/null
+++ b/config/environments/alpha.rb
@@ -0,0 +1,86 @@
+Rails.application.configure do
+ # Settings specified here will take precedence over those in config/application.rb.
+
+ # Code is not reloaded between requests.
+ config.cache_classes = true
+
+ # Eager load code on boot. This eager loads most of Rails and
+ # your application in memory, allowing both threaded web servers
+ # and those relying on copy on write to perform better.
+ # Rake tasks automatically ignore this option for performance.
+ config.eager_load = true
+
+ # Full error reports are disabled and caching is turned on.
+ config.consider_all_requests_local = false
+ config.action_controller.perform_caching = true
+
+ # Enable Rack::Cache to put a simple HTTP cache in front of your application
+ # Add `rack-cache` to your Gemfile before enabling this.
+ # For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid.
+ # config.action_dispatch.rack_cache = true
+
+ # Disable Rails's static asset server (Apache or nginx will already do this).
+ config.serve_static_files = false
+
+ # Compress JavaScripts and CSS.
+ config.assets.js_compressor = :uglifier
+ # config.assets.css_compressor = :sass
+
+ # Do not fallback to assets pipeline if a precompiled asset is missed.
+ config.assets.compile = false
+
+ # Generate digests for assets URLs.
+ config.assets.digest = true
+
+ # Version of your assets, change this if you want to expire all your assets.
+ config.assets.version = '1.0'
+
+ # Specifies the header that your server uses for sending files.
+ # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
+
+ # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
+ # config.force_ssl = true
+
+ # Set to :debug to see everything in the log.
+ config.log_level = :info
+
+ # Prepend all log lines with the following tags.
+ # config.log_tags = [ :subdomain, :uuid ]
+
+ # Use a different logger for distributed setups.
+ # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
+
+ # Use a different cache store in production.
+ # config.cache_store = :mem_cache_store
+
+ # Enable serving of images, stylesheets, and JavaScripts from an asset server.
+ # config.action_controller.asset_host = "http://assets.example.com"
+
+ # Precompile additional assets.
+ # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
+ # config.assets.precompile += %w( search.js )
+
+ # Ignore bad email addresses and do not raise email delivery errors.
+ # Set this to true and configure the email server for immediate delivery to raise delivery errors.
+ # config.action_mailer.raise_delivery_errors = false
+
+ # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
+ # the I18n.default_locale when a translation cannot be found).
+ config.i18n.fallbacks = true
+
+ # Send deprecation notices to registered listeners.
+ config.active_support.deprecation = :notify
+
+ # Disable automatic flushing of the log to improve performance.
+ # config.autoflush_log = false
+
+ # Use default logging formatter so that PID and timestamp are not suppressed.
+ config.log_formatter = ::Logger::Formatter.new
+
+ # Do not dump schema after migrations.
+ config.active_record.dump_schema_after_migration = false
+
+ # TODO: Change this:
+ config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
+end
diff --git a/config/environments/staging.rb b/config/environments/staging.rb
new file mode 100644
index 000000000..386dcdd55
--- /dev/null
+++ b/config/environments/staging.rb
@@ -0,0 +1,86 @@
+Rails.application.configure do
+ # Settings specified here will take precedence over those in config/application.rb.
+
+ # Code is not reloaded between requests.
+ config.cache_classes = true
+
+ # Eager load code on boot. This eager loads most of Rails and
+ # your application in memory, allowing both threaded web servers
+ # and those relying on copy on write to perform better.
+ # Rake tasks automatically ignore this option for performance.
+ config.eager_load = true
+
+ # Full error reports are disabled and caching is turned on.
+ config.consider_all_requests_local = false
+ config.action_controller.perform_caching = true
+
+ # Enable Rack::Cache to put a simple HTTP cache in front of your application
+ # Add `rack-cache` to your Gemfile before enabling this.
+ # For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid.
+ # config.action_dispatch.rack_cache = true
+
+ # Disable Rails's static asset server (Apache or nginx will already do this).
+ config.serve_static_files = false
+
+ # Compress JavaScripts and CSS.
+ config.assets.js_compressor = :uglifier
+ # config.assets.css_compressor = :sass
+
+ # Do not fallback to assets pipeline if a precompiled asset is missed.
+ config.assets.compile = false
+
+ # Generate digests for assets URLs.
+ config.assets.digest = true
+
+ # Version of your assets, change this if you want to expire all your assets.
+ config.assets.version = '1.0'
+
+ # Specifies the header that your server uses for sending files.
+ # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
+
+ # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
+ # config.force_ssl = true
+
+ # Set to :debug to see everything in the log.
+ config.log_level = :info
+
+ # Prepend all log lines with the following tags.
+ # config.log_tags = [ :subdomain, :uuid ]
+
+ # Use a different logger for distributed setups.
+ # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
+
+ # Use a different cache store in production.
+ # config.cache_store = :mem_cache_store
+
+ # Enable serving of images, stylesheets, and JavaScripts from an asset server.
+ # config.action_controller.asset_host = "http://assets.example.com"
+
+ # Precompile additional assets.
+ # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
+ # config.assets.precompile += %w( search.js )
+
+ # Ignore bad email addresses and do not raise email delivery errors.
+ # Set this to true and configure the email server for immediate delivery to raise delivery errors.
+ # config.action_mailer.raise_delivery_errors = false
+
+ # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
+ # the I18n.default_locale when a translation cannot be found).
+ config.i18n.fallbacks = true
+
+ # Send deprecation notices to registered listeners.
+ config.active_support.deprecation = :notify
+
+ # Disable automatic flushing of the log to improve performance.
+ # config.autoflush_log = false
+
+ # Use default logging formatter so that PID and timestamp are not suppressed.
+ config.log_formatter = ::Logger::Formatter.new
+
+ # Do not dump schema after migrations.
+ config.active_record.dump_schema_after_migration = false
+
+ # TODO: Change this:
+ config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
+end
diff --git a/config/newrelic.yml b/config/newrelic.yml
new file mode 100644
index 000000000..b99409dc9
--- /dev/null
+++ b/config/newrelic.yml
@@ -0,0 +1,232 @@
+#
+# This file configures the New Relic Agent. New Relic monitors Ruby, Java,
+# .NET, PHP, Python and Node applications with deep visibility and low
+# overhead. For more information, visit www.newrelic.com.
+#
+# Generated January 07, 2015
+#
+# This configuration file is custom generated for Estonian Internet Foundation
+
+
+# Here are the settings that are common to all environments
+common: &default_settings
+ # ============================== LICENSE KEY ===============================
+
+ # You must specify the license key associated with your New Relic
+ # account. This key binds your Agent's data to your account in the
+ # New Relic service.
+ license_key: '42d1c2ba4ed17a9cf6297c59d80e563a3dd3c4fa'
+
+ # Agent Enabled (Ruby/Rails Only)
+ # Use this setting to force the agent to run or not run.
+ # Default is 'auto' which means the agent will install and run only
+ # if a valid dispatcher such as Mongrel is running. This prevents
+ # it from running with Rake or the console. Set to false to
+ # completely turn the agent off regardless of the other settings.
+ # Valid values are true, false and auto.
+ #
+ # agent_enabled: auto
+
+ # Application Name Set this to be the name of your application as
+ # you'd like it show up in New Relic. The service will then auto-map
+ # instances of your application into an "application" on your
+ # dashboard page. If you want to map this instance into multiple
+ # apps, like "AJAX Requests" and "All UI" then specify a semicolon
+ # separated list of up to three distinct names, or a yaml list.
+ # Defaults to the capitalized RAILS_ENV or RACK_ENV (i.e.,
+ # Production, Staging, etc)
+ #
+ # Example:
+ #
+ # app_name:
+ # - Ajax Service
+ # - All Services
+ #
+ # Caution: If you change this name, a new application will appear in the New
+ # Relic user interface with the new name, and data will stop reporting to the
+ # app with the old name.
+ #
+ # See https://newrelic.com/docs/site/renaming-applications for more details
+ # on renaming your New Relic applications.
+ #
+ app_name: Registry
+
+ # When "true", the agent collects performance data about your
+ # application and reports this data to the New Relic service at
+ # newrelic.com. This global switch is normally overridden for each
+ # environment below. (formerly called 'enabled')
+ monitor_mode: true
+
+ # Developer mode should be off in every environment but
+ # development as it has very high overhead in memory.
+ developer_mode: false
+
+ # The newrelic agent generates its own log file to keep its logging
+ # information separate from that of your application. Specify its
+ # log level here.
+ log_level: info
+
+ # Optionally set the path to the log file This is expanded from the
+ # root directory (may be relative or absolute, e.g. 'log/' or
+ # '/var/log/') The agent will attempt to create this directory if it
+ # does not exist.
+ # log_file_path: 'log'
+
+ # Optionally set the name of the log file, defaults to 'newrelic_agent.log'
+ # log_file_name: 'newrelic_agent.log'
+
+ # The newrelic agent communicates with the service via https by default. This
+ # prevents eavesdropping on the performance metrics transmitted by the agent.
+ # The encryption required by SSL introduces a nominal amount of CPU overhead,
+ # which is performed asynchronously in a background thread. If you'd prefer
+ # to send your metrics over http uncomment the following line.
+ # ssl: false
+
+ #============================== Browser Monitoring ===============================
+ # New Relic Real User Monitoring gives you insight into the performance real users are
+ # experiencing with your website. This is accomplished by measuring the time it takes for
+ # your users' browsers to download and render your web pages by injecting a small amount
+ # of JavaScript code into the header and footer of each page.
+ browser_monitoring:
+ # By default the agent automatically injects the monitoring JavaScript
+ # into web pages. Set this attribute to false to turn off this behavior.
+ auto_instrument: true
+
+ # Proxy settings for connecting to the New Relic server.
+ #
+ # If a proxy is used, the host setting is required. Other settings
+ # are optional. Default port is 8080.
+ #
+ # proxy_host: hostname
+ # proxy_port: 8080
+ # proxy_user:
+ # proxy_pass:
+
+ # The agent can optionally log all data it sends to New Relic servers to a
+ # separate log file for human inspection and auditing purposes. To enable this
+ # feature, change 'enabled' below to true.
+ # See: https://newrelic.com/docs/ruby/audit-log
+ audit_log:
+ enabled: false
+
+ # Tells transaction tracer and error collector (when enabled)
+ # whether or not to capture HTTP params. When true, frameworks can
+ # exclude HTTP parameters from being captured.
+ # Rails: the RoR filter_parameter_logging excludes parameters
+ # Java: create a config setting called "ignored_params" and set it to
+ # a comma separated list of HTTP parameter names.
+ # ex: ignored_params: credit_card, ssn, password
+ capture_params: false
+
+ # Transaction tracer captures deep information about slow
+ # transactions and sends this to the New Relic service once a
+ # minute. Included in the transaction is the exact call sequence of
+ # the transactions including any SQL statements issued.
+ transaction_tracer:
+
+ # Transaction tracer is enabled by default. Set this to false to
+ # turn it off. This feature is only available at the Professional
+ # and above product levels.
+ enabled: true
+
+ # Threshold in seconds for when to collect a transaction
+ # trace. When the response time of a controller action exceeds
+ # this threshold, a transaction trace will be recorded and sent to
+ # New Relic. Valid values are any float value, or (default) "apdex_f",
+ # which will use the threshold for an dissatisfying Apdex
+ # controller action - four times the Apdex T value.
+ transaction_threshold: apdex_f
+
+ # When transaction tracer is on, SQL statements can optionally be
+ # recorded. The recorder has three modes, "off" which sends no
+ # SQL, "raw" which sends the SQL statement in its original form,
+ # and "obfuscated", which strips out numeric and string literals.
+ record_sql: obfuscated
+
+ # Threshold in seconds for when to collect stack trace for a SQL
+ # call. In other words, when SQL statements exceed this threshold,
+ # then capture and send to New Relic the current stack trace. This is
+ # helpful for pinpointing where long SQL calls originate from.
+ stack_trace_threshold: 0.500
+
+ # Determines whether the agent will capture query plans for slow
+ # SQL queries. Only supported in mysql and postgres. Should be
+ # set to false when using other adapters.
+ # explain_enabled: true
+
+ # Threshold for query execution time below which query plans will
+ # not be captured. Relevant only when `explain_enabled` is true.
+ # explain_threshold: 0.5
+
+ # Error collector captures information about uncaught exceptions and
+ # sends them to New Relic for viewing
+ error_collector:
+
+ # Error collector is enabled by default. Set this to false to turn
+ # it off. This feature is only available at the Professional and above
+ # product levels.
+ enabled: true
+
+ # To stop specific errors from reporting to New Relic, set this property
+ # to comma-separated values. Default is to ignore routing errors,
+ # which are how 404's get triggered.
+ ignore_errors: "ActionController::RoutingError,Sinatra::NotFound"
+
+ # If you're interested in capturing memcache keys as though they
+ # were SQL uncomment this flag. Note that this does increase
+ # overhead slightly on every memcached call, and can have security
+ # implications if your memcached keys are sensitive
+ # capture_memcache_keys: true
+
+# Application Environments
+# ------------------------------------------
+# Environment-specific settings are in this section.
+# For Rails applications, RAILS_ENV is used to determine the environment.
+# For Java applications, pass -Dnewrelic.environment to set
+# the environment.
+
+# NOTE if your application has other named environments, you should
+# provide newrelic configuration settings for these environments here.
+
+development:
+ <<: *default_settings
+ # Turn on communication to New Relic service in development mode
+ monitor_mode: true
+ app_name: Registry (Development)
+
+ # Rails Only - when running in Developer Mode, the New Relic Agent will
+ # present performance information on the last 100 transactions you have
+ # executed since starting the mongrel.
+ # NOTE: There is substantial overhead when running in developer mode.
+ # Do not use for production or load testing.
+ developer_mode: true
+
+test:
+ <<: *default_settings
+ # It almost never makes sense to turn on the agent when running
+ # unit, functional or integration tests or the like.
+ monitor_mode: false
+
+# Many applications have a staging environment which behaves
+# identically to production. Support for that environment is provided
+# here. By default, the staging environment has the agent turned on.
+alpha:
+ <<: *default_settings
+ monitor_mode: true
+ app_name: Registry (Alpha)
+
+# Many applications have a staging environment which behaves
+# identically to production. Support for that environment is provided
+# here. By default, the staging environment has the agent turned on.
+staging:
+ <<: *default_settings
+ monitor_mode: true
+ app_name: Registry (Staging)
+
+# Turn on the agent in production for 24x7 monitoring. NewRelic
+# testing shows an average performance impact of < 5 ms per
+# transaction, you can leave this on all the time without
+# incurring any user-visible performance degradation.
+production:
+ <<: *default_settings
+ monitor_mode: true
diff --git a/config/secrets-example.yml b/config/secrets-example.yml
index 9a2adfb5d..d5a826251 100644
--- a/config/secrets-example.yml
+++ b/config/secrets-example.yml
@@ -3,6 +3,12 @@ development:
test:
secret_key_base: generate-your-secret-key-by-rake-secret
-
+
+alpha:
+ secret_key_base: generate-your-secret-key-by-rake-secret
+
+staging:
+ secret_key_base: generate-your-secret-key-by-rake-secret
+
production:
- secret_key_base: please-change
+ secret_key_base: generate-your-secret-key-by-rake-secret
diff --git a/lib/tasks/test.rake b/lib/tasks/test.rake
index 85540ed36..f4133c46b 100644
--- a/lib/tasks/test.rake
+++ b/lib/tasks/test.rake
@@ -1,4 +1,4 @@
-if Rails.env.test? || Rails.env.development?
+begin
require 'rspec/core/rake_task'
require 'open3'
@@ -40,4 +40,6 @@ if Rails.env.test? || Rails.env.development?
`kill #{pid}`
end
end
+rescue LoadError
+ # rspec gem not loaded, probably we are in production machine
end