As a collection of tools that directly access organizational data, there are a number of places that you will need to configure to have most of the code work as expected. Whimsy Ruby code can run either in a local environment or with a webserver.
- Compilers & Servers
- Ruby 2.x.x (Production version: 2.3.)
- Apache HTTP Web Server 2.x
- Rack
- Phusion Passenger
- Puppet (for our production deployment)
- A variety of Ruby gems
Whimsy can be run on a client or in a local container for development use.
-
App-wide default settings are stored in a local YAML formatted
~/.whimsy
file, notably including ansvn
pointer to where various local repo checkouts live as well assendmail
config (if used). See alsolib/whimsy/asf/config.rb
-
LDAP configuration will be stored in
/etc/(ldap|openldap)/ldap.conf
and will point to the production ASF LDAP servers along with associated certificate. See alsolib/whimsy/asf/ldap.rb
andASF::LDAP.configure
. Settings can be overridden in the.whimsy
config file. Note that HTTP authentication also uses LDAP. To avoid problems with TLS certificates, the servers should be the same as for app access. -
Web server configuration - much of Whimsy runs within an Apache httpd instance, so see the usual
/etc/apache2/httpd.conf
along with associated Rack and/or Phusion configurations. -
Log files and debugging are typically found in
/var/log/apache2/whimsy_error.log
and/var/log/apache2/error_log
-
Development setup instructions are in DEVELOPMENT.md and MACOS.md.
-
whimsy-asf Gem is a set of the core lib/whimsy/asf model as a normal Gem: asf.gemspec
-
Tool-specific configurations can be found in config/ directory
See DEPLOYMENT.md for full details. We use Puppet to provision the production VM with the basic dependencies as well as the Whimsy code. A number of configuration steps ensure the production instance has access to LDAP, SVN repositories (some read/write), local mail sending and receiving/subscriptions.
- Log files are LDAP secured to Members in: https://whimsy.apache.org/members/log/