Envoy Proxy it's a powerful edge and service proxy developed for Cloud Native applications. It's a gratuated project in the CNCF and has native integrations with Jagger for observability, Prometheus for metrics and insights and others.
This role goal is to help users to deploy and configure the basic of the Envoy Proxy, to a VM and baremetal as alternative for the conventional Proxies, Load Balancers tools.
Envoy Proxy configurations will NOT be covered here as they have a extra level of complexity that will require a Ansible Collections / Module.
- This role is developed and tested with maintained versions of Ansible. Backwards compatibility is not guaranteed.
- Instructions on how to install Ansible can be found in the Ansible website.
- Molecule
3.x
is used to test the various functionalities of the role. - Instructions on how to install Molecule can be found in the Molecule website.
Use ansible-galaxy install hugoprudente.envoyproxy
to install the latest stable release of the role on your system.
Use git clone https://github.com/hugoprudente/ansible-role-envoyproxy.git hugoprudente.envoyproxy
inside your roles/
directory to pull the latest edge commit of the role from GitHub.
Envoy Proxy role supports
The Envoy Proxy role is working towards support all platforms supported by Envoy Proxy.
At the moment I have tested it for:
CentOS:
- 8
Ubuntu:
- focal (20.04)
Debian:
- duster (10)
This role has multiple variables. The descriptions and defaults for all these variables can be found in the defaults/main/
folder in the following files:
Name | Description |
---|---|
main.yml |
Envoy Proxy installation variables |
systemd.yml |
Systemd installation variables |
logrotate.yml |
Logrotate installation variables |
cluster.yml |
Cluster installation variables |
Similarly, descriptions and defaults for preset variables can be found in the vars/
folder in the following files:
Name | Description |
---|---|
main.yml |
List of supported Envoy Proxy platforms and modules |
Working functional playbook examples can be found in the molecule/
folder in the following files:
Name | Description |
---|---|
default/converge.yml |
Install a default version of Envoy Proxy |
container/converge.yml |
Install a containerised version of Envoy Proxy |
source/converge.yml |
Install Envoy Proxy building from the source |
cluster/converge.yml |
Install clustered version of Envoy Proxy (Primary/Primary) and (Active/Backup) |
custom/converge.yml |
Install a specific of Envoy Proxy add log rotate and systemd custom |