cisagov / ansible-role-guacamole

An Ansible role for installing cisagov/guacamole-composition
Creative Commons Zero v1.0 Universal
4 stars 3 forks source link
ansible-role

ansible-role-guacamole

GitHub Build Status CodeQL

An Ansible role for installing cisagov/guacamole-composition.

[!NOTE] We cannot currently test any ARM64 platforms under QEMU because QEMU cannot currently support iptables. This is because this role actually starts the Docker service before pre-downloading some Docker images, and starting the Docker service requires some interaction with iptables.

Requirements

None.

Role Variables

Variable Description Default Required
guacamole_composition_version The version of cisagov/guacamole-composition to use. 0.1.6 No
guacamole_postgres_username The username to use when connecting to the PostgreSQL database that backends Guacamole. n/a Yes
guacamole_postgres_password The password to use when connecting to the PostgreSQL database that backends Guacamole. n/a Yes
guacamole_private_ssh_key The private ssh key to use for SFTP file transfer in Guacamole. n/a Yes
guacamole_rdp_username The username for Guacamole to use when connecting to an instance via RDP. n/a Yes
guacamole_rdp_password The password for Guacamole to use when connecting to an instance via RDP. n/a Yes
guacamole_vnc_username The username for Guacamole to use when connecting to an instance via VNC. n/a Yes
guacamole_vnc_password The password for Guacamole to use when connecting to an instance via VNC. n/a Yes
guacamole_windows_sftp_base The base path for the SFTP directories that Guacamole will use when connecting to a Windows instance via VNC. n/a Yes

Dependencies

Installation

This role can be installed via the command:

ansible-galaxy install --role-file path/to/requirements.yml

where requirements.yml looks like:

---
- name: guacamole
  src: https://github.com/cisagov/ansible-role-guacamole

and may contain other roles as well.

For more information about installing Ansible roles via a YAML file, please see the ansible-galaxy documentation.

Example Playbook

Here's how to use it in a playbook:

- hosts: all
  become: true
  become_method: sudo
  tasks:
    - name: Install Guacamole
      ansible.builtin.include_role:
        name: guacamole
      vars:
        guacamole_postgres_username: postgres_user
        guacamole_postgres_password: postgres_password
        guacamole_private_ssh_key: dummy_key
        guacamole_rdp_username: rdp_user
        guacamole_rdp_password: rdp_password
        guacamole_vnc_username: vnc_user
        guacamole_vnc_password: vnc_password
        guacamole_windows_sftp_base: /C:/Users/vnc_user

Contributing

We welcome contributions! Please see CONTRIBUTING.md for details.

License

This project is in the worldwide public domain.

This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

Author Information

Kyle Evers - kyle.evers@gwe.cisa.dhs.gov