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
~/.whimsyfile, notably including ansvnpointer to where various local repo checkouts live as well assendmailconfig (if used). See alsolib/whimsy/asf/config.rb -
LDAP configuration will be stored in
/etc/(ldap|openldap)/ldap.confand will point to the production ASF LDAP servers along with associated certificate. See alsolib/whimsy/asf/ldap.rbandASF::LDAP.configure. Settings can be overridden in the.whimsyconfig 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.confalong with associated Rack and/or Phusion configurations. -
Log files and debugging are typically found in
/var/log/apache2/whimsy_error.logand/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/