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
- Phusion Passenger
- Puppet (for our production deployment)
- A variety of Ruby gems
Local Clients / Development
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
~/.whimsyfile, notably including an
svnpointer to where various local repo checkouts live as well as
sendmailconfig (if used). See also
LDAP configuration will be stored in
/etc/(ldap|openldap)/ldap.confand will point to the production ASF LDAP servers along with associated certificate. See also
Web server configuration - much of Whimsy runs within an Apache httpd instance, so see the usual
/etc/apache2/httpd.confalong with associated Rack and/or Phusion configurations.
Log files and debugging are typically found in
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
Production Server Configuration
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/