cookbook 'sogo', '~> 0.3.8'
sogo (8) Versions 0.3.8 Follow0
Installs and configures SOGo groupware server solution
cookbook 'sogo', '~> 0.3.8', :supermarket
knife supermarket install sogo
knife supermarket download sogo
sogo Cookbook
This cookbook installs and configures SOGo, an open source groupware server solution.
Requirements
Packages
-
sogo
- main package of the solution. -
sope4.9-gdl1-postgresql
- postgresql connector for SOPE's fork of the GNUstep database libraries.
Cookbooks
apache2
apt
database
postgreql
Platforms
For now just Debian or Ubuntu. Other Linux based distributions where SOGo works could be supported with some adaptations
Testing
Only manual testing has be done
Attributes
-
node['sogo']['db_host']
- server host for SOGo database -
node['sogo']['db_name']
- name of SOGo database -
node['sogo']['db_user']
- user to connect to SOGo database -
node['sogo']['db_password']
- password to connect to SOGo database -
node['sogo']['web_app_name']
- name to use when creating virtual host file for Apache -
node['sogo']['use_vhost']
- if true a new virtual host file will be created, if false a file within /etc/apache2/conf.d/ will be created and it's assumed that will work with the existing default virtual host of Apache -
node['sogo']['web_app_dns_name']
- DNS name to access to the SOGo installation, when using a virtual host -
node['sogo']['imap_server']
- address of IMAP server that SOGo will connect to -
node['sogo']['smtp_server']
- address of SMTP server that SOGo will connect to -
node['sogo']['specific_config_json']
- complementary configuration to get a working SOGo installation. It's specific for each deployment scenario and it's empty by default
Usage
sogo::default
To work with a PostgreSQL database for SOGo and the default recipe, some attributes must be set and then include the recipes. A simple example configuration authenticating via LDAP or via SQL will look like this:
node.default['sogo']['specific_config_json'] = <<-EOH
{
"SOGoLanguage": "Spanish",
"SOGoTimeZone": "America/Caracas",
"SOGoPageTitle": "My SOGo",
"SOGoEnableDomainBasedUID": true,
"domains": {
"myLdap": {
"SOGoMailDomain": "yourdomainhere.com",
"SOGoUserSources": [{
"id": "myldapId",
"type": "ldap",
"CNFieldName": "cn",
"UIDFieldName": "uid",
"IDFieldName": "mail",
"bindFields": ["uid", "mail"],
"baseDN": "dc=yourdomainhere,dc=com",
"bindDN": "cn=some_read_only_connection_user,dc=yourdomainhere,dc=com",
"bindPassword": "a_very_hard_password_that_is_unguessable",
"canAuthenticate": true,
"IMAPLoginFieldName": "mail",
"displayName": "Shared AddressBook",
"hostname": "ldap://your_ldap_server_host_here:your_ldap_server_port_here",
"isAddressBook": true
}]
},
"sqlDomains": {
"SOGoUserSources": [{
"id": "sqlDomainsId",
"type": "sql",
"viewURL": "postgresql://other_connection_user:other_connection_password@other_database_server:5432/other_database_name/other_table_or_view",
"canAuthenticate": true,
"isAddressBook": true,
"displayName": "Another Shared AddressBook",
"userPasswordAlgorithm": "SHA"
}]
}
}
}
EOH
node.default['sogo']['web_app_dns_name'] = 'your_real_sogo_domain_here.com'
node.default['sogo']['use_vhost'] = true
# order is important: default recipe is needed before pgdb to configure APT repository for SOGo
include_recipe "sogo::default"
include_recipe "sogo::pgdb"
Note that the value of node.default['sogo']['specific_config_json']
will be merged with the hardcoded values of templates/default/sogo_base_config.json.erb
. In that merging the specific values have higher precedence, so for example, to use another SMTP server just include this value to node.default['sogo']['specific_config_json']
:
node.default['sogo']['specific_config_json'] = <<-EOH { ..., ..., "SOGoSMTPServer": "other_smtp.yourdomainhere.com", ..., ... }
Contributing
Use it, fork it and every improvement, comment and correction will be welcomed.
License and Authors
Author:: Rodolfo Castellanos: rodolfojcj at yahoo.com
Copyright:: 2014, OpenSinergia
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.
Dependent cookbooks
apt >= 0.0.0 |
apache2 >= 0.0.0 |
database >= 0.0.0 |
postgres >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
sogo CHANGELOG
0.3.8
- Adjustment to work fine with Apache 2.4 or lower versions
0.3.7
- Little fix in hardcode value for FQDN in template comment
0.3.6
- Explicitly declared apache2 service to enable and restart it
0.3.5
- Notify apache service restarting after configuring virtual host
0.3.4
- Documentation is now clear in the order of inclusion of recipes
0.3.3
- Single strings elements generated for sogo.conf file are now surrounded by quotes
- Added newline character at the end of beginning comments in sogo.conf file
- Change in template files to avoid unnecessary file updates when Chef runs
0.3.2
- Added supported platforms in metadata.rb file
0.3.1
- Minor changes
- Removed the dependency with a custom Chef cookbook used to force the updating of APT packages data; instead the inclusion of the
apt
recipe is now placed after the configuration of the SOGo APT repository so such updating is done later
0.3.0
- Added the option to set SSL parameters on Apache virtual host configuration
0.2.2
- Change and fix in the generation of the /etc/sogo/sogo.conf file
- Forced the updating of APT files
0.1.1
- Fix in the inclusion of the deep_merge gem with a hack (the previous approach with chef_gem actually did not work)
0.1.0
- Working version
0.1.0
- First attempt
Collaborator Number Metric
0.3.8 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
0.3.8 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.3.8 failed this metric
FC007: Ensure recipe dependencies are reflected in cookbook metadata: sogo/recipes/pgdb.rb:24
FC007: Ensure recipe dependencies are reflected in cookbook metadata: sogo/recipes/pgdb.rb:25
FC064: Ensure issues_url is set in metadata: sogo/metadata.rb:1
FC065: Ensure source_url is set in metadata: sogo/metadata.rb:1
FC066: Ensure chef_version is set in metadata: sogo/metadata.rb:1
FC069: Ensure standardized license defined in metadata: sogo/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.3.8 passed this metric
Testing File Metric
0.3.8 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.3.8 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.3.8 failed this metric
0.3.8 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.3.8 failed this metric
FC007: Ensure recipe dependencies are reflected in cookbook metadata: sogo/recipes/pgdb.rb:24
FC007: Ensure recipe dependencies are reflected in cookbook metadata: sogo/recipes/pgdb.rb:25
FC064: Ensure issues_url is set in metadata: sogo/metadata.rb:1
FC065: Ensure source_url is set in metadata: sogo/metadata.rb:1
FC066: Ensure chef_version is set in metadata: sogo/metadata.rb:1
FC069: Ensure standardized license defined in metadata: sogo/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.3.8 passed this metric
Testing File Metric
0.3.8 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.3.8 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.3.8 failed this metric
FC007: Ensure recipe dependencies are reflected in cookbook metadata: sogo/recipes/pgdb.rb:25
FC064: Ensure issues_url is set in metadata: sogo/metadata.rb:1
FC065: Ensure source_url is set in metadata: sogo/metadata.rb:1
FC066: Ensure chef_version is set in metadata: sogo/metadata.rb:1
FC069: Ensure standardized license defined in metadata: sogo/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
0.3.8 passed this metric
Testing File Metric
0.3.8 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.3.8 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.3.8 failed this metric
0.3.8 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number