This repository contains a configuration template (i.e. an Ansible Role) to customize your environment in the European Weather Cloud (EWC). The template is designed to:
- Configure a pre-existing virtual machine running RockyLinux version 9 or 8, with a minimum
recommended 4GB of RAM, such that it:
- Enables users to operate the remote hosts through a graphical desktop (i.e. a MATE desktop environment), over a low or high bandwidth connection.
Copyright © EUMETSAT 2025.
The provided code and instructions are licensed under the MIT license. They are intended to automate the setup of an environment that includes third-party software components. The usage and distribution terms of the resulting environment are subject to the individual licenses of those third-party libraries.
Users are responsible for reviewing and complying with the licenses of all third-party components included in the environment.
Contact EUMETSAT for details on the usage and distribution terms.
The step-by-step described below assume your local file system follows the
example structure below, with ewc-ansible-role-remote-desktop being a clone of this
repository:
.
├── roles
│ └── ewc-ansible-role-remote-desktop
├── inventory.yml
└── playbook.yml
Create an inventory file to specify address/credentials that Ansible should use to reach the virtual machine you wish to configure:
# inventory.yml
---
ewcloud:
hosts:
remote_desktop:
ansible_python_interpreter: /usr/bin/python3
ansible_host: <add the IPV4 address of the target host>
ansible_ssh_private_key_file: <add the path to local SSH RSA private key file>
ansible_user: <add the username which owns the SSH RSA private key >Edit input values for the template variables as needed (see Inputs section for details). Then, proceed to create an Ansible Playbook file to load your customizations:
# playbook.yml
---
- name: Configure X2Go Server on RockyLinux
hosts: remote_desktop
become: true
become_user: root
become_method: ansible.builtin.sudo
roles:
- ewc-ansible-role-remote-desktopYou can apply changes on the target host by running:
ansible-playbook -i inventory.yml playbook.yml| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| fail2ban_whitelist_ip_ranges | IP ranges (in CIDR format) to be whitelisted in Fail2ban configuration. When in doubt, set as an empty string. Example: ['10.0.0.0/24'] |
list(string) |
null |
no |
💡 Upon execution, a SBOM (SPDX format) is auto-generated and stored in the VM's file system root directory (see
/sbom.json).
The following third-party components will be included in the resulting environment:
All notable changes (i.e. fixes, features and breaking changes) are documented in the CHANGELOG.md.
Thanks for taking the time to join our community and start contributing! Please make sure to:
- Familiarize yourself with our Code of Conduct before contributing.
- See CONTRIBUTING.md for instructions on how to request or submit changes.