Installs a full Gitorious server software stack. Details to be filled in.
Currently known to work with Ubuntu and Debian systems.
In brief, these cookbooks are used to build a full running Gitorious stack:
- rvm https://github.com/fnichol/chef-rvm
- rvm_passenger https://github.com/fnichol/chef-rvm_passenger
- webapp https://github.com/fnichol/chef-webapp
- nginx https://github.com/fnichol/chef-cookbooks
- mysql https://github.com/fnichol/chef-cookbooks
- imagemagick https://github.com/opscode/cookbooks
- stompserver https://github.com/fnichol/chef-cookbooks
The Git URL to the Gitorious codebase. This can be swapped out for an alternate or forked version. The default points to the Gitorious mainline, git://gitorious.org/gitorious/mainline.git.
A Git SHA hash, tag, or branch reference on the node[:gitorious][:git][:url]
Git repository. Use this to lock down a specific revision (for reliable
rebuilds over time), or to use an alternate branch. The default is master
.
Note: The Gitorious codebase is synced from the Git URL, meaning that running Chef again after some time could update the Rails application. If this is not your desired behavior be sure to set this attribute to a Git tag or SHA hash to lock in your version.
The HTTP web server front end to handle Gitorious traffic. Valid values are
nginx
and apache2
. The default is nginx
.
Note: Currently on nginx has full support. Apache2 work is ongoing.
The SSL private key to be used by the HTTP web server. This file is expected
to exist in the operating system's default location (i.e. /etc/ssl/private
under Debian flavors). The default is ssl-cert-snakeoil.key
and should be
replaced when running in production (nobody wants to accept a self-signed
certificate in the wild).
The SSL public key to be used by the HTTP web server. This file is expected
to exist in the operating system's default location (i.e. /etc/ssl/certs
under Debian flavors). The default is ssl-cert-snakeoil.pem
and should be
replaced when running in production.
The unix account that will run the Gitorious web application. This will also
be the SSH account in the Git URL. The default is git
.
The base path containing the Gitorious web application. The default is
/srv/gitorious
.
Note: the rails application actually is installed in
#{node[:gitorious][:app_base_dir]}/current
, corresponding to the capistrano
conventions.
The base path containing the Git repositories managed by Gitorious. The
default is /var/git
.
The Rails environment mode under which Gitorious will operate. There shouldn't
be a need to override this value except for development or other
experimentation. The default is production
.
Note: this value gets used when running the Rails application and when calling all rake tasks.
All gems for the Gitorious Rails application will be installed in this RVM
gemset. The default is gitorious
.
Note: using bundler with --deployment
proved less than successful so
we can use RVM to isolate gems instead in the meantime.
The host that runs the MySQL server. The default is localhost
which is currently
the only well-supported value. Work needs to be done to optionally handle a
database operating on another server instance.
The MySQL database name, which will be created. The default is gitorious
.
The MySQL database user for Gitorious, which will be created. The default is
gitor
which seems odd except MySQL usernames cannot exceed 8 characters.
The MySQL user's password. The default is gitorious
.
Note: This attribute should be set to ensure good application security.
The virtual host name resolving to the Gitorious Rails application. This value
gets used in cookie names, web server configuration and other places. The
default is gitorious.local
and should be customized for Gitorious to operate
properly.
Note: as described in the Gitorious wiki,
a value of git
should be avoided as it is reserved. Too bad, since that's
usually a great first choice.
Email address to the support for the Gitorious server. The default is
support@gitorious.org
and should be customized.
List of email addresses to send server errors to seperated by whitespace. The default is an empty string.
Determines if Gitorious operates in a public mode (true
) or in private
mode (false
). The default is true
(public mode).
Determines whether or not only site admins can create new projects. The
default is false
.
The email address given to the admin
which is used to initially log in.
A default admin user will be created to manage the Gitorious instance. The
default is admin@gitorious.local
and this should be customized for any
emails to be properly delivered.
An initial password for the admin
user which is used to initially log in.
The default is admin
.
Note: This attribute should be set or immediately updated to ensure good application security.
Sets the locale for Gitorious. Known values are en
, es
, fr
, and
pt-BR
. The default is en
.
Determines whether or not HTTP clone URLs are hidden from the interface.
The default is false
.
The Git URL to the action_mailer_optional_tls rails plugin which is used to support SMTP/TLS mail deliveries. The default is git://github.com/collectiveidea/action_mailer_optional_tls.git.
Configures the delivery method for the Rails ActionMailer. For more details
regarding ActionMailer tuning, see the Rails Guides.
The default is smtp
.
Determines whether or not to require TLS when negotiating with the SMTP
server. The default is false
.
The SMTP server that will deliver mail from Gitorious. The default is
smtp.example.com
which must be customized to ensure proper operation
of Gitorious.
The port that the SMTP server listens to. The default will attempt to connect on port 25.
Note: If SSL/TLS is used, then you will want to customize the port. For example, Google's Gmail SMTP servers listen on port 587.
Allows the action_mailer_optional_tls rails plugin to set a domain which is primarily used when talking to Google's Gmail servers. Please see the plugin's project page for more details. The default is an empty string.
The authentication method to use when connecting to the SMTP server. The
default is plain
. To disable this attribute, set it to an empty string.
The username to use when authenticating to the SMTP server. This will only be used if set. The default is unset (an empty string).
The password to use when authenticating to the SMTP server. This will only be used if set. The default is unset (an empty string).
- Gitorious code mainline
- Gitorious Ubuntu installation wiki
- Christian Johansen's Ubuntu installation
- action_mailer_optional_tls plugin
- Rubygems 1.6 issue
- Rubygems 1.6 thread deprecation
- RVM project
Author:: Fletcher Nichol (fnichol@nichol.ca)
Contributors:: Rodrigo Rosenfeld Rosas (rr_rosas@yahoo.com.br)
Copyright:: 2010, 2011, Fletcher Nichol
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.