{"id":22964679,"url":"https://github.com/39services/ansible_role_wireguard","last_synced_at":"2025-04-02T04:21:59.534Z","repository":{"id":162570524,"uuid":"615485257","full_name":"39services/ansible_role_wireguard","owner":"39services","description":"Ansible role to set up a Wireguard network with peers","archived":false,"fork":false,"pushed_at":"2024-06-07T11:28:44.000Z","size":73,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T18:04:44.941Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/39services.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-17T20:06:44.000Z","updated_at":"2024-12-03T13:08:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"678cb9b6-a025-4ecb-a23f-ce5d2b07e508","html_url":"https://github.com/39services/ansible_role_wireguard","commit_stats":null,"previous_names":["x86-39/ansible_role_wireguard","39services/ansible_role_wireguard"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/39services%2Fansible_role_wireguard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/39services%2Fansible_role_wireguard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/39services%2Fansible_role_wireguard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/39services%2Fansible_role_wireguard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/39services","download_url":"https://codeload.github.com/39services/ansible_role_wireguard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246753355,"owners_count":20828134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-14T20:11:54.585Z","updated_at":"2025-04-02T04:21:59.511Z","avatar_url":"https://github.com/39services.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"Ansible Role Wireguard\n=========\n\n[![Molecule Test](https://github.com/diademiemi/ansible_role_wireguard/actions/workflows/molecule.yml/badge.svg)](https://github.com/diademiemi/ansible_role_wireguard/actions/workflows/molecule.yml)\n\nAnsible role to install and configure a Wireguard network. It can generate keys or use existing ones to connect to externally configured peers.  \n\nIt will automatically use all hosts in the play as peers connecting to the given master node (`wireguard_master_inventory_hostname`). An additional list of peers can be added to the Wireguard interface with the `wireguard_additional_peers` variable.  \n\nYou can use this just to connect to an existing host by omitting the `wireguard_master_inventory_hostname` variable and just using the `wireguard_additional_peers` variable.  \n\n\nRequirements\n------------\nThese platforms are supported:\n- Ubuntu 20.04\n- Ubuntu 22.04\n- Debian 11\n- Debian 12\n- EL 8 (Tested on Rocky Linux 8)\n- EL 9 (Tested on Rocky Linux 9)\n- Fedora 40\n- openSUSE Leap 15.5\n\nNetworking requirements:  \n- Port 51820/UDP (or `wireguard_port`) must be accessible on the master host.  \n\nRole Variables\n--------------\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `wireguard_master_inventory_hostname` | `\"\"` | The inventory hostname of the master node. |\n| `wireguard_master_ip` | IP of master | The IP address of the master node. |\n| `wireguard_port` | `51820` | The port to use for Wireguard. |\n| `wireguard_interface_name` | `\"wg0\"` | The name of the Wireguard interface. |\n| `wireguard_private_key` | `\"\"` | The private key to use for the Wireguard interface. Will be generated if not set. |\n| `wireguard_public_key` | `\"\"` | The public key to use for the Wireguard interface. Will be inferred from private key. |\n| `wireguard_ip` | `\"192.168.150.1/24\"` | The IP address to use for the Wireguard interface. |\n| `wireguard_iptables_forward` | `true` | Whether to enable iptables forwarding. |\n| `wireguard_physical_interface` | `\"\"` | The physical interface to forward to |\n| `wireguard_additional_peers` | `[]` | A list of additional peers to add to the Wireguard interface. |\n\nDependencies\n------------\n\u003c!-- List dependencies on other roles or criteria --\u003e\nNone\n\nExample Playbook\n----------------\n\n```yaml\n- name: Use diademiemi.wireguard role\n  hosts: \"{{ target | default('wireguard') }}\"\n  roles:\n    - role: \"diademiemi.wireguard\"\n      tags: ['diademiemi', 'wireguard', 'setup']\n```\n\nLicense\n-------\n\nMIT\n\nAuthor Information\n------------------\n\n- diademiemi (@diademiemi)\n\nRole Testing\n------------\n\nThis repository comes with Molecule that run in Podman on the supported platforms.\nInstall Molecule by running\n\n```bash\npip3 install -r requirements.txt\n```\n\nRun the tests with\n\n```bash\nmolecule test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F39services%2Fansible_role_wireguard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F39services%2Fansible_role_wireguard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F39services%2Fansible_role_wireguard/lists"}