115 lines
3.0 KiB
Markdown
115 lines
3.0 KiB
Markdown
# aegir
|
|
|
|
## Module Description
|
|
|
|
This module is intended to install aegir simply.
|
|
|
|
## License
|
|
|
|
Copyright (C) 2017 Kienan Stewart
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
## Requirements
|
|
|
|
Modules from forge.puppet.com:
|
|
|
|
* puppetlabs-stdlib (tested with 4.25.1)
|
|
* puppetlabs-apt (tested with 2.4.0)
|
|
|
|
Operating systems: Debian derivatives.
|
|
|
|
Puppet: 4.x
|
|
|
|
## Setup
|
|
|
|
Nothing special.
|
|
|
|
## Limitations
|
|
|
|
* Depends on the the aegir${version} package to correctly install dependencies
|
|
|
|
## Example Usage
|
|
|
|
### Install a hostmaster
|
|
|
|
```puppet
|
|
# Using puppetlabs/mysql (5.4.0) as example
|
|
class { '::mysql::server':
|
|
package_name => 'default-mysql-server',
|
|
service_name => 'mysqld',
|
|
users => {
|
|
'aegirroot@localhost' => {
|
|
'password_hash' => mysql_password('examplepassword'),
|
|
},
|
|
},
|
|
grants => {
|
|
'aegirroot@localhost/*.*' => {
|
|
'user' => 'aegirroot@localhost',
|
|
'table' => '*.*',
|
|
'privileges' => ['ALL'],
|
|
'options' => ['GRANT'],
|
|
},
|
|
},
|
|
}
|
|
|
|
# Assumes mysql or mariadb is installed
|
|
# and that there is a user aegir_root
|
|
# with all grants etc permissions on *.*
|
|
class { 'aegir::hostmaster':
|
|
database => {
|
|
host => 'localhost',
|
|
user => 'aegirroot',
|
|
password => 'examplepassword'
|
|
}
|
|
}
|
|
|
|
Class['::mysql::server']
|
|
->Class['::aegir::hostmaster']
|
|
```
|
|
|
|
## Reference
|
|
|
|
### Classes
|
|
|
|
#### Public Classes
|
|
|
|
* aegir::hostmaster
|
|
* aegir::source
|
|
|
|
### Class: aegir::hostmaster
|
|
|
|
Debian package based hostmaster installation.
|
|
|
|
Parameters:
|
|
|
|
* database: A hash containing user, host, and password. Required.
|
|
* frontend_url: The url for the hostmaster drupal installation. Optional, defaults to the fully qualified domain name.
|
|
* version: The major aegir version to install. Optional, default: 3
|
|
* server: Which webserver to use. Optional, default: apache. Supports: apache2, nginx
|
|
* manage_sources: Add source for Aegir packages. Default: true
|
|
* release: Which release to use from the package source. Optional, default: stable.
|
|
* makefile: If a custom makefile should be used, specify it here. Optional, default: ''
|
|
* email: The email to set for the admin user in the hostmaster installation. Optional, default: '' (aegir will pick the user@fqdn).
|
|
* working_copy: Keep the hostmaster platform git directories? Optional, default: false.
|
|
* drush_version: Which version of drush to install with provision. Optional, default '' (stable).
|
|
|
|
### Class: aegir::source
|
|
|
|
Adds the debian apt source
|
|
|
|
Parameters:
|
|
|
|
* release: Which release of aegir to use. Default: stable
|