Commit Graph

140 Commits (master)

Author SHA1 Message Date
Jack Ivanov a4a9d6d7c8
Fix Vultr collection (#14707) 2 months ago
Alex Oswald a6ad0adc94
update digitalocean docs on droplets (#14659)
Make note of smaller/cheaper droplets for DigitalOcean and document it.
5 months ago
Jack Ivanov 75cfeab24a
Ubuntu 22.04 support (#14579)
* add 22.04 support

* actions trigger

* lighsail to 22.04 and remove 20.04

* test scripted deploy

* ansible lint is advisory. moving to terraform
12 months ago
Peter Gardfjäll 9ef093976b
Make Azure OS disk type configurable and default to a cheaper type (#14533)
* add azure option for osDiskType

* azure: change default image to minimal ubuntu
2 years ago
WinterPhoenix 8b05cda01d
Fix OS Name for Vultr (#14458) 2 years ago
Glenn Schlereth 1bf8a40d51
Change config.cfg comment regarding ec2 spot option (#14345)
Reference the documentation to know the proper IAM permissions
2 years ago
Glenn Schlereth 7f87f51a03
Implemented architecture choice 'arm' or amd 'x86_64' for EC2 cloud (#14289)
New `arch` config.cfg parameter is used along with the image name
parameter to find the most recent OS image to be used in hosted ec2
instance. This allows the user to choose arm based instance types
which was causing algo failure during cloud formation.
2 years ago
Dan Hipschman d06869e1eb
Make it easier to use NextDNS or other private DNS server (#14288) 3 years ago
dependabot[bot] 4e739b518f
Bump ansible from 2.9.20 to 4.4.0 (#14272)
* Bump ansible from 2.9.20 to 4.4.0

Bumps [ansible](https://github.com/ansible/ansible) from 2.9.20 to 4.4.0.
- [Release notes](https://github.com/ansible/ansible/releases)
- [Commits](https://github.com/ansible/ansible/commits)

---
updated-dependencies:
- dependency-name: ansible
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* ansible core

* aadd vagrant and fix jinja

* bool variable fix

* ec2 task deprecation

* bool fix

* azure requirements fix

* cloudscale fix

* scaleway fix

* openstack fixes

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jack Ivanov <e601809@gmail.com>
Co-authored-by: Jack Ivanov <17044561+jackivanov@users.noreply.github.com>
3 years ago
Glenn Schlereth 4464be8259
Added support for EC2 Spot instances (#14248)
If new instance_market_type config.cfg variable specifies 'spot' instead of 'on-demand' then
the stack.yml creates a LaunchTemplate resource using spot option. The create EC2 Instance command
uses that LaunchTemplate.
3 years ago
formula97 665af5a7f4
Update Google Compute Environment machine type (#14251)
Google advised that the f1-micro tier will no longer be free after 31AUG21 and suggested e2-micro will be the new free tier.
3 years ago
Tom Hummel 70f9f91112
Fix typo (#14145) 3 years ago
Jack Ivanov 8c560719a5
skip pre tasks in update-users (#1921) 3 years ago
Jack Ivanov ebec20ed36
Multiple Azure fixes (#1908)
* Multiple Azure fixes

* back to azure daily
4 years ago
David Myers b5bb64d07a
Allow more users (#1895) 4 years ago
David Myers 2821f28866
Move Lightsail to Ubuntu 20.04 (#1873) 4 years ago
Squirrel 060b401880
add linode as one of cloud providers (#1590)
* add linode as one of cloud providers

* add Linode into cloud provider list

* fix code style

* install requirements of ansible linode module

* Update prompts.yml

- Make the regions list more readable
- Assign us-east as the default region

* remove prompt of asking root password

* roles/common: Add sshd tasks

* cloud-linode/tasks: Fix LINODE_API_TOKEN env lookup

* docs: Add Linode to Ansible deploy docs

* docs: Add cloud-linode

* config: Use Ubuntu 20.04 on Linode

* README: syntax

* Linode stackscript support

* Linode stackscript fix

* linting

Co-authored-by: Jack Ivanov <17044561+jackivanov@users.noreply.github.com>
Co-authored-by: William Woodruff <william@yossarian.net>
Co-authored-by: William Woodruff <william.woodruff@trailofbits.com>
Co-authored-by: Jack Ivanov <e601809@gmail.com>
4 years ago
David Myers e4753d2510
Make clients prefer IPv6 (#1822)
Change IPv6 addresses to non-ULA addresses such that they are favored over IPv4.
4 years ago
Jack Ivanov c14ff0d611
Ubuntu 20.04 support (#1782)
* ubuntu 20.04 support

* purge snapd for 20.04

* strongswan-starter fix
4 years ago
KilometerM 7695372e2b
Remove hosts-file.net/ad_servers.txt (#1791)
hosts-file.net/ad_servers.txt now leads to a 404 page. The list is no longer published nor maintained.

More information:

https://forums.malwarebytes.com/topic/257401-inquiry-regarding-automated-processing-of-hosts-files/
https://github.com/pi-hole/pi-hole/pull/3236#issue-396455876
https://github.com/uBlockOrigin/uBlock-issues/issues/971#issue-591298291
https://www.reddit.com/r/pihole/comments/fsg11e/hostsfilenet/
4 years ago
Dan Hughes 512b5660e1
Use user-defined hostname for SSH hostname (#1715)
* Use user-defined hostname for SSH hostname

* Update readme to use hostname in ssh commands
4 years ago
Jack Ivanov 2abbf22196
Alternative Ingress IP (#1605)
* Separate ingress IP draft

* task name fix

* placeholder
4 years ago
Jack Ivanov 0efa4eaf91 Ca certificate name constraints (#1675)
* X.509 Name Constraints

* nameConstraints to a random generated uuid

* Second level domain

* nameConstraints fixes

* critical in nameConstraints lost after last refactoring
4 years ago
Jack Ivanov 0e57da8237
Move to Ubuntu 19.10 (#1702)
* 19.04 is dead, long live 19.10

* Remove 19.04 from tests

* Update docs

* Set proper Azure name
4 years ago
Jack Ivanov d635c76b50
Change default SSH port and introduce cloud-init support (#1636)
* Change default SSH port

* Iptables to ansible_ssh_port

* Add Scaleway

* permissions and groups fixes

* update firewall docs

* SSH fixes

* add missing cloudinit to cloud-azure

* remove ansible_ssh_user from the tests

* congrats message fix
4 years ago
TC1977 45aa0065cd Documentation updates (#1607)
* update variable name to store_pki

* Document BetweenClients_DROP

* Update README.md

* Update faq.md

* VPN On Demand is for Apple IPSEC clients only

* How to update users from cloud-init

* How to monitor user activity

* Fix typo

* Update FAQ about WireGuard, fix typos

* Correct locations of install log and user configs

* Update-users from cloud-init

* Update features list

* More "IPsec" and "WireGuard" changes

* fixed broken link/absent link in FAQ

* Python version README fix for #1622

* road warrior instructions

* Update index.md

* Reorganize config.cfg

As per @davidemyers suggestions

* Further config changes

As per feedback, also better explanation of keys_clean_all

* Add road warrior instructions to FAQ

* Remove specific ports from RW instructions
4 years ago
Jack Ivanov dfd979eb68
Windows SSH key permissions workaround (#1584)
* Windows SSH key permissions workaround

* Ensure Ansible is not being run in a world writable directory

* linting
5 years ago
David Myers 5737317dae Allow WireGuard to listen on port 53 (#1594)
* Allow WireGuard to listen on port 53

* Use a variable for the port to avoid

* Add comment to config.cfg
5 years ago
Jack Ivanov 8bdd99c05d Refactor to support Ansible 2.8 (#1549)
* bump ansible to 2.8.3

* DigitalOcean: move to the latest modules

* Add Hetzner Cloud

* Scaleway and Lightsail fixes

* lint missing roles

* Update roles/cloud-hetzner/tasks/main.yml

Add api_token

Co-Authored-By: phaer <phaer@phaer.org>

* Update roles/cloud-hetzner/tasks/main.yml

Add api_token

Co-Authored-By: phaer <phaer@phaer.org>

* Try to run apt until succeeded

* Scaleway modules upgrade

* GCP: Refactoring, remove deprecated modules

* Doc updates (#1552)

* Update README.md

Adding links and mentions of Exoscale aka CloudStack and Hetzner Cloud.

* Update index.md

Add the Hetzner Cloud to the docs index

* Remove link to Win 10 IPsec instructions

* Delete client-windows.md

Unnecessary since the deprecation of IPsec for Win10.

* Update deploy-from-ansible.md

Added sections and required variables for CloudStack and Hetzner Cloud.

* Update deploy-from-ansible.md

Added sections for CloudStack and Hetzner, added req variables and examples, mentioned environment variables, and added links to the provider role section.

* Update deploy-from-ansible.md

Cosmetic changes to links, fix typo.

* Update GCE variables

* Update deploy-from-script-or-cloud-init-to-localhost.md

Fix a finer point, and make variables list more readable.

* update azure requirements

* Python3 draft

* set LANG=c to the p12 password generation task

* Update README

* Install cloud requirements to the existing venv

* FreeBSD fix

* env->.env fixes

* lightsail_region_facts fix

* yaml syntax fix

* Update README for Python 3 (#1564)

* Update README for Python 3

* Remove tabs and tweak instructions

* Remove cosmetic command indentation

* Update README.md

* Update README for Python 3 (#1565)

* DO fix for "found unpermitted parameters: id"

* Verify Python version

* Remove ubuntu 16.04 from readme

* Revert back DigitalOcean module

* Update deploy-from-script-or-cloud-init-to-localhost.md

* env to .env
5 years ago
Jack Ivanov 95eddccfb7
EC2: Enable EBS single step encryption by default (#1556)
* EC2: EBS single step encryption by default

* return back the encryption variable
5 years ago
Jack Ivanov fe7755e6a0
Allow to unblock smb and netbios in config.cfg (#1558) 5 years ago
Julien Bachmann 3dc08c94cf New cloud provider CloudStack (#1420)
* clean commits from branch cloud-cloudstack w/ proper committer email/name

* fixed ansible-lint errors

* corrected typo in prompted message

* standalone cloudstack zones module

* added missing environment variables

* remove `_cloudstack_zones` default variable

* Move to Ubuntu 19.04

* Update cloud-cloudstack.md

* Update cloud-cloudstack.md

Markdown doesn't render `<your account>`

* Update prompts.yml

* Update main.yml
5 years ago
Jack Ivanov 090a60d48d PKI to tmpfs (#1496)
* PKI to tmpfs

* Fixes
- diskutil to full path
- unmount and eject fixes

* Umount fix

* run diskutil info only on Darwin kernels

* fix shell tasks
5 years ago
Jack Ivanov 8602a697cc
dnscrypt-proxy as a dns adblocker (#1480)
* Move DNS adblocking to dnscrypt-proxy

* Update docs

* remove unneeded variable dnscrypt_proxy_version

* Update to the latest dnscrypt-proxy version

* install.sh fix

* spelling
5 years ago
im-batman 53755d57e3 Update config.cfg default Azure instance (#1474) 5 years ago
Jack Ivanov a2fdc509e1
Support for Ubuntu 19.04 (#1405)
* Ubuntu 19.04

* Azure to 19.04
5 years ago
Jack Ivanov 634c609626
Don't set CA facts if IPsec is disabled (#1446)
* Don't set CA facts if ipsec is disabled

* localhost update-users fix
5 years ago
Jack Ivanov a87b4c8a87
Update config.cfg 5 years ago
Elliot Murphy e3a6170ae6 AWS support for existing EIP (revised) (#1292)
* Support for associating to existing AWS Elastic IP

Signed-off-by: Elliot Murphy <statik@users.noreply.github.com>

* Backport ec2_eip_facts module for EIP support

This means that EIP support no longer requires Ansible 2.6
The local fact module has been named ec2_elasticip_facts
to avoid conflict with the ec2_eip_facts module whenever
the Ansible 2.6 upgrade takes place.

Signed-off-by: Elliot Murphy <statik@users.noreply.github.com>

* Update from review feedback.

Signed-off-by: Elliot Murphy <statik@users.noreply.github.com>

* Move to the native module. Add additional condition for existing Elastic IP
5 years ago
shapiro125 72c8e9e244 Add IPv6 support to DNS (#1425)
* Add ipv6

* Add ipv6

* add ipv6

* add ipv6

* Switching out ipv6 address with local_service_ipv6 variable from #1429

* Fixing variable error
5 years ago
Jack Ivanov 5904546a48
Randomly generated IP address for the local dns resolver (#1429)
* generate service IPs dynamically

* update cloud-init tests

* exclude ipsec and wireguard ranges from the random service ip

* Update docs

* @davidemyers: update wireguard docs for linux

* Move to netaddr filter

* AllowedIPs fix

* WireGuard IPs fix
5 years ago
TC1977 638a355196 Update config.cfg (#1436)
* Update config.cfg

Reflects fixes in #1434 and #1435.

* Update config.cfg
5 years ago
Jack Ivanov de88211fb9
Update config.cfg
Closes #1435
5 years ago
Jack Ivanov 515494e90e
Update config.cfg 5 years ago
TC1977 a1117ecf0a Update Adblock lists (#1394)
Uses the Unified hosts file from @StevenBlack available [here](https://github.com/StevenBlack/hosts). This encompasses the Ad Away, MVPS, and Malware Domain lists, deleting duplicates for us, and also adds a bunch more.
5 years ago
Jack Ivanov c4ea88000b Refactoring to support roles inclusion (#1365) 5 years ago
Jack Ivanov 273c7665d3 Refactoring (#1334)
<!--- Provide a general summary of your changes in the Title above -->

## Description
Renames the vpn role to strongswan, and split up the variables to support 2 separate VPNs. Closes #1330 and closes #1162
Configures Ansible to use python3 on the server side. Closes #1024 
Removes unneeded playbooks, reorganises a lot of variables
Reorganises the `config` folder. Closes #1330
<details><summary>Here is how the config directory looks like now</summary>
<p>

```
configs/X.X.X.X/
|-- ipsec
|   |-- apple
|   |   |-- desktop.mobileconfig
|   |   |-- laptop.mobileconfig
|   |   `-- phone.mobileconfig
|   |-- manual
|   |   |-- cacert.pem
|   |   |-- desktop.p12
|   |   |-- desktop.ssh.pem
|   |   |-- ipsec_desktop.conf
|   |   |-- ipsec_desktop.secrets
|   |   |-- ipsec_laptop.conf
|   |   |-- ipsec_laptop.secrets
|   |   |-- ipsec_phone.conf
|   |   |-- ipsec_phone.secrets
|   |   |-- laptop.p12
|   |   |-- laptop.ssh.pem
|   |   |-- phone.p12
|   |   `-- phone.ssh.pem
|   `-- windows
|       |-- desktop.ps1
|       |-- laptop.ps1
|       `-- phone.ps1
|-- ssh-tunnel
|   |-- desktop.pem
|   |-- desktop.pub
|   |-- laptop.pem
|   |-- laptop.pub
|   |-- phone.pem
|   |-- phone.pub
|   `-- ssh_config
`-- wireguard
    |-- desktop.conf
    |-- desktop.png
    |-- laptop.conf
    |-- laptop.png
    |-- phone.conf
    `-- phone.png
```

![finder](https://i.imgur.com/FtOmKO0.png)

</p>
</details>

## Motivation and Context
This refactoring is focused to aim to the 1.0 release

## How Has This Been Tested?
Deployed to several cloud providers with various options enabled and disabled

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [x] Refactoring

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [x] I have read the **CONTRIBUTING** document.
- [x] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [x] All new and existing tests passed.
5 years ago
Jack Ivanov 216cd09dcf
Disable wireguard PersistentKeepalive by default (#1338) 5 years ago
David Myers df3d547fb3 Document using WireGuard app on macOS (#1327)
* Document using WireGuard app on macOS

* Update README.md

* Make WireGuard the default for Apple devices

* clarify user list

* fix tests

* connect on demand
5 years ago
David Myers 5981bb9cad Replace 'max_mss' with 'reduce_mtu' (#1253) 5 years ago