This collection of Ansible roles is the companion piece to my blog, Stupid SmartOS Tricks.
Clone this repository and optionally run ansible-bootstrap.sh
to have it bootstrap Ansible within your local environment (assuming SmartOS):
# pkgin -y install git
# git clone https://github.com/brianewell/ansible-smartos-tricks
# cd ansible-smartos-tricks
# ./ansible-bootstrap.sh
The common role performs the configuration and decrufting steps for a base SmartOS zone that I use in all other roles. It is inherited into those other roles by default, but is also available for direct use.
- ansible_python_intrepreter: String that can override the SmartOS default of
/opt/local/bin/python
- home_dataset: Boolean that determines if a home dataset should be configured if delegated_dataset is configured in the zone manifest.
- inputrc.config: Dictionary that can be merged with existing inputrc configuration parameters
- inputrc.bindings: Dictionary that can be merged with existing inputrc key-bindings
- sshd.key_types: List that can override the default of dsa, ecdsa, ed25519 and rsa
- sshd.config: Dictionary of sshd configuration parameters can be merged with default sshd configuration parameters
- sshd.match: Dictionary of sshd match strings (as keys) and dictionaries (as values) of configuration parameters to use in sshd configuration.
The ansible role installs and configures a base SmartOS zone to act as an Ansible host to run this, and any other playbooks, templates and modules.
- ansible.config.{section name}: Dictionary that can be merged with existing ansible configuration parameters
The mysql role installs and configures MySQL on a base SmartOS zone
- mysql.server: Specify a specific fork of the MySQL server (default: mariadb, options: mariadb | mysql | percona )
- mysql.recordsize: Specify the recordsize of the underlying ZFS filesystem that the database is installed on (default: 16k)
The neo4j role installs and configures Neo4j on a base SmartOS zone
- neo4j.user: Specify the name of the user
- neo4j.group: Specify the name of the group
- neo4j.project: Specify the name of the project
- neo4j.path: Specify the path in which to install the database software
- neo4j.conf_path: Specify the path in which to store configuration data
- neo4j.data_path: Specify the path in which to install the database cluster
- neo4j.recordsize: Specify the recordsize of the underlying ZFS filesystem that the database is installed on (default: 16k)
- neo4j.version: Specify the version of Neo4j to install into the system (default: latest)
The postgresql role installs and configures PostgreSQL on a base SmartOS zone
- postgresql.server: Specify the version of PostgreSQL to install
- postgresql.locale: Specify the default locale
- postgresql.max_connections: Specify the maximum connection count
- postgresql.shared_buffers: Specify the shared buffer size
- postgresql.recordsize: Specify the ZFS filesystem recordsize