Features
This Ansible role will install, configure, and operate Snowflake standalone proxy.
- Support for Ubuntu, Debian, Arch Linux, Fedora and FreeBSD.
- Systemd unit to manage Snowflake service on GNU/Linux and rc script for FreeBSD.
Requirements
- Python
- Ansible 2.9 or higher
1. Install Ansible
You can install Ansible using pip:
$ python -m pip install --user ansible
Or find other ways to install Ansible.
2. Download the Ansible role
The Ansible role is called nvjacobo.snowflake.
You can find it in Galaxy repository and install using the command line:
$ ansible-galaxy install nvjacobo.snowflake
3. Create a playbook
Next, create an Ansible playbook to run the new role:
- hosts: snowflake
roles:
- nvjacobo.snowflake
4. Create an inventory
An inventory is a list of servers that Ansible will automatically manage through the playbook.
[snowflake]
ip-address
5. Deploy
Finally, by running the playbook, Ansible will deploy the Snowflake standalone proxy.
You can run it as root:
$ ansible-playbook -i inventory site.yml -u root
Or with sudo:
$ ansible-playbook -i inventory site.yml -u username -b
6. Manage Snowflake proxy
If the Snowflake proxy host is running systemd, you can manage your Snowflake proxy by using systemd commands: start, status, and stop.
For example:
$ ansible all -i inventory -a 'systemctl status snowflake-proxy'
For FreeBSD, you can manage your Snowflake proxy by using these rc script commands.
For example:
$ ansible all -i inventory -a 'service snowflake status'
7. Upgrading your Snowflake proxy
It's important to keep your Snowflake standalone proxy up to date.
Running the Ansible playbook will install the updates:
$ ansible-playbook -i inventory site.yml -u root
8. (Optional) Limiting usage
You can limit the number of clients (Snowflake users) by using the variable client.
The maximum concurrent clients by default is unlimited (0 = non limit).
The playbook below has a limit of 300 concurrent clients:
- hosts: snowflake
vars:
clients: 300
roles:
- nvjacobo.snowflake
Note: This Ansible role variable isn't available for FreeBSD.